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 | COL 2 - 7 CHC | CHC | 0.660 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | COL 3 - 7 CHC | CHC | - | 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.8000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.6600 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.319 | 6.749 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 6 | 0.6600 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 7 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 7 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 7 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.42375965665236054,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.008309012875536481,
"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": 9,
"pre_simulation_expected_total_runs": 9.8,
"low_score_model_expected_total_runs": 9.8,
"final_simulation_total_runs": 10,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 214,
"near_bucket_sample_size": 0,
"medium_bucket_sample_size": 0,
"wide_bucket_sample_size": 0,
"global_sample_size": 214,
"bucket_scope": "global_fallback",
"sparse_bucket": false,
"empirical_hit_rate": 0.5748,
"bayesian_hit_rate": 0.569,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.9224,
"confidence_cap": 0.78,
"raw_pick_probability": 0.8492,
"calibrated_pick_probability": 0.663,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "CHC",
"games": 72,
"wins": 37,
"losses": 35,
"win_pct": 0.5138888888888888,
"runs_scored": 329,
"runs_allowed": 320,
"run_differential": 9,
"run_differential_per_game": 0.125,
"available": true
},
"away": {
"team": "COL",
"games": 72,
"wins": 27,
"losses": 45,
"win_pct": 0.375,
"runs_scored": 329,
"runs_allowed": 419,
"run_differential": -90,
"run_differential_per_game": -1.25,
"available": true
},
"run_differential_edge_per_game": 1.375,
"win_pct_edge": 0.1389,
"quality_edge": 1.5833,
"margin_adjustment": 0.665,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.733,
"home_runs": 5.842,
"home_win_probability": 0.8492
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "CHC",
"guardrail_predicted_team": "CHC",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "CHC",
"output_opponent_team": "COL",
"final_score_winner": "CHC",
"pre_simulation_winner": "CHC",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 7,
"score_text": "COL 2 - 7 CHC",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 7,
"score_text": "COL 3 - 7 CHC",
"winner": "CHC"
},
"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": "CHC",
"games": 72,
"wins": 37,
"losses": 35,
"win_pct": 0.5138888888888888,
"runs_scored": 329,
"runs_allowed": 320,
"run_differential": 9,
"run_differential_per_game": 0.125,
"available": true
},
"away": {
"team": "COL",
"games": 72,
"wins": 27,
"losses": 45,
"win_pct": 0.375,
"runs_scored": 329,
"runs_allowed": 419,
"run_differential": -90,
"run_differential_per_game": -1.25,
"available": true
}
}
}{
"applied": false,
"raw_margin": 4.1085,
"final_margin": 4.1085,
"margin_cap": 4.25,
"season_quality_edge": 1.5833,
"reason": "raw target margin within supported range"
}{
"applied": true,
"raw_confidence": 0.662963,
"final_confidence": 0.66,
"confidence_cap": 0.66,
"score_gap": 4.1085,
"calibration_sample_size": 214,
"calibration_empirical_hit_rate": 0.5748,
"calibration_bayesian_hit_rate": 0.569,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.5833,
"reasons": [
"unvalidated probabilities are capped for production display",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"season run-differential edge supports the pick",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 7,
"score_text": "COL 2 - 7 CHC",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 7,
"score_text": "COL 3 - 7 CHC",
"winner": "CHC"
},
"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": 2,
"home_runs": 7,
"confidence": 0.66,
"home_win_probability": 0.66,
"away_win_probability": 0.33999999999999997,
"predicted_score_text": "COL 2 - 7 CHC",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "COL",
"original_runs": 2,
"run_delta": -0.2548,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": -0.08044504020284822,
"contact": -0.4185854943283629,
"power": -0.23447075551359423,
"discipline": -0.18384869431040432,
"xwoba": 0.29920588235294115,
"recent_xwoba": 0.29920588235294115,
"barrel": 7.826470588235295,
"ab_hard_contact": -0.4823338777788846,
"ab_bat_speed": 69.47942532920088,
"ab_strikeout_rate": 0.2503331530061633,
"available_players": 8,
"top_players": [
{
"player_id": "690924",
"player_name": "Braxton Fulford",
"position": "C",
"weight": 3.0,
"quality": -0.12139245109816589,
"contact": -2.0,
"power": -1.087250523900028,
"discipline": -0.9009285714285715,
"xwoba": 0.229,
"recent_xwoba": 0.229,
"barrel": 6.3,
"ab_hard_contact": -1.128248573238653,
"ab_bat_speed": 69.80833333333334,
"ab_strikeout_rate": 0.5,
"available": 1.0
},
{
"player_id": "650489",
"player_name": "Willi Castro",
"position": "2B",
"weight": 4.0,
"quality": -0.30973998697742383,
"contact": -0.40426737772350224,
"power": -0.44348923662015616,
"discipline": -0.3012044884939621,
"xwoba": 0.29,
"recent_xwoba": 0.29,
"barrel": 4.8,
"ab_hard_contact": -0.03473711335550539,
"ab_bat_speed": 70.78322285353535,
"ab_strikeout_rate": 0.28219696969696967,
"available": 1.0
},
{
"player_id": "664983",
"player_name": "Jake McCarthy",
"position": "LF",
"weight": 4.0,
"quality": -0.2621725104558314,
"contact": -0.36992681132739835,
"power": -0.5717076897959376,
"discipline": -0.17447180451127806,
"xwoba": 0.311,
"recent_xwoba": 0.311,
"barrel": 5.7,
"ab_hard_contact": -0.4802490340139878,
"ab_bat_speed": 67.49878521825397,
"ab_strikeout_rate": 0.18875,
"available": 1.0
},
{
"player_id": "696100",
"player_name": "Hunter Goodman",
"position": "DH",
"weight": 4.0,
"quality": 0.13269714101000102,
"contact": -0.15016627454168424,
"power": 0.9267555271317178,
"discipline": -0.8547218045112781,
"xwoba": 0.317,
"recent_xwoba": 0.317,
"barrel": 15.2,
"ab_hard_contact": -0.017651362127541925,
"ab_bat_speed": 74.20468333333334,
"ab_strikeout_rate": 0.34,
"available": 1.0
},
{
"player_id": "671289",
"player_name": "Tyler Freeman",
"position": "RF",
"weight": 4.0,
"quality": -0.012584748656588854,
"contact": 0.4671169618168594,
"power": -0.6749897915704296,
"discipline": 0.3302053663570692,
"xwoba": 0.332,
"recent_xwoba": 0.332,
"barrel": 1.6,
"ab_hard_contact": -0.0906529742657306,
"ab_bat_speed": 66.56162103174603,
"ab_strikeout_rate": 0.1142156862745098,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "684007",
"player_name": "Shota Imanaga",
"quality": 0.04460222089913294,
"contact": -0.17348756064142817,
"command": 0.5204285714285714,
"movement": -0.40574560789090586,
"xwoba": 0.302,
"whiff": 30.9,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "CHC",
"original_runs": 6,
"run_delta": 0.5835,
"adjusted_runs": 7,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.17418256310055732,
"contact": 0.16111394405996757,
"power": 0.17082729078565828,
"discipline": 0.2540718893980923,
"xwoba": 0.3274848484848485,
"recent_xwoba": 0.3274848484848485,
"barrel": 8.521212121212121,
"ab_hard_contact": 0.09884307401042153,
"ab_bat_speed": 69.12065151222265,
"ab_strikeout_rate": 0.21510673899106236,
"available_players": 9,
"top_players": [
{
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"weight": 4.0,
"quality": 0.6839544680413099,
"contact": 0.738529496843598,
"power": 1.041217593227447,
"discipline": -0.3488430166324903,
"xwoba": 0.356,
"recent_xwoba": 0.356,
"barrel": 11.5,
"ab_hard_contact": 0.47520900740606886,
"ab_bat_speed": 71.59198015873015,
"ab_strikeout_rate": 0.25212121212121213,
"available": 1.0
},
{
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"weight": 4.0,
"quality": 0.3965713768743762,
"contact": 0.019097887042505302,
"power": 1.03915345128412,
"discipline": 0.036641874293576904,
"xwoba": 0.338,
"recent_xwoba": 0.338,
"barrel": 15.2,
"ab_hard_contact": 0.5948785494919205,
"ab_bat_speed": 70.72080156136528,
"ab_strikeout_rate": 0.3169934640522876,
"available": 1.0
},
{
"player_id": "683737",
"player_name": "Michael Busch",
"position": "1B",
"weight": 4.0,
"quality": 0.4486102028897128,
"contact": 0.400323357786358,
"power": 0.5010959439120528,
"discipline": 0.7286221108326372,
"xwoba": 0.355,
"recent_xwoba": 0.355,
"barrel": 11.8,
"ab_hard_contact": 0.13506173538391228,
"ab_bat_speed": 65.7454809670782,
"ab_strikeout_rate": 0.22037037037037038,
"available": 1.0
},
{
"player_id": "621020",
"player_name": "Dansby Swanson",
"position": "SS",
"weight": 3.0,
"quality": -0.33237195487520915,
"contact": -0.6735114409519407,
"power": -0.3066519542306855,
"discipline": 0.1771014555619817,
"xwoba": 0.285,
"recent_xwoba": 0.285,
"barrel": 6.900000000000001,
"ab_hard_contact": 0.2677228201481893,
"ab_bat_speed": 69.60817612942613,
"ab_strikeout_rate": 0.21939102564102564,
"available": 1.0
},
{
"player_id": "673548",
"player_name": "Seiya Suzuki",
"position": "DH",
"weight": 4.0,
"quality": 0.17849136984798905,
"contact": 0.21126785854221633,
"power": 0.3879632514967975,
"discipline": -0.08302339181286553,
"xwoba": 0.333,
"recent_xwoba": 0.333,
"barrel": 9.5,
"ab_hard_contact": 0.09336026803118769,
"ab_bat_speed": 70.87737103174602,
"ab_strikeout_rate": 0.28015873015873016,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "547179",
"player_name": "Michael Lorenzen",
"quality": -0.8496778756802615,
"contact": -1.4241879530099995,
"command": -0.3942857142857144,
"movement": -0.5842872711197338,
"xwoba": 0.366,
"whiff": 20.8,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"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": 7,
"predicted_score_text": "COL 2 - 7 CHC",
"confidence": 0.66,
"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": 7,
"score_text": "COL 2 - 7 CHC",
"winner": "CHC"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 7,
"score_text": "COL 3 - 7 CHC",
"winner": "CHC"
},
"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 | 0.9966 | 0.9966 | 1 | 9 | 0 |
| Home CHC | True | 1.0254 | 1.0254 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | TJ Rumfield | 71 | 1.0137 | 0.1832 | neutral | 0.3320 | 0.2560 | 0.4060 | 6.60 | 34.70 | 85.10 | 14.40 | 19.10 | 14.80 | 10 | -0.7429 |
| DH | Hunter Goodman | 50 | 1.0264 | 0.3518 | negative_batter_regression | 0.3170 | 0.2240 | 0.4360 | 15.20 | 46.10 | 90.80 | 17.90 | 34.90 | 34.70 | 8.40 | -0.8857 |
| 2B | Willi Castro | 162 | 0.9768 | -0.3096 | neutral | 0.2900 | 0.2240 | 0.3440 | 4.80 | 42.20 | 88.20 | 18.20 | 29.10 | 25.10 | 8.80 | -0.8000 |
| RF | Tyler Freeman | 382 | 1.0065 | 0.0863 | neutral | 0.3320 | 0.2790 | 0.3740 | 1.60 | 33.60 | 87.30 | 9.90 | 11.20 | 11.50 | 4.80 | 0.0286 |
| CF | Cole Carrigg | 359 | 0.9636 | -0.4856 | negative_batter_regression | 0.2400 | 0.1620 | 0.3470 | 14.30 | 35.70 | 86.50 | 21.40 | 15.20 | 25 | 5 | -2 |
| LF | Jake McCarthy | 367 | 0.9922 | -0.1039 | neutral | 0.3110 | 0.2590 | 0.3950 | 5.70 | 24.60 | 84.80 | 14.50 | 22.70 | 19.70 | 6.20 | -0.7143 |
| SS | Ezequiel Tovar | 431 | 1.0100 | 0.1331 | positive_batter_regression | 0.2990 | 0.2360 | 0.4020 | 8.50 | 36.40 | 88 | 15.50 | 30.60 | 27.90 | 5.60 | 1.0571 |
| 3B | Kyle Karros | 161 | 1.0329 | 0.4388 | neutral | 0.3340 | 0.2550 | 0.3820 | 6.80 | 41.60 | 89.10 | 11.90 | 24.80 | 21.70 | 13 | 0.6857 |
| C | Braxton Fulford | 312 | 0.9475 | -0.7003 | negative_batter_regression | 0.2290 | 0.1600 | 0.2770 | 6.30 | 25 | 86.30 | 34.70 | 35.70 | 38.70 | 9.70 | -1.7714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Alex Bregman | 63 | 1.0084 | 0.1116 | neutral | 0.3150 | 0.2470 | 0.3760 | 5.20 | 38.40 | 88.20 | 15.50 | 17.80 | 16.60 | 10 | 0.1714 |
| CF | Pete Crow-Armstrong | 1 | 1.0770 | 1.0269 | neutral | 0.3560 | 0.2580 | 0.4830 | 11.50 | 49.50 | 91.40 | 19.60 | 28.30 | 25.30 | 8 | 0.1143 |
| DH | Seiya Suzuki | 47 | 1.0314 | 0.4193 | neutral | 0.3330 | 0.2530 | 0.4330 | 9.50 | 41.50 | 89.20 | 18.30 | 27 | 26.30 | 10.20 | -0.1429 |
| 1B | Michael Busch | 58 | 1.0553 | 0.7380 | neutral | 0.3550 | 0.2420 | 0.4280 | 11.80 | 43 | 88.70 | 15 | 26 | 22.70 | 15.20 | -0.0286 |
| LF | Ian Happ | 46 | 1.0469 | 0.6256 | neutral | 0.3380 | 0.2100 | 0.4540 | 15.20 | 46.80 | 90.40 | 16 | 31.80 | 31.80 | 13.90 | -0.5714 |
| 2B | Nico Hoerner | 115 | 1.0225 | 0.2997 | positive_batter_regression | 0.3320 | 0.2940 | 0.3750 | 1.20 | 28.20 | 85.80 | 12.30 | 10.80 | 6.60 | 9.50 | 1 |
| C | Moisés Ballesteros | 260 | 1.0147 | 0.1965 | neutral | 0.3120 | 0.2410 | 0.3910 | 9.40 | 45.80 | 89.80 | 10.90 | 27.40 | 20.20 | 9.50 | 0.1714 |
| RF | Matt Shaw | 226 | 0.9956 | -0.0582 | neutral | 0.3000 | 0.2510 | 0.3780 | 4.90 | 35.80 | 86.40 | 14.80 | 19.70 | 17.60 | 5.60 | -0.2000 |
| SS | Dansby Swanson | 105 | 0.9772 | -0.3043 | neutral | 0.2850 | 0.1910 | 0.3330 | 6.90 | 40.40 | 89.20 | 16.70 | 31.50 | 24.70 | 12.70 | 0.3714 |
{
"home": {
"applied": true,
"offense_factor": 1.0254,
"raw_average_factor": 1.0254,
"team_espn_average_rank": 102.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "608324",
"player_name": "Alex Bregman",
"offense_factor": 1.0084,
"quality_score": 0.1116,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608324",
"espn_id": 34886,
"player_name": "Alex Bregman",
"team": "CHC",
"role": "batter",
"espn_rank": 63,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 63,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 284.0,
"ab_rank": 6,
"r_value": 33.0,
"r_rank": 80,
"h_value": 71.0,
"h_rank": 34,
"avg_value": 0.25,
"avg_rank": 88.0,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 22.0,
"rbi_rank": 182,
"tb_value": 101.0,
"tb_rank": 727,
"bb_value": 32.0,
"bb_rank": 42,
"so_value": 53.0,
"so_rank": 111,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3343653,
"obp_rank": "80",
"slg_value": 0.3556338,
"slg_rank": "128",
"ops_value": 0.6899991,
"ops_rank": 208.0,
"war_value": 1.8,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 249.0,
"k_percent": 16.6,
"bb_percent": 10.0,
"woba": 0.309,
"xwoba": 0.315,
"xba": 0.247,
"xslg": 0.376,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 38.4,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 15.5,
"whiff_percent": 17.8,
"swing_percent": 40.9
},
"components": {
"expected_quality": 0.1018,
"regression_edge": 0.1714,
"xwoba_edge": 0.2857,
"xba_edge": 0.2571,
"xslg_edge": 0.0143,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.0286,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -0.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"offense_factor": 1.077,
"quality_score": 1.0269,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691718",
"espn_id": 4717833,
"player_name": "Pete Crow-Armstrong",
"team": "CHC",
"role": "batter",
"espn_rank": 1,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 1,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 270.0,
"ab_rank": 23,
"r_value": 42.0,
"r_rank": 34,
"h_value": 72.0,
"h_rank": 30,
"avg_value": 0.2666666,
"avg_rank": 56.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 12.0,
"hr_rank": 42,
"rbi_value": 33.0,
"rbi_rank": 77,
"tb_value": 125.0,
"tb_rank": 262,
"bb_value": 24.0,
"bb_rank": 89,
"so_value": 77.0,
"so_rank": 20,
"sb_value": 16.0,
"sb_rank": 9,
"obp_value": 0.3432343,
"obp_rank": "64",
"slg_value": 0.4629629,
"slg_rank": "46",
"ops_value": 0.8061972,
"ops_rank": 18.0,
"war_value": 4.02,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 25.3,
"bb_percent": 8.0,
"woba": 0.352,
"xwoba": 0.356,
"xba": 0.258,
"xslg": 0.483,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 49.5,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 19.6,
"whiff_percent": 28.3,
"swing_percent": 52.2
},
"components": {
"expected_quality": 1.1755,
"regression_edge": 0.1143,
"xwoba_edge": 1.4571,
"xba_edge": 0.5714,
"xslg_edge": 1.5429,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.5571,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "DH",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"offense_factor": 1.0314,
"quality_score": 0.4193,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673548",
"espn_id": 4142424,
"player_name": "Seiya Suzuki",
"team": "CHC",
"role": "batter",
"espn_rank": 47,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 47,
"gp_value": 57.0,
"gp_rank": 181,
"ab_value": 208.0,
"ab_rank": 137,
"r_value": 31.0,
"r_rank": 98,
"h_value": 53.0,
"h_rank": 118,
"avg_value": 0.2548076,
"avg_rank": 77.0,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 10.0,
"hr_rank": 60,
"rbi_value": 28.0,
"rbi_rank": 120,
"tb_value": 90.0,
"tb_rank": 880,
"bb_value": 24.0,
"bb_rank": 89,
"so_value": 62.0,
"so_rank": 68,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.338983,
"obp_rank": "71",
"slg_value": 0.4326923,
"slg_rank": "72",
"ops_value": 0.7716753,
"ops_rank": 1.0,
"war_value": 1.99,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 177.0,
"k_percent": 26.3,
"bb_percent": 10.2,
"woba": 0.338,
"xwoba": 0.333,
"xba": 0.253,
"xslg": 0.433,
"sweet_spot_percent": 37.4,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 18.3,
"whiff_percent": 27.0,
"swing_percent": 42.2
},
"components": {
"expected_quality": 0.6293,
"regression_edge": -0.1429,
"xwoba_edge": 0.8,
"xba_edge": 0.4286,
"xslg_edge": 0.8286,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.4143,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.6833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "683737",
"player_name": "Michael Busch",
"offense_factor": 1.0553,
"quality_score": 0.738,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683737",
"espn_id": 42415,
"player_name": "Michael Busch",
"team": "CHC",
"role": "batter",
"espn_rank": 58,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 58,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 257.0,
"ab_rank": 45,
"r_value": 31.0,
"r_rank": 98,
"h_value": 65.0,
"h_rank": 65,
"avg_value": 0.2529182,
"avg_rank": 82.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 42.0,
"rbi_rank": 24,
"tb_value": 106.0,
"tb_rank": 425,
"bb_value": 47.0,
"bb_rank": 7,
"so_value": 71.0,
"so_rank": 37,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3769968,
"obp_rank": "20",
"slg_value": 0.4124513,
"slg_rank": "87",
"ops_value": 0.7894481,
"ops_rank": 107.0,
"war_value": 1.86,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 243.0,
"k_percent": 22.7,
"bb_percent": 15.2,
"woba": 0.356,
"xwoba": 0.355,
"xba": 0.242,
"xslg": 0.428,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 15.0,
"whiff_percent": 26.0,
"swing_percent": 41.3
},
"components": {
"expected_quality": 0.8627,
"regression_edge": -0.0286,
"xwoba_edge": 1.4286,
"xba_edge": 0.1143,
"xslg_edge": 0.7571,
"barrel_edge": 1.0889,
"hard_hit_edge": 0.6286,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664023",
"player_name": "Ian Happ",
"offense_factor": 1.0469,
"quality_score": 0.6256,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664023",
"espn_id": 34945,
"player_name": "Ian Happ",
"team": "CHC",
"role": "batter",
"espn_rank": 46,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 46,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 255.0,
"ab_rank": 54,
"r_value": 46.0,
"r_rank": 13,
"h_value": 57.0,
"h_rank": 101,
"avg_value": 0.2235294,
"avg_rank": 130.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 16.0,
"hr_rank": 15,
"rbi_value": 37.0,
"rbi_rank": 48,
"tb_value": 122.0,
"tb_rank": 227,
"bb_value": 41.0,
"bb_rank": 16,
"so_value": 96.0,
"so_rank": 5,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.3366666,
"obp_rank": "73",
"slg_value": 0.4784313,
"slg_rank": "38",
"ops_value": 0.8150979,
"ops_rank": 111.0,
"war_value": 1.99,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 31.8,
"bb_percent": 13.9,
"woba": 0.358,
"xwoba": 0.338,
"xba": 0.21,
"xslg": 0.454,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 46.8,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 16.0,
"whiff_percent": 31.8,
"swing_percent": 44.0
},
"components": {
"expected_quality": 0.8204,
"regression_edge": -0.5714,
"xwoba_edge": 0.9429,
"xba_edge": -0.8,
"xslg_edge": 1.1286,
"barrel_edge": 1.8444,
"hard_hit_edge": 1.1714,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "663538",
"player_name": "Nico Hoerner",
"offense_factor": 1.0225,
"quality_score": 0.2997,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663538",
"espn_id": 41219,
"player_name": "Nico Hoerner",
"team": "CHC",
"role": "batter",
"espn_rank": 115,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 115,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 279.0,
"ab_rank": 12,
"r_value": 26.0,
"r_rank": 149,
"h_value": 67.0,
"h_rank": 58,
"avg_value": 0.2401433,
"avg_rank": 103.0,
"2b_value": 15.0,
"2b_rank": 24,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 34.0,
"rbi_rank": 66,
"tb_value": 94.0,
"tb_rank": 1056,
"bb_value": 30.0,
"bb_rank": 54,
"so_value": 21.0,
"so_rank": 332,
"sb_value": 12.0,
"sb_rank": 20,
"obp_value": 0.3186119,
"obp_rank": "103",
"slg_value": 0.3369175,
"slg_rank": "142",
"ops_value": 0.6555294,
"ops_rank": 39.0,
"war_value": 1.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 250.0,
"k_percent": 6.6,
"bb_percent": 9.5,
"woba": 0.297,
"xwoba": 0.332,
"xba": 0.294,
"xslg": 0.375,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 28.2,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 12.3,
"whiff_percent": 10.8,
"swing_percent": 42.8
},
"components": {
"expected_quality": 0.1857,
"regression_edge": 1.0,
"xwoba_edge": 0.7714,
"xba_edge": 1.6,
"xslg_edge": 0.0,
"barrel_edge": -1.2667,
"hard_hit_edge": -1.4857,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"offense_factor": 1.0147,
"quality_score": 0.1965,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694208",
"espn_id": 4987418,
"player_name": "Moises Ballesteros",
"team": "CHC",
"role": "batter",
"espn_rank": 260,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 260,
"gp_value": 57.0,
"gp_rank": 181,
"ab_value": 153.0,
"ab_rank": 229,
"r_value": 15.0,
"r_rank": 259,
"h_value": 36.0,
"h_rank": 219,
"avg_value": 0.2352941,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 23.0,
"rbi_rank": 171,
"tb_value": 60.0,
"tb_rank": 1269,
"bb_value": 16.0,
"bb_rank": 186,
"so_value": 36.0,
"so_rank": 215,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3040935,
"obp_rank": "-",
"slg_value": 0.3921568,
"slg_rank": "-",
"ops_value": 0.6962503,
"ops_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 20.2,
"bb_percent": 9.5,
"woba": 0.306,
"xwoba": 0.312,
"xba": 0.241,
"xslg": 0.391,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 45.8,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 10.9,
"whiff_percent": 27.4,
"swing_percent": 50.1
},
"components": {
"expected_quality": 0.3287,
"regression_edge": 0.1714,
"xwoba_edge": 0.2,
"xba_edge": 0.0857,
"xslg_edge": 0.2286,
"barrel_edge": 0.5556,
"hard_hit_edge": 1.0286,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "807713",
"player_name": "Matt Shaw",
"offense_factor": 0.9956,
"quality_score": -0.0582,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807713",
"espn_id": 4867667,
"player_name": "Matt Shaw",
"team": "CHC",
"role": "batter",
"espn_rank": 226,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 226,
"gp_value": 45.0,
"gp_rank": 256,
"ab_value": 98.0,
"ab_rank": 316,
"r_value": 10.0,
"r_rank": 334,
"h_value": 24.0,
"h_rank": 298,
"avg_value": 0.2448979,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 12.0,
"rbi_rank": 286,
"tb_value": 39.0,
"tb_rank": 1603,
"bb_value": 6.0,
"bb_rank": 350,
"so_value": 19.0,
"so_rank": 354,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.2990654,
"obp_rank": "-",
"slg_value": 0.3979591,
"slg_rank": "-",
"ops_value": 0.6970245,
"ops_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 101.0,
"k_percent": 17.6,
"bb_percent": 5.6,
"woba": 0.307,
"xwoba": 0.3,
"xba": 0.251,
"xslg": 0.378,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 35.8,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 14.8,
"whiff_percent": 19.7,
"swing_percent": 49.4
},
"components": {
"expected_quality": -0.1149,
"regression_edge": -0.2,
"xwoba_edge": -0.1429,
"xba_edge": 0.3714,
"xslg_edge": 0.0429,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.4,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "621020",
"player_name": "Dansby Swanson",
"offense_factor": 0.9772,
"quality_score": -0.3043,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621020",
"espn_id": 34895,
"player_name": "Dansby Swanson",
"team": "CHC",
"role": "batter",
"espn_rank": 105,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 105,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 224.0,
"ab_rank": 118,
"r_value": 39.0,
"r_rank": 49,
"h_value": 40.0,
"h_rank": 197,
"avg_value": 0.1785714,
"avg_rank": 160.0,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 28.0,
"rbi_rank": 120,
"tb_value": 70.0,
"tb_rank": 875,
"bb_value": 33.0,
"bb_rank": 41,
"so_value": 64.0,
"so_rank": 58,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.2835249,
"obp_rank": "146",
"slg_value": 0.3125,
"slg_rank": "153",
"ops_value": 0.5960249,
"ops_rank": 299.0,
"war_value": 1.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 208.0,
"k_percent": 24.7,
"bb_percent": 12.7,
"woba": 0.272,
"xwoba": 0.285,
"xba": 0.191,
"xslg": 0.333,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 40.4,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 16.7,
"whiff_percent": 31.5,
"swing_percent": 44.2
},
"components": {
"expected_quality": -0.4347,
"regression_edge": 0.3714,
"xwoba_edge": -0.5714,
"xba_edge": -1.3429,
"xslg_edge": -0.6,
"barrel_edge": 0.0,
"hard_hit_edge": 0.2571,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": -1.1,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 0.9966,
"raw_average_factor": 0.9966,
"team_espn_average_rank": 255.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "681198",
"player_name": "TJ Rumfield",
"offense_factor": 1.0137,
"quality_score": 0.1832,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681198",
"espn_id": 5014349,
"player_name": "TJ Rumfield",
"team": "COL",
"role": "batter",
"espn_rank": 71,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 71,
"gp_value": 69.0,
"gp_rank": 44,
"ab_value": 243.0,
"ab_rank": 90,
"r_value": 31.0,
"r_rank": 98,
"h_value": 68.0,
"h_rank": 48,
"avg_value": 0.2798353,
"avg_rank": 32.0,
"2b_value": 14.0,
"2b_rank": 37,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 34.0,
"rbi_rank": 66,
"tb_value": 113.0,
"tb_rank": 340,
"bb_value": 27.0,
"bb_rank": 69,
"so_value": 40.0,
"so_rank": 186,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3610108,
"obp_rank": "39",
"slg_value": 0.4650205,
"slg_rank": "43",
"ops_value": 0.8260313,
"ops_rank": 82.0,
"war_value": 1.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 14.8,
"bb_percent": 10.0,
"woba": 0.358,
"xwoba": 0.332,
"xba": 0.256,
"xslg": 0.406,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 34.7,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 14.4,
"whiff_percent": 19.1,
"swing_percent": 50.2
},
"components": {
"expected_quality": 0.3452,
"regression_edge": -0.7429,
"xwoba_edge": 0.7714,
"xba_edge": 0.5143,
"xslg_edge": 0.4429,
"barrel_edge": -0.0667,
"hard_hit_edge": -0.5571,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": 0.9833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "696100",
"player_name": "Hunter Goodman",
"offense_factor": 1.0264,
"quality_score": 0.3518,
"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": 50,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 50,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 252.0,
"ab_rank": 66,
"r_value": 44.0,
"r_rank": 25,
"h_value": 63.0,
"h_rank": 75,
"avg_value": 0.25,
"avg_rank": 88.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 20.0,
"hr_rank": 4,
"rbi_value": 37.0,
"rbi_rank": 48,
"tb_value": 135.0,
"tb_rank": 543,
"bb_value": 23.0,
"bb_rank": 98,
"so_value": 95.0,
"so_rank": 6,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3214285,
"obp_rank": "101",
"slg_value": 0.5357142,
"slg_rank": "15",
"ops_value": 0.8571427,
"ops_rank": 116.0,
"war_value": 1.97,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 206.0,
"k_percent": 34.7,
"bb_percent": 8.4,
"woba": 0.348,
"xwoba": 0.317,
"xba": 0.224,
"xslg": 0.436,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 17.9,
"whiff_percent": 34.9,
"swing_percent": 55.0
},
"components": {
"expected_quality": 0.581,
"regression_edge": -0.8857,
"xwoba_edge": 0.3429,
"xba_edge": -0.4,
"xslg_edge": 0.8714,
"barrel_edge": 1.8444,
"hard_hit_edge": 1.0714,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "650489",
"player_name": "Willi Castro",
"offense_factor": 0.9768,
"quality_score": -0.3096,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650489",
"espn_id": 34230,
"player_name": "Willi Castro",
"team": "COL",
"role": "batter",
"espn_rank": 162,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 162,
"gp_value": 60.0,
"gp_rank": 163,
"ab_value": 209.0,
"ab_rank": 136,
"r_value": 31.0,
"r_rank": 98,
"h_value": 58.0,
"h_rank": 96,
"avg_value": 0.2775119,
"avg_rank": 38.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 29.0,
"rbi_rank": 110,
"tb_value": 84.0,
"tb_rank": 1100,
"bb_value": 21.0,
"bb_rank": 133,
"so_value": 58.0,
"so_rank": 83,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3504273,
"obp_rank": "52",
"slg_value": 0.4019138,
"slg_rank": "100",
"ops_value": 0.7523411,
"ops_rank": 152.0,
"war_value": 0.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 164.0,
"k_percent": 25.1,
"bb_percent": 8.8,
"woba": 0.318,
"xwoba": 0.29,
"xba": 0.224,
"xslg": 0.344,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 42.2,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 18.2,
"whiff_percent": 29.1,
"swing_percent": 53.5
},
"components": {
"expected_quality": -0.3527,
"regression_edge": -0.8,
"xwoba_edge": -0.4286,
"xba_edge": -0.4,
"xslg_edge": -0.4429,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.5143,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -0.9,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "671289",
"player_name": "Tyler Freeman",
"offense_factor": 1.0065,
"quality_score": 0.0863,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671289",
"espn_id": 40958,
"player_name": "Tyler Freeman",
"team": "COL",
"role": "batter",
"espn_rank": 382,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 382,
"gp_value": 44.0,
"gp_rank": 264,
"ab_value": 148.0,
"ab_rank": 237,
"r_value": 18.0,
"r_rank": 227,
"h_value": 40.0,
"h_rank": 197,
"avg_value": 0.2702702,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 20.0,
"rbi_rank": 202,
"tb_value": 56.0,
"tb_rank": 1283,
"bb_value": 8.0,
"bb_rank": 307,
"so_value": 20.0,
"so_rank": 342,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3493975,
"obp_rank": "-",
"slg_value": 0.3783783,
"slg_rank": "-",
"ops_value": 0.7277758,
"ops_rank": null,
"war_value": -0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 126.0,
"k_percent": 11.5,
"bb_percent": 4.8,
"woba": 0.331,
"xwoba": 0.332,
"xba": 0.279,
"xslg": 0.374,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 33.6,
"exit_velocity_avg": 87.3,
"launch_angle_avg": 9.9,
"whiff_percent": 11.2,
"swing_percent": 47.4
},
"components": {
"expected_quality": 0.1706,
"regression_edge": 0.0286,
"xwoba_edge": 0.7714,
"xba_edge": 1.1714,
"xslg_edge": -0.0143,
"barrel_edge": -1.1778,
"hard_hit_edge": -0.7143,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "694249",
"player_name": "Cole Carrigg",
"offense_factor": 0.9636,
"quality_score": -0.4856,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694249",
"espn_id": 5149102,
"player_name": "Cole Carrigg",
"team": "COL",
"role": "batter",
"espn_rank": 359,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 359,
"gp_value": 6.0,
"gp_rank": 519,
"ab_value": 24.0,
"ab_rank": 480,
"r_value": 5.0,
"r_rank": 411,
"h_value": 6.0,
"h_rank": 451,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 482,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 4.0,
"rbi_rank": 424,
"tb_value": 14.0,
"tb_rank": 1946,
"bb_value": 2.0,
"bb_rank": 440,
"so_value": 5.0,
"so_rank": 500,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3076923,
"obp_rank": "-",
"slg_value": 0.5833333,
"slg_rank": "-",
"ops_value": 0.8910256,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 25.0,
"bb_percent": 5.0,
"woba": 0.366,
"xwoba": 0.24,
"xba": 0.162,
"xslg": 0.347,
"sweet_spot_percent": 21.4,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 21.4,
"whiff_percent": 15.2,
"swing_percent": 62.2
},
"components": {
"expected_quality": -0.9292,
"regression_edge": -2.0,
"xwoba_edge": -1.8571,
"xba_edge": -2.1714,
"xslg_edge": -0.4,
"barrel_edge": 1.6444,
"hard_hit_edge": -0.4143,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -1.9833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664983",
"player_name": "Jake McCarthy",
"offense_factor": 0.9922,
"quality_score": -0.1039,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664983",
"espn_id": 41197,
"player_name": "Jake McCarthy",
"team": "COL",
"role": "batter",
"espn_rank": 367,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 367,
"gp_value": 57.0,
"gp_rank": 181,
"ab_value": 174.0,
"ab_rank": 192,
"r_value": 22.0,
"r_rank": 187,
"h_value": 49.0,
"h_rank": 143,
"avg_value": 0.2816091,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 27.0,
"rbi_rank": 130,
"tb_value": 78.0,
"tb_rank": 843,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 38.0,
"so_rank": 202,
"sb_value": 11.0,
"sb_rank": 27,
"obp_value": 0.3263157,
"obp_rank": "-",
"slg_value": 0.4482758,
"slg_rank": "-",
"ops_value": 0.7745915,
"ops_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 130.0,
"k_percent": 19.7,
"bb_percent": 6.2,
"woba": 0.336,
"xwoba": 0.311,
"xba": 0.259,
"xslg": 0.395,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 24.6,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 14.5,
"whiff_percent": 22.7,
"swing_percent": 53.6
},
"components": {
"expected_quality": -0.0882,
"regression_edge": -0.7143,
"xwoba_edge": 0.1714,
"xba_edge": 0.6,
"xslg_edge": 0.2857,
"barrel_edge": -0.2667,
"hard_hit_edge": -2.0,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "678662",
"player_name": "Ezequiel Tovar",
"offense_factor": 1.01,
"quality_score": 0.1331,
"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": 431,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 431,
"gp_value": 67.0,
"gp_rank": 78,
"ab_value": 238.0,
"ab_rank": 97,
"r_value": 21.0,
"r_rank": 194,
"h_value": 52.0,
"h_rank": 124,
"avg_value": 0.2184873,
"avg_rank": 140.0,
"2b_value": 14.0,
"2b_rank": 37,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 24.0,
"rbi_rank": 163,
"tb_value": 81.0,
"tb_rank": 1069,
"bb_value": 14.0,
"bb_rank": 208,
"so_value": 72.0,
"so_rank": 33,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.2645914,
"obp_rank": "159",
"slg_value": 0.3403361,
"slg_rank": "141",
"ops_value": 0.6049275,
"ops_rank": 300.0,
"war_value": -0.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 27.9,
"bb_percent": 5.6,
"woba": 0.262,
"xwoba": 0.299,
"xba": 0.236,
"xslg": 0.402,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 15.5,
"whiff_percent": 30.6,
"swing_percent": 62.0
},
"components": {
"expected_quality": 0.0007,
"regression_edge": 1.0571,
"xwoba_edge": -0.1714,
"xba_edge": -0.0571,
"xslg_edge": 0.3857,
"barrel_edge": 0.3556,
"hard_hit_edge": -0.3143,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "691720",
"player_name": "Kyle Karros",
"offense_factor": 1.0329,
"quality_score": 0.4388,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691720",
"espn_id": 5203102,
"player_name": "Kyle Karros",
"team": "COL",
"role": "batter",
"espn_rank": 161,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 161,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 203.0,
"ab_rank": 144,
"r_value": 32.0,
"r_rank": 86,
"h_value": 50.0,
"h_rank": 136,
"avg_value": 0.2463054,
"avg_rank": 97.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 19.0,
"rbi_rank": 210,
"tb_value": 73.0,
"tb_rank": 1042,
"bb_value": 30.0,
"bb_rank": 54,
"so_value": 50.0,
"so_rank": 128,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3432203,
"obp_rank": "64",
"slg_value": 0.3596059,
"slg_rank": "125",
"ops_value": 0.7028262,
"ops_rank": 61.0,
"war_value": 0.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 21.7,
"bb_percent": 13.0,
"woba": 0.31,
"xwoba": 0.334,
"xba": 0.255,
"xslg": 0.382,
"sweet_spot_percent": 43.0,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 41.6,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 11.9,
"whiff_percent": 24.8,
"swing_percent": 41.9
},
"components": {
"expected_quality": 0.5261,
"regression_edge": 0.6857,
"xwoba_edge": 0.8286,
"xba_edge": 0.4857,
"xslg_edge": 0.1,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.4286,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 1.6167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "690924",
"player_name": "Braxton Fulford",
"offense_factor": 0.9475,
"quality_score": -0.7003,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "690924",
"espn_id": 5000931,
"player_name": "Braxton Fulford",
"team": "COL",
"role": "batter",
"espn_rank": 312,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 312,
"gp_value": 20.0,
"gp_rank": 404,
"ab_value": 30.0,
"ab_rank": 454,
"r_value": 9.0,
"r_rank": 348,
"h_value": 7.0,
"h_rank": 441,
"avg_value": 0.2333333,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 384,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 5.0,
"rbi_rank": 396,
"tb_value": 12.0,
"tb_rank": 2282,
"bb_value": 5.0,
"bb_rank": 377,
"so_value": 14.0,
"so_rank": 400,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3243243,
"obp_rank": "-",
"slg_value": 0.4,
"slg_rank": "-",
"ops_value": 0.7243243,
"ops_rank": null,
"war_value": 0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 18.0,
"k_percent": 38.7,
"bb_percent": 9.7,
"woba": 0.291,
"xwoba": 0.229,
"xba": 0.16,
"xslg": 0.277,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 25.0,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 34.7,
"whiff_percent": 35.7,
"swing_percent": 42.7
},
"components": {
"expected_quality": -1.5212,
"regression_edge": -1.7714,
"xwoba_edge": -2.1714,
"xba_edge": -2.2286,
"xslg_edge": -1.4,
"barrel_edge": -0.1333,
"hard_hit_edge": -1.9429,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": -0.3333,
"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 COL | True | 694 | -0.7259 | 1 | 1.0617 | 0.9417 | 0.9680 | 1.1158 | positive_pitcher_regression | 0.3660 | 0.4120 | 17.20 | 7.50 | 20.80 | 9.30 | 45 | |
| Home CHC | True | 365 | 0.1430 | 1 | 0.9878 | 1.0429 | 0.9460 | 1.0597 | neutral | 0.3020 | 0.3090 | 24.80 | 6.40 | 30.90 | 10.80 | 40.10 |
| 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 | 93 | 88.21 | 2337 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0851 | |
| Home CHC | True | None | 89 | 87.02 | 1982 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1516 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9878 |
| home_runs_vs_away_pitcher | 1.0617 |
| home_pitcher_quality_edge | 0.8689 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "684007",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 261.0,
"k_percent": 24.8,
"bb_percent": 6.4,
"woba": 0.309,
"xwoba": 0.302,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 40.1,
"avg_best_speed": 77.9778,
"avg_hyper_speed": 94.0713,
"whiff_percent": 30.9,
"swing_percent": 51.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0094,
"command_and_miss": 0.54,
"regression_edge": 0.2,
"xwoba_edge": 0.3714,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.2143,
"whiff_edge": 0.7714,
"bb_edge": 0.675,
"pitch_design_score": -0.1516
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "684007",
"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": 87.02019971026674,
"release_spin_rate": 1981.91457318582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 87.02019971026674,
"release_spin_rate": 1981.91457318582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.0202,
"release_spin_rate": 1981.9146,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1516,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0831,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.143,
"sample_weight": 1.0,
"run_prevention_factor": 0.9878,
"strikeout_factor": 1.0429,
"walk_factor": 0.946,
"homer_factor": 1.0597,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "684007",
"espn_id": 5134630,
"player_name": "Shota Imanaga",
"team": "CHC",
"role": "pitcher",
"espn_rank": 365,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 365,
"gp_value": 14.0,
"gp_rank": 251,
"gs_value": 14.0,
"gs_rank": 18,
"qs_value": 6.0,
"qs_rank": 34,
"era_value": 4.4444,
"era_rank": 59.0,
"w_value": 4.0,
"w_rank": 59,
"l_value": 6.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 81.0,
"ip_rank": 22,
"h_value": 65.0,
"h_rank": 69,
"er_value": 40.0,
"er_rank": 18,
"hr_value": 17.0,
"hr_rank": 4,
"bb_value": 21.0,
"bb_rank": 98,
"k_value": 81.0,
"k_rank": 22,
"k_per_9_value": 9.0,
"k_per_9_rank": 27,
"whip_value": 1.0617,
"whip_rank": 16.0,
"war_value": 0.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "547179",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 259.0,
"k_percent": 17.2,
"bb_percent": 7.5,
"woba": 0.412,
"xwoba": 0.366,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 45.0,
"avg_best_speed": 78.0798,
"avg_hyper_speed": 94.9074,
"whiff_percent": 20.8,
"swing_percent": 45.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.2826,
"command_and_miss": -0.5086,
"regression_edge": 1.3143,
"xwoba_edge": -1.4571,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.9143,
"whiff_edge": -0.6714,
"bb_edge": 0.4,
"pitch_design_score": -0.0851
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "547179",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.20838297900882,
"release_spin_rate": 2336.814981473271,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.20838297900882,
"release_spin_rate": 2336.814981473271,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2084,
"release_spin_rate": 2336.815,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0851,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6078,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.7259,
"sample_weight": 1.0,
"run_prevention_factor": 1.0617,
"strikeout_factor": 0.9417,
"walk_factor": 0.968,
"homer_factor": 1.1158,
"woba_minus_xwoba": 0.046,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "547179",
"espn_id": 33252,
"player_name": "Michael Lorenzen",
"team": "COL",
"role": "pitcher",
"espn_rank": 694,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 694,
"gp_value": 15.0,
"gp_rank": 222,
"gs_value": 14.0,
"gs_rank": 18,
"qs_value": 1.0,
"qs_rank": 132,
"era_value": 7.538,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 8.0,
"l_rank": 1,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 65.2,
"ip_rank": 86,
"h_value": 101.0,
"h_rank": 1,
"er_value": 55.0,
"er_rank": 1,
"hr_value": 11.0,
"hr_rank": 36,
"bb_value": 24.0,
"bb_rank": 59,
"k_value": 55.0,
"k_rank": 90,
"k_per_9_value": 7.538071,
"k_per_9_rank": 28,
"whip_value": 1.9035,
"whip_rank": null,
"war_value": -1.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9878,
"home_runs_vs_away_pitcher": 1.0617,
"home_pitcher_quality_edge": 0.8689
},
"score_before": {
"away_runs": 2.0575,
"home_runs": 5.1577
},
"score_after": {
"away_runs": 2.0324,
"home_runs": 5.4759,
"home_win_probability": 0.8083
},
"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 | 12-50 | 0.194 | 1.60 | 5.20 | -228 | cold | weak | |
| Home CHC | 5-61 | 0.076 | 0.70 | 3.60 | -191 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away COL | 27-45 | 0.375 | -90 | -1.250 | True |
| Home CHC | 37-35 | 0.514 | 9 | 0.125 | True |
| Signal | - | - | 1.375 | 1.583 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target COL | - | - | 2 | - | - | - | - |
| Game target CHC | - | - | 7 | - | - | - | - |
| Player finalized COL | 34 | 9 | 6 | 0 | 4 | 0 | 9 |
| Player finalized CHC | 33 | 9 | 5 | 0 | 3 | 3 | 8 |
| Player model fractional COL | 32.28 | 7.62 | 4.86 | 1.20 | 4.20 | 2.92 | 8.11 |
| Player model fractional CHC | 32.48 | 8.10 | 4.48 | 1.24 | 4.37 | 3.64 | 7.56 |
| Simulation box COL | 32 | 5 | 3 | 1 | 3 | 5 | 7 |
| Simulation box CHC | 35 | 11 | 7 | 1 | 7 | 4 | 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 COL | Starter | Michael Lorenzen | 4 | 6 | 3 | 8 | 2 | 7.40 | 1.77 | True |
| Away COL | Middle Reliever | Antonio Senzatela | 1.10 | 0 | 0 | 0 | 0 | 4.67 | 1.53 | True |
| Away COL | Middle Reliever | Seth Halvorsen | 1 | 0 | 1 | 1 | 0 | 4.30 | 1.51 | True |
| Away COL | Middle Reliever | Brennan Bernardino | 1.10 | 0 | 1 | 0 | 1 | 5.26 | 1.37 | True |
| Away COL | Middle Reliever | Juan Mejia | 0.10 | 1 | 1 | 2 | 1 | 6.32 | 1.58 | True |
| Home CHC | Starter | Shota Imanaga | 5.20 | 3 | 5 | 5 | 4 | 6.08 | 1.27 | True |
| Home CHC | Middle Reliever | Caleb Thielbar | 1 | 0 | 0 | 0 | 1 | 4.33 | 1.15 | True |
| Home CHC | Middle Reliever | Daniel Palencia | 1 | 0 | 1 | 0 | 0 | 3.76 | 1.24 | True |
| Home CHC | Middle Reliever | Jacob Webb | 1 | 0 | 0 | 0 | 0 | 3.56 | 1.25 | True |
| Home CHC | Middle Reliever | Hoby Milner | 0.10 | 0 | 1 | 0 | 0 | 7.82 | 1.74 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | CHC | batter | CF | Pete Crow-Armstrong | better | 12 | 9 | 3 | 10 | 2 | predicted_RBI | 2.5300 | boost | better |
| home | CHC | pitcher | Starter | Shota Imanaga | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 2.0000 | boost | better |
| home | CHC | pitcher | Middle Reliever | Hoby Milner | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -2.0000 | deboost | worse |
| home | CHC | batter | LF | Ian Happ | better | 10 | 6 | 4 | 7 | 3 | predicted_2B | 1.8060 | boost | better |
| away | COL | batter | SS | Ezequiel Tovar | worse | 10 | 2 | 8 | 3 | 7 | predicted_BB | 1.7810 | boost | better |
| home | CHC | batter | RF | Matt Shaw | worse | 11 | 6 | 5 | 5 | 6 | predicted_AB | 1.4740 | boost | better |
| away | COL | batter | DH | Hunter Goodman | better | 9 | 5 | 4 | 6 | 3 | predicted_SO | -1.4390 | deboost | better |
| home | CHC | batter | C | Moisés Ballesteros | better | 10 | 5 | 5 | 6 | 4 | predicted_AB | 1.2680 | boost | better |
| away | COL | batter | 3B | Kyle Karros | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | 1.2400 | boost | better |
| home | CHC | batter | 1B | Michael Busch | better | 10 | 7 | 3 | 7 | 3 | predicted_AB | 1.0700 | boost | better |
| home | CHC | batter | 3B | Alex Bregman | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -1.0500 | deboost | worse |
| away | COL | batter | 2B | Willi Castro | worse | 8 | 2 | 6 | 2 | 6 | predicted_H | -1.0200 | deboost | worse |
| home | CHC | batter | DH | Seiya Suzuki | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.9900 | deboost | worse |
| away | COL | batter | CF | Cole Carrigg | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.9600 | deboost | worse |
| home | CHC | batter | SS | Dansby Swanson | better | 11 | 5 | 6 | 6 | 5 | predicted_SO | -0.9550 | deboost | better |
| away | COL | batter | 1B | TJ Rumfield | better | 9 | 5 | 4 | 6 | 3 | predicted_AB | -0.8500 | deboost | worse |
| away | COL | batter | C | Braxton Fulford | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 0.8330 | boost | worse |
| away | COL | batter | LF | Jake McCarthy | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.8000 | deboost | worse |
| home | CHC | batter | 2B | Nico Hoerner | worse | 10 | 5 | 5 | 4 | 6 | predicted_SO | 0.7100 | boost | worse |
| away | COL | batter | RF | Tyler Freeman | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 0.5580 | boost | better |
| away | COL | pitcher | Middle Reliever | Brennan Bernardino | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.4333 | boost | better |
| away | COL | pitcher | Starter | Michael Lorenzen | 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 |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Michael Lorenzen |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.7259 |
| ESPN Rank | 694 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0851 |
| Avg Velo | 88.2084 |
| Avg Spin | 2336.8150 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4 |
| Pre ER | 6 |
| Pre H | 8 |
| Pre BB | 2 |
| Pre SO | 3 |
| Season ERA | 7.5381 |
| Season WHIP | 1.9036 |
| Role Avg IP | 4.6190 |
| Recent Avg IP | 4.3330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"opponent": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"edges": {
"quality_edge": -0.3272,
"offense_edge": 0.0499,
"opponent_offense_edge": 0.063,
"defense_strength": -0.2242,
"opponent_defense_weakness": 0.0155,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9777,
"run_prevention": 1.0489,
"strikeout": 0.9851
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "547179",
"profile": {
"available": true,
"pitcher_id": "547179",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 259.0,
"k_percent": 17.2,
"bb_percent": 7.5,
"woba": 0.412,
"xwoba": 0.366,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 45.0,
"avg_best_speed": 78.0798,
"avg_hyper_speed": 94.9074,
"whiff_percent": 20.8,
"swing_percent": 45.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.2826,
"command_and_miss": -0.5086,
"regression_edge": 1.3143,
"xwoba_edge": -1.4571,
"barrel_edge": -0.4444,
"hard_hit_edge": -0.9143,
"whiff_edge": -0.6714,
"bb_edge": 0.4,
"pitch_design_score": -0.0851
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "547179",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.20838297900882,
"release_spin_rate": 2336.814981473271,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.20838297900882,
"release_spin_rate": 2336.814981473271,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2084,
"release_spin_rate": 2336.815,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0851,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6078,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.7259,
"sample_weight": 1.0,
"run_prevention_factor": 1.0617,
"strikeout_factor": 0.9417,
"walk_factor": 0.968,
"homer_factor": 1.1158,
"woba_minus_xwoba": 0.046,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "547179",
"espn_id": 33252,
"player_name": "Michael Lorenzen",
"team": "COL",
"role": "pitcher",
"espn_rank": 694,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 694,
"gp_value": 15.0,
"gp_rank": 222,
"gs_value": 14.0,
"gs_rank": 18,
"qs_value": 1.0,
"qs_rank": 132,
"era_value": 7.538,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 8.0,
"l_rank": 1,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 65.2,
"ip_rank": 86,
"h_value": 101.0,
"h_rank": 1,
"er_value": 55.0,
"er_rank": 1,
"hr_value": 11.0,
"hr_rank": 36,
"bb_value": 24.0,
"bb_rank": 59,
"k_value": 55.0,
"k_rank": 90,
"k_per_9_value": 7.538071,
"k_per_9_rank": 28,
"whip_value": 1.9035,
"whip_rank": null,
"war_value": -1.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0617,
"adjusted": 4
},
"predicted_H": {
"original": 7.0,
"factor": 1.0617,
"adjusted": 7
},
"predicted_BB": {
"original": 2.0,
"factor": 0.968,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1158,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9417,
"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": 49.0,
"ER": 40,
"H": 68,
"BB": 19,
"SO": 42,
"HR": 7,
"ERA": 7.346938775510204,
"WHIP": 1.7755102040816326,
"K9": 7.714285714285714,
"HR9": 1.2857142857142858,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": true,
"pitcher_id": "547179",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.20838297900882,
"release_spin_rate": 2336.814981473271,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 88.20838297900882,
"release_spin_rate": 2336.814981473271,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.2084,
"release_spin_rate": 2336.815,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0851,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6078,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "547179",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.2,
"ER": 23.0,
"R": 24.0,
"H": 34.0,
"BB": 10.0,
"SO": 24.0,
"HR": 4.0,
"BF": 109.0,
"Pitches": 434.0
},
"per_game": {
"IP": 4.1,
"ER": 4.6,
"R": 4.8,
"H": 6.8,
"BB": 2.0,
"SO": 4.8,
"HR": 0.8,
"BF": 21.8,
"Pitches": 86.8
},
"rates": {
"ERA": 9.5538,
"WHIP": 2.0308,
"ER_per_IP": 1.06154,
"H_per_IP": 1.56923,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.10769,
"HR_per_IP": 0.18462
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.0,
"ER": 40.0,
"R": 41.0,
"H": 68.0,
"BB": 19.0,
"SO": 42.0,
"HR": 7.0,
"BF": 227.0,
"Pitches": 869.0
},
"per_game": {
"IP": 5.0,
"ER": 4.0,
"R": 4.1,
"H": 6.8,
"BB": 1.9,
"SO": 4.2,
"HR": 0.7,
"BF": 22.7,
"Pitches": 86.9
},
"rates": {
"ERA": 7.3469,
"WHIP": 1.7755,
"ER_per_IP": 0.81633,
"H_per_IP": 1.38776,
"BB_per_IP": 0.38776,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.14286
}
},
"season": {
"games": 15,
"totals": {
"IP": 65.2,
"ER": 55.0,
"R": 61.0,
"H": 101.0,
"BB": 24.0,
"SO": 55.0,
"HR": 11.0,
"BF": 320.0,
"Pitches": 1221.0
},
"per_game": {
"IP": 4.1,
"ER": 3.6667,
"R": 4.0667,
"H": 6.7333,
"BB": 1.6,
"SO": 3.6667,
"HR": 0.7333,
"BF": 21.3333,
"Pitches": 81.4
},
"rates": {
"ERA": 7.5381,
"WHIP": 1.9036,
"ER_per_IP": 0.83756,
"H_per_IP": 1.53807,
"BB_per_IP": 0.36548,
"SO_per_IP": 0.83756,
"HR_per_IP": 0.16751
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 3.707,
"predicted_H": 6.166,
"predicted_BB": 1.815,
"predicted_SO": 4.319,
"predicted_HR": 0.727,
"predicted_ERA": 7.4008,
"predicted_WHIP": 1.7703
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 4.1,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 6.0,
"form": 3.707,
"final": 4.7517,
"source": "model_form_blend"
},
"predicted_H": {
"model": 8.0,
"form": 6.166,
"final": 7.0016,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.815,
"final": 1.8993,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.319,
"final": 3.718,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.727,
"final": 0.8514,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.4008,
"final": 7.4008,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7703,
"final": 1.7703,
"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.1710 |
| ESPN Rank | 28 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1754 |
| Avg Velo | 92.8592 |
| Avg Spin | 2303.9796 |
| 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.1130 |
| Season WHIP | 1.0174 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"opponent": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"edges": {
"quality_edge": -0.3272,
"offense_edge": 0.0499,
"opponent_offense_edge": 0.063,
"defense_strength": -0.2242,
"opponent_defense_weakness": 0.0155,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9777,
"run_prevention": 1.0489,
"strikeout": 0.9851
},
"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": 111.0,
"k_percent": 21.5,
"bb_percent": 7.4,
"woba": 0.258,
"xwoba": 0.281,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 39.0,
"avg_best_speed": 75.2625,
"avg_hyper_speed": 93.9383,
"whiff_percent": 26.5,
"swing_percent": 48.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.744,
"command_and_miss": 0.0579,
"regression_edge": -0.6571,
"xwoba_edge": 0.9714,
"barrel_edge": 0.3556,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.1429,
"bb_edge": 0.425,
"pitch_design_score": 0.1754
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622608",
"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": 92.85923898658872,
"release_spin_rate": 2303.9795819641,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 92.85923898658872,
"release_spin_rate": 2303.9795819641,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8592,
"release_spin_rate": 2303.9796,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1754,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2525,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.171,
"sample_weight": 0.45,
"run_prevention_factor": 0.9855,
"strikeout_factor": 0.9995,
"walk_factor": 0.9847,
"homer_factor": 0.9751,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622608",
"espn_id": 33750,
"player_name": "Antonio Senzatela",
"team": "COL",
"role": "pitcher",
"espn_rank": 28,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 28,
"gp_value": 20.0,
"gp_rank": 171,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.113,
"era_rank": null,
"w_value": 6.0,
"w_rank": 21,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 3.0,
"sv_rank": 43,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 38.1,
"ip_rank": 162,
"h_value": 28.0,
"h_rank": 222,
"er_value": 9.0,
"er_rank": 343,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 32.0,
"k_rank": 212,
"k_per_9_value": 7.5130434,
"k_per_9_rank": 35,
"whip_value": 1.0173,
"whip_rank": null,
"war_value": 1.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9935,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9931,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9888,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9998,
"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": 16.0,
"ER": 6,
"H": 16,
"BB": 5,
"SO": 12,
"HR": 3,
"ERA": 3.375,
"WHIP": 1.3125,
"K9": 6.75,
"HR9": 1.6875,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": true,
"pitcher_id": "622608",
"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": 92.85923898658872,
"release_spin_rate": 2303.9795819641,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 92.85923898658872,
"release_spin_rate": 2303.9795819641,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8592,
"release_spin_rate": 2303.9796,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1754,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2525,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.591,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6029,
"prior_weight": 0.3971
},
"role": "pitcher",
"player_id": "622608",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.1,
"ER": 5.0,
"R": 6.0,
"H": 11.0,
"BB": 3.0,
"SO": 6.0,
"HR": 2.0,
"BF": 31.0,
"Pitches": 118.0
},
"per_game": {
"IP": 1.1,
"ER": 1.0,
"R": 1.2,
"H": 2.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.4,
"BF": 6.2,
"Pitches": 23.6
},
"rates": {
"ERA": 7.1053,
"WHIP": 2.2105,
"ER_per_IP": 0.78947,
"H_per_IP": 1.73684,
"BB_per_IP": 0.47368,
"SO_per_IP": 0.94737,
"HR_per_IP": 0.31579
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 16.0,
"ER": 6.0,
"R": 7.0,
"H": 16.0,
"BB": 5.0,
"SO": 12.0,
"HR": 3.0,
"BF": 67.0,
"Pitches": 233.0
},
"per_game": {
"IP": 1.2,
"ER": 0.6,
"R": 0.7,
"H": 1.6,
"BB": 0.5,
"SO": 1.2,
"HR": 0.3,
"BF": 6.7,
"Pitches": 23.3
},
"rates": {
"ERA": 3.375,
"WHIP": 1.3125,
"ER_per_IP": 0.375,
"H_per_IP": 1.0,
"BB_per_IP": 0.3125,
"SO_per_IP": 0.75,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 20,
"totals": {
"IP": 38.1,
"ER": 9.0,
"R": 11.0,
"H": 28.0,
"BB": 11.0,
"SO": 32.0,
"HR": 3.0,
"BF": 149.0,
"Pitches": 533.0
},
"per_game": {
"IP": 2.0,
"ER": 0.45,
"R": 0.55,
"H": 1.4,
"BB": 0.55,
"SO": 1.6,
"HR": 0.15,
"BF": 7.45,
"Pitches": 26.65
},
"rates": {
"ERA": 2.113,
"WHIP": 1.0174,
"ER_per_IP": 0.23478,
"H_per_IP": 0.73043,
"BB_per_IP": 0.28696,
"SO_per_IP": 0.83478,
"HR_per_IP": 0.07826
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.77,
"predicted_H": 1.716,
"predicted_BB": 0.553,
"predicted_SO": 1.316,
"predicted_HR": 0.285,
"predicted_ERA": 4.669,
"predicted_WHIP": 1.5288
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5178,
"form_weight": 0.4822,
"form_reliability": 0.6029,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.591,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6029,
"prior_weight": 0.3971
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.77,
"final": 0.3713,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.716,
"final": 0.8275,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.553,
"final": 0.2667,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.316,
"final": 0.6346,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.285,
"final": 0.1374,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.669,
"final": 4.669,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5288,
"final": 1.5288,
"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 | Seth Halvorsen |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.4534 |
| ESPN Rank | 210 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.3061 |
| Season WHIP | 1.6531 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"opponent": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"edges": {
"quality_edge": -0.3272,
"offense_edge": 0.0499,
"opponent_offense_edge": 0.063,
"defense_strength": -0.2242,
"opponent_defense_weakness": 0.0155,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9777,
"run_prevention": 1.0489,
"strikeout": 0.9851
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678020",
"profile": {
"available": true,
"pitcher_id": "678020",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 44.0,
"k_percent": 20.8,
"bb_percent": 16.9,
"woba": 0.335,
"xwoba": 0.393,
"sweet_spot_percent": 43.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 41.7,
"avg_best_speed": 81.762,
"avg_hyper_speed": 95.086,
"whiff_percent": 25.3,
"swing_percent": 46.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.2609,
"command_and_miss": -0.5221,
"regression_edge": -1.6571,
"xwoba_edge": -2.2286,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.4429,
"whiff_edge": -0.0286,
"bb_edge": -1.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "678020",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.4534,
"sample_weight": 0.45,
"run_prevention_factor": 1.0385,
"strikeout_factor": 0.9946,
"walk_factor": 1.0702,
"homer_factor": 1.0301,
"woba_minus_xwoba": -0.058,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "678020",
"espn_id": 5204400,
"player_name": "Seth Halvorsen",
"team": "COL",
"role": "pitcher",
"espn_rank": 210,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 210,
"gp_value": 17.0,
"gp_rank": 207,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.3061,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 16.1,
"ip_rank": 416,
"h_value": 14.0,
"h_rank": 420,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 13.0,
"bb_rank": 213,
"k_value": 16.0,
"k_rank": 390,
"k_per_9_value": 8.816326,
"k_per_9_rank": 25,
"whip_value": 1.653,
"whip_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0173,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0173,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0316,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0135,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9976,
"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": 8,
"BB": 7,
"SO": 10,
"HR": 2,
"ERA": 3.8571428571428568,
"WHIP": 1.607142857142857,
"K9": 9.642857142857142,
"HR9": 1.9285714285714284,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "678020",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.234,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3928,
"prior_weight": 0.6072
},
"role": "pitcher",
"player_id": "678020",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 5.0,
"SO": 3.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 102.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 1.0,
"SO": 0.6,
"HR": 0.4,
"BF": 4.2,
"Pitches": 20.4
},
"rates": {
"ERA": 4.5,
"WHIP": 2.0,
"ER_per_IP": 0.5,
"H_per_IP": 0.75,
"BB_per_IP": 1.25,
"SO_per_IP": 0.75,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 7.0,
"SO": 10.0,
"HR": 2.0,
"BF": 44.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.7,
"SO": 1.0,
"HR": 0.2,
"BF": 4.4,
"Pitches": 18.3
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.6071,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.75,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 17,
"totals": {
"IP": 16.1,
"ER": 6.0,
"R": 6.0,
"H": 14.0,
"BB": 13.0,
"SO": 16.0,
"HR": 2.0,
"BF": 77.0,
"Pitches": 315.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3529,
"R": 0.3529,
"H": 0.8235,
"BB": 0.7647,
"SO": 0.9412,
"HR": 0.1176,
"BF": 4.5294,
"Pitches": 18.5294
},
"rates": {
"ERA": 3.3061,
"WHIP": 1.6531,
"ER_per_IP": 0.36735,
"H_per_IP": 0.85714,
"BB_per_IP": 0.79592,
"SO_per_IP": 0.97959,
"HR_per_IP": 0.12245
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.449,
"predicted_H": 0.855,
"predicted_BB": 0.57,
"predicted_SO": 0.869,
"predicted_HR": 0.203,
"predicted_ERA": 4.2986,
"predicted_WHIP": 1.5138
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6065,
"form_weight": 0.3935,
"form_reliability": 0.3928,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.234,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3928,
"prior_weight": 0.6072
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.449,
"final": 0.1767,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.855,
"final": 0.9429,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.57,
"final": 0.2243,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.869,
"final": 0.9485,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.203,
"final": 0.0799,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2986,
"final": 4.2986,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5138,
"final": 1.5138,
"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.1957 |
| ESPN Rank | 226 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 4.1786 |
| Season WHIP | 1.2857 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"opponent": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"edges": {
"quality_edge": -0.3272,
"offense_edge": 0.0499,
"opponent_offense_edge": 0.063,
"defense_strength": -0.2242,
"opponent_defense_weakness": 0.0155,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9777,
"run_prevention": 1.0489,
"strikeout": 0.9851
},
"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": 18.2,
"bb_percent": 6.6,
"woba": 0.308,
"xwoba": 0.289,
"sweet_spot_percent": 26.1,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 23.9,
"avg_best_speed": 73.4743,
"avg_hyper_speed": 91.7696,
"whiff_percent": 23.4,
"swing_percent": 49.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.8049,
"command_and_miss": -0.2693,
"regression_edge": 0.5429,
"xwoba_edge": 0.7429,
"barrel_edge": 0.3556,
"hard_hit_edge": 2.1,
"whiff_edge": -0.3,
"bb_edge": 0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "657514",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1957,
"sample_weight": 0.45,
"run_prevention_factor": 0.9834,
"strikeout_factor": 0.983,
"walk_factor": 0.9775,
"homer_factor": 0.9394,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657514",
"espn_id": 35876,
"player_name": "Brennan Bernardino",
"team": "COL",
"role": "pitcher",
"espn_rank": 226,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 226,
"gp_value": 33.0,
"gp_rank": 13,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.1785,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 3.0,
"hld_rank": 139,
"ip_value": 28.0,
"ip_rank": 272,
"h_value": 28.0,
"h_rank": 222,
"er_value": 13.0,
"er_rank": 236,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 22.0,
"k_rank": 327,
"k_per_9_value": 7.0714283,
"k_per_9_rank": 32,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9925,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9925,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9727,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9923,
"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": 7,
"BB": 3,
"SO": 8,
"HR": 1,
"ERA": 5.1923076923076925,
"WHIP": 1.153846153846154,
"K9": 8.307692307692308,
"HR9": 1.0384615384615385,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "657514",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"role": "pitcher",
"player_id": "657514",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 67.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 3.6,
"Pitches": 13.4
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.6364,
"ER_per_IP": 0.81818,
"H_per_IP": 1.09091,
"BB_per_IP": 0.54545,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 3.0,
"SO": 8.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.7,
"BB": 0.3,
"SO": 0.8,
"HR": 0.1,
"BF": 3.8,
"Pitches": 13.4
},
"rates": {
"ERA": 5.1923,
"WHIP": 1.1538,
"ER_per_IP": 0.57692,
"H_per_IP": 0.80769,
"BB_per_IP": 0.34615,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 33,
"totals": {
"IP": 28.0,
"ER": 13.0,
"R": 16.0,
"H": 28.0,
"BB": 8.0,
"SO": 22.0,
"HR": 2.0,
"BF": 121.0,
"Pitches": 445.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3939,
"R": 0.4848,
"H": 0.8485,
"BB": 0.2424,
"SO": 0.6667,
"HR": 0.0606,
"BF": 3.6667,
"Pitches": 13.4848
},
"rates": {
"ERA": 4.1786,
"WHIP": 1.2857,
"ER_per_IP": 0.46429,
"H_per_IP": 1.0,
"BB_per_IP": 0.28571,
"SO_per_IP": 0.78571,
"HR_per_IP": 0.07143
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.446,
"predicted_H": 0.742,
"predicted_BB": 0.301,
"predicted_SO": 0.728,
"predicted_HR": 0.124,
"predicted_ERA": 5.2562,
"predicted_WHIP": 1.3669
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5503,
"form_weight": 0.4497,
"form_reliability": 0.5258,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.446,
"final": 0.2005,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.742,
"final": 0.3336,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.301,
"final": 0.6857,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.728,
"final": 0.8777,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.124,
"final": 0.0558,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2562,
"final": 5.2562,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3669,
"final": 1.3669,
"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.0975 |
| ESPN Rank | 469 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 5.9684 |
| Season WHIP | 1.6737 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"opponent": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"edges": {
"quality_edge": -0.3272,
"offense_edge": 0.0499,
"opponent_offense_edge": 0.063,
"defense_strength": -0.2242,
"opponent_defense_weakness": 0.0155,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9777,
"run_prevention": 1.0489,
"strikeout": 0.9851
},
"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.5,
"bb_percent": 12.2,
"woba": 0.332,
"xwoba": 0.302,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 78.7108,
"avg_hyper_speed": 94.5474,
"whiff_percent": 29.0,
"swing_percent": 48.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.1709,
"command_and_miss": 0.1357,
"regression_edge": 0.8571,
"xwoba_edge": 0.3714,
"barrel_edge": 0.8889,
"hard_hit_edge": 0.0143,
"whiff_edge": 0.5,
"bb_edge": -0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "675848",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0975,
"sample_weight": 0.45,
"run_prevention_factor": 0.9917,
"strikeout_factor": 1.0136,
"walk_factor": 1.0279,
"homer_factor": 0.9627,
"woba_minus_xwoba": 0.03,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "675848",
"espn_id": 5185107,
"player_name": "Juan Mejia",
"team": "COL",
"role": "pitcher",
"espn_rank": 469,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 469,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.9684,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 3.0,
"sv_rank": 43,
"hld_value": 4.0,
"hld_rank": 113,
"ip_value": 31.2,
"ip_rank": 210,
"h_value": 35.0,
"h_rank": 166,
"er_value": 21.0,
"er_rank": 136,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 18.0,
"bb_rank": 138,
"k_value": 36.0,
"k_rank": 181,
"k_per_9_value": 10.231579,
"k_per_9_rank": 23,
"whip_value": 1.6736,
"whip_rank": null,
"war_value": -0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9963,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9963,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0126,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9832,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0061,
"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": 11,
"H": 12,
"BB": 7,
"SO": 9,
"HR": 0,
"ERA": 11.423076923076923,
"WHIP": 2.1923076923076925,
"K9": 9.346153846153847,
"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-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "675848",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.271,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5564,
"prior_weight": 0.4436
},
"role": "pitcher",
"player_id": "675848",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 4.0,
"H": 5.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.8,
"H": 1.0,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 17.0
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.5,
"ER_per_IP": 0.64286,
"H_per_IP": 1.07143,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 11.0,
"R": 12.0,
"H": 12.0,
"BB": 7.0,
"SO": 9.0,
"HR": 0.0,
"BF": 46.0,
"Pitches": 190.0
},
"per_game": {
"IP": 1.0,
"ER": 1.1,
"R": 1.2,
"H": 1.2,
"BB": 0.7,
"SO": 0.9,
"HR": 0.0,
"BF": 4.6,
"Pitches": 19.0
},
"rates": {
"ERA": 11.4231,
"WHIP": 2.1923,
"ER_per_IP": 1.26923,
"H_per_IP": 1.38462,
"BB_per_IP": 0.80769,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.0
}
},
"season": {
"games": 29,
"totals": {
"IP": 31.2,
"ER": 21.0,
"R": 22.0,
"H": 35.0,
"BB": 18.0,
"SO": 36.0,
"HR": 2.0,
"BF": 147.0,
"Pitches": 619.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7241,
"R": 0.7586,
"H": 1.2069,
"BB": 0.6207,
"SO": 1.2414,
"HR": 0.069,
"BF": 5.069,
"Pitches": 21.3448
},
"rates": {
"ERA": 5.9684,
"WHIP": 1.6737,
"ER_per_IP": 0.66316,
"H_per_IP": 1.10526,
"BB_per_IP": 0.56842,
"SO_per_IP": 1.13684,
"HR_per_IP": 0.06316
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.495,
"predicted_H": 0.769,
"predicted_BB": 0.344,
"predicted_SO": 0.75,
"predicted_HR": 0.05,
"predicted_ERA": 6.3195,
"predicted_WHIP": 1.5802
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5374,
"form_weight": 0.4626,
"form_reliability": 0.5564,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.271,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5564,
"prior_weight": 0.4436
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.495,
"final": 0.7664,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.769,
"final": 1.4306,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.344,
"final": 0.6965,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.75,
"final": 0.8844,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.05,
"final": 0.0231,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.3195,
"final": 6.3195,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5802,
"final": 1.5802,
"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.212 | 0.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.022 | 1.000 | -0.022 | -1.000 |
| predicted_AB | 3.850 | 3.000 | 4.000 | Hitting_AB | 3.729 | 6.000 | -0.729 | -3.000 |
| predicted_AVG | 0.264 | 0.333 | 0.250 | Hitting_AVG | 0.280 | 0.333 | 0.053 | 0.000 |
| predicted_BB | 0.394 | 1.000 | 0.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 | 1.020 | 1.000 | 1.000 | Hitting_H | 1.044 | 2.000 | -0.044 | -1.000 |
| predicted_HR | 0.160 | 1.000 | 0.000 | Hitting_HR | 0.140 | 1.000 | 0.860 | 0.000 |
| predicted_OBP | 0.366 | 0.500 | 0.250 | Hitting_OBP | 0.360 | 0.333 | 0.140 | 0.167 |
| predicted_R | 0.470 | 1.000 | 1.000 | Hitting_R | 0.480 | 2.000 | 0.520 | -1.000 |
| predicted_RBI | 0.560 | 1.000 | 1.000 | Hitting_RBI | 0.537 | 2.000 | 0.463 | -1.000 |
| predicted_SLG | 0.507 | 1.333 | 0.250 | Hitting_SLG | 0.460 | 1.167 | 0.873 | 0.167 |
| predicted_SO | 0.591 | 0.000 | 1.000 | Hitting_SO | 0.611 | 0.000 | -0.611 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_HR: 0.1600 -> 1.0000 (boost 0.8400, better) |
| Biggest Deboost | predicted_AB: 3.8500 -> 3.0000 (deboost -0.8500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_2B: 0.2120 -> 0.2747 (boost 0.0627, better) | - | Final model input calibrated with local 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.5445 -> 0.5116 (deboost -0.0329, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.5559 -> 1.0000 (boost 0.4441, better) | predicted_BB: 0.4172 -> 0.0000 (deboost -0.4172, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.276 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5126 -> 1.0000 (boost 0.4874, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5116 -> 0.2500 (deboost -0.2616, 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_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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5116 (boost 0.2616, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681198",
"player_name": "TJ Rumfield",
"position": "1B",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.212,
"predicted_3B": 0.03,
"predicted_AB": 3.85,
"predicted_AVG": 0.264,
"predicted_BB": 0.394,
"predicted_H": 1.02,
"predicted_HR": 0.16,
"predicted_OBP": 0.366,
"predicted_R": 0.47,
"predicted_RBI": 0.56,
"predicted_SLG": 0.507,
"predicted_SO": 0.591
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2747,
"predicted_3B": 0.0468,
"predicted_AB": 3.802,
"predicted_AVG": 0.2824,
"predicted_BB": 0.4205,
"predicted_H": 1.0747,
"predicted_HBP": 0.055,
"predicted_HR": 0.1735,
"predicted_OBP": 0.3761,
"predicted_R": 0.5264,
"predicted_RBI": 0.5709,
"predicted_SLG": 0.5445,
"predicted_SO": 0.5813
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.2747,
"delta": 0.0627,
"percent_delta": 0.2958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0468,
"delta": 0.0168,
"percent_delta": 0.56,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 3.802,
"delta": -0.048,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2824,
"delta": 0.0184,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.4205,
"delta": 0.0265,
"percent_delta": 0.0673,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0747,
"delta": 0.0547,
"percent_delta": 0.0536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1735,
"delta": 0.0135,
"percent_delta": 0.0844,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.366,
"after": 0.3761,
"delta": 0.0101,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 0.5264,
"delta": 0.0564,
"percent_delta": 0.12,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5709,
"delta": 0.0109,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.5445,
"delta": 0.0375,
"percent_delta": 0.074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.591,
"after": 0.5813,
"delta": -0.0097,
"percent_delta": -0.0164,
"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_2B",
"before": 0.212,
"after": 0.2747,
"delta": 0.0627,
"percent_delta": 0.2958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2747,
"predicted_3B": 0.0468,
"predicted_AB": 3.802,
"predicted_AVG": 0.279,
"predicted_BB": 0.4172,
"predicted_H": 1.0608,
"predicted_HBP": 0.055,
"predicted_HR": 0.172,
"predicted_OBP": 0.3503,
"predicted_R": 0.5126,
"predicted_RBI": 0.5559,
"predicted_SLG": 0.5116,
"predicted_SO": 0.5858
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2747,
"after": 0.2747,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0468,
"after": 0.0468,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.802,
"after": 3.802,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2824,
"after": 0.279,
"delta": -0.0034,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4205,
"after": 0.4172,
"delta": -0.0033,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0747,
"after": 1.0608,
"delta": -0.0139,
"percent_delta": -0.0129,
"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.1735,
"after": 0.172,
"delta": -0.0015,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3761,
"after": 0.3503,
"delta": -0.0258,
"percent_delta": -0.0686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5264,
"after": 0.5126,
"delta": -0.0138,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5709,
"after": 0.5559,
"delta": -0.015,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5445,
"after": 0.5116,
"delta": -0.0329,
"percent_delta": -0.0604,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5813,
"after": 0.5858,
"delta": 0.0045,
"percent_delta": 0.0077,
"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.5445,
"after": 0.5116,
"delta": -0.0329,
"percent_delta": -0.0604,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.276 HR/AB=0.045",
"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.2747,
"after": 0.0,
"delta": -0.2747,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0468,
"after": 0.0,
"delta": -0.0468,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.802,
"after": 4.0,
"delta": 0.198,
"percent_delta": 0.0521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4172,
"after": 0.0,
"delta": -0.4172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0608,
"after": 1.0,
"delta": -0.0608,
"percent_delta": -0.0573,
"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.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5559,
"after": 1.0,
"delta": 0.4441,
"percent_delta": 0.7989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5858,
"after": 1.0,
"delta": 0.4142,
"percent_delta": 0.7071,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5559,
"after": 1.0,
"delta": 0.4441,
"percent_delta": 0.7989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4172,
"after": 0.0,
"delta": -0.4172,
"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.5126,
"after": 1.0,
"delta": 0.4874,
"percent_delta": 0.9508,
"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.5126,
"after": 1.0,
"delta": 0.4874,
"percent_delta": 0.9508,
"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.279,
"after": 0.25,
"delta": -0.029,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3503,
"after": 0.25,
"delta": -0.1003,
"percent_delta": -0.2863,
"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.5116,
"after": 0.25,
"delta": -0.2616,
"percent_delta": -0.5113,
"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.5116,
"after": 0.25,
"delta": -0.2616,
"percent_delta": -0.5113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 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": 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.279,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3503,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5116,
"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.279,
"delta": 0.029,
"percent_delta": 0.1161,
"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.25,
"after": 0.3503,
"delta": 0.1003,
"percent_delta": 0.4013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5116,
"delta": 0.2616,
"percent_delta": 1.0464,
"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.5116,
"delta": 0.2616,
"percent_delta": 1.0464,
"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.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 3.0,
"delta": -0.85,
"percent_delta": -0.2208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.279,
"delta": 0.015,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 1.0,
"delta": 0.606,
"percent_delta": 1.5381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0,
"delta": -0.02,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.366,
"after": 0.3503,
"delta": -0.0157,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.507,
"after": 0.5116,
"delta": 0.0046,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.16,
"after": 1.0,
"delta": 0.84,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 3.0,
"delta": -0.85,
"percent_delta": -0.2208,
"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.212 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.394 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.366 | - |
| predicted_R | 0.470 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.507 | - |
| predicted_SO | 0.591 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.063 |
| predicted_3B | 0.047 | 0.017 |
| predicted_AB | 3.802 | -0.048 |
| predicted_AVG | 0.282 | 0.018 |
| predicted_BB | 0.420 | 0.026 |
| predicted_H | 1.075 | 0.055 |
| predicted_HBP | 0.055 | - |
| predicted_HR | 0.173 | 0.013 |
| predicted_OBP | 0.376 | 0.010 |
| predicted_R | 0.526 | 0.056 |
| predicted_RBI | 0.571 | 0.011 |
| predicted_SLG | 0.544 | 0.037 |
| predicted_SO | 0.581 | -0.010 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.275 | 0.000 |
| predicted_3B | 0.047 | 0.000 |
| predicted_AB | 3.802 | 0.000 |
| predicted_AVG | 0.279 | -0.003 |
| predicted_BB | 0.417 | -0.003 |
| predicted_H | 1.061 | -0.014 |
| predicted_HBP | 0.055 | 0.000 |
| predicted_HR | 0.172 | -0.002 |
| predicted_OBP | 0.350 | -0.026 |
| predicted_R | 0.513 | -0.014 |
| predicted_RBI | 0.556 | -0.015 |
| predicted_SLG | 0.512 | -0.033 |
| predicted_SO | 0.586 | 0.004 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.276 HR/AB=0.045
| 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.275 |
| predicted_3B | 0.000 | -0.047 |
| predicted_AB | 4.000 | 0.198 |
| predicted_AVG | 0.250 | -0.029 |
| predicted_BB | 0.000 | -0.417 |
| predicted_H | 1.000 | -0.061 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.250 | -0.100 |
| predicted_R | 1.000 | 0.487 |
| predicted_RBI | 1.000 | 0.444 |
| predicted_SLG | 0.250 | -0.262 |
| predicted_SO | 1.000 | 0.414 |
Attached 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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 9.000 | 4.000 | 1.000 | 2.000 | 5.000 | 5.000 | 3.000 | 2.000 | 0.4500 | 0.5217 | 1.0500 | 0.4500 | 0.1000 | 0.2500 | 0.1500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 5.000 | 1.000 | 2.000 | 5.000 | 7.000 | 6.000 | 5.000 | 0.2703 | 0.3864 | 0.6216 | 0.2703 | 0.0541 | 0.1351 | 0.1622 | 0.1351 |
| season | 0.60 | 66 | - | 240.000 | 68.000 | 14.000 | 2.000 | 9.000 | 33.000 | 31.000 | 26.000 | 39.000 | 0.2833 | 0.3616 | 0.4708 | 0.2833 | 0.0375 | 0.1375 | 0.1083 | 0.1625 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3610 |
| predicted_3B | 0.0700 |
| predicted_AB | 3.7360 |
| predicted_AVG | 0.3077 |
| predicted_BB | 0.4570 |
| predicted_H | 1.1500 |
| predicted_HBP | 0.0550 |
| predicted_HR | 0.1920 |
| predicted_OBP | 0.3901 |
| predicted_R | 0.6040 |
| predicted_RBI | 0.5860 |
| predicted_SLG | 0.5961 |
| predicted_SO | 0.5680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.3610 | 0.2747 | model_form_blend |
| predicted_3B | 0.0300 | 0.0700 | 0.0468 | model_form_blend |
| predicted_AB | 3.8500 | 3.7360 | 3.8020 | model_form_blend |
| predicted_AVG | 0.2640 | 0.3077 | 0.2824 | model_form_blend |
| predicted_BB | 0.3940 | 0.4570 | 0.4205 | model_form_blend |
| predicted_H | 1.0200 | 1.1500 | 1.0747 | model_form_blend |
| predicted_HBP | - | 0.0550 | 0.0550 | form_only |
| predicted_HR | 0.1600 | 0.1920 | 0.1735 | model_form_blend |
| predicted_OBP | 0.3660 | 0.3901 | 0.3761 | model_form_blend |
| predicted_R | 0.4700 | 0.6040 | 0.5264 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5860 | 0.5709 | model_form_blend |
| predicted_SLG | 0.5070 | 0.5961 | 0.5445 | model_form_blend |
| predicted_SO | 0.5910 | 0.5680 | 0.5813 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 7 |
| 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 | 20260614_COL@OAK |
| game_type | full |
| mlbID | 681198 |
| playerID | 681198 |
| playerName | TJ Rumfield |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-14 |
| sl_k_percent | 14.8 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.358 |
| sl_xwoba | 0.332 |
| sl_xba | 0.256 |
| sl_xslg | 0.406 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 34.7 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 19.1 |
| 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.182 | 1.000 | 0.000 | Hitting_2B | 0.178 | 1.000 | 0.822 | 0.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 | 4.000 | Hitting_AB | 3.964 | 6.000 | 0.036 | -2.000 |
| predicted_AVG | 0.244 | 0.250 | 0.250 | Hitting_AVG | 0.248 | 0.833 | 0.002 | -0.583 |
| predicted_BB | 0.348 | 0.000 | 0.000 | Hitting_BB | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.980 | 1.000 | 1.000 | Hitting_H | 0.982 | 5.000 | 0.018 | -4.000 |
| predicted_HR | 0.260 | 0.000 | 0.000 | Hitting_HR | 0.276 | 2.000 | -0.276 | -2.000 |
| predicted_OBP | 0.328 | 0.250 | 0.250 | Hitting_OBP | 0.316 | 0.833 | -0.066 | -0.583 |
| predicted_R | 0.667 | 1.000 | 1.000 | Hitting_R | 0.680 | 3.000 | 0.320 | -2.000 |
| predicted_RBI | 0.620 | 2.000 | 1.000 | Hitting_RBI | 0.462 | 4.000 | 1.538 | -2.000 |
| predicted_SLG | 0.501 | 0.500 | 0.250 | Hitting_SLG | 0.501 | 2.000 | -0.001 | -1.500 |
| predicted_SO | 1.439 | 0.000 | 1.000 | Hitting_SO | 1.516 | 0.000 | -1.516 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.6200 -> 2.0000 (boost 1.3800, better) |
| Biggest Deboost | predicted_SO: 1.4390 -> 0.0000 (deboost -1.4390, 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_SLG: 0.5010 -> 0.5335 (boost 0.0325, better) | - | Final model input calibrated with local 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.3312 -> 0.3118 (deboost -0.0194, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 1 | 4 | 2 | 3 | predicted_RBI: 0.6275 -> 1.0000 (boost 0.3725, better) | predicted_SO: 1.4711 -> 1.0000 (deboost -0.4711, better) | AB rounded to 4 (raw=4.03), rates preserved: AVG=0.248 HR/AB=0.072 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6491 -> 1.0000 (boost 0.3509, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5166 -> 0.2500 (deboost -0.2666, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.5166 (boost 0.2666, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696100",
"player_name": "Hunter Goodman",
"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.182,
"predicted_3B": 0.0,
"predicted_AB": 4.03,
"predicted_AVG": 0.244,
"predicted_BB": 0.348,
"predicted_H": 0.98,
"predicted_HR": 0.26,
"predicted_OBP": 0.328,
"predicted_R": 0.667,
"predicted_RBI": 0.62,
"predicted_SLG": 0.501,
"predicted_SO": 1.439
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0004,
"predicted_AB": 3.9857,
"predicted_AVG": 0.2548,
"predicted_BB": 0.356,
"predicted_H": 1.0129,
"predicted_HBP": 0.037,
"predicted_HR": 0.2937,
"predicted_OBP": 0.3312,
"predicted_R": 0.6666,
"predicted_RBI": 0.6445,
"predicted_SLG": 0.5335,
"predicted_SO": 1.4597
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.185,
"delta": 0.003,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9857,
"delta": -0.0443,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2548,
"delta": 0.0108,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.356,
"delta": 0.008,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0129,
"delta": 0.0329,
"percent_delta": 0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.2937,
"delta": 0.0337,
"percent_delta": 0.1296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3312,
"delta": 0.0032,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6666,
"delta": -0.0004,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6445,
"delta": 0.0245,
"percent_delta": 0.0395,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.501,
"after": 0.5335,
"delta": 0.0325,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.439,
"after": 1.4597,
"delta": 0.0207,
"percent_delta": 0.0144,
"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.501,
"after": 0.5335,
"delta": 0.0325,
"percent_delta": 0.0649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0004,
"predicted_AB": 3.9857,
"predicted_AVG": 0.2509,
"predicted_BB": 0.3532,
"predicted_H": 0.9998,
"predicted_HBP": 0.037,
"predicted_HR": 0.2911,
"predicted_OBP": 0.3118,
"predicted_R": 0.6491,
"predicted_RBI": 0.6275,
"predicted_SLG": 0.5166,
"predicted_SO": 1.4711
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.185,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9857,
"after": 3.9857,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2548,
"after": 0.2509,
"delta": -0.0039,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.3532,
"delta": -0.0028,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0129,
"after": 0.9998,
"delta": -0.0131,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2937,
"after": 0.2911,
"delta": -0.0026,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3312,
"after": 0.3118,
"delta": -0.0194,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6666,
"after": 0.6491,
"delta": -0.0175,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6445,
"after": 0.6275,
"delta": -0.017,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5335,
"after": 0.5166,
"delta": -0.0169,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4597,
"after": 1.4711,
"delta": 0.0114,
"percent_delta": 0.0078,
"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.3312,
"after": 0.3118,
"delta": -0.0194,
"percent_delta": -0.0586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.03), rates preserved: AVG=0.248 HR/AB=0.072",
"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.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9857,
"after": 4.0,
"delta": 0.0143,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3532,
"after": 0.0,
"delta": -0.3532,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9998,
"after": 1.0,
"delta": 0.0002,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2911,
"after": 0.0,
"delta": -0.2911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6275,
"after": 1.0,
"delta": 0.3725,
"percent_delta": 0.5936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4711,
"after": 1.0,
"delta": -0.4711,
"percent_delta": -0.3202,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6275,
"after": 1.0,
"delta": 0.3725,
"percent_delta": 0.5936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4711,
"after": 1.0,
"delta": -0.4711,
"percent_delta": -0.3202,
"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": 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.6491,
"after": 1.0,
"delta": 0.3509,
"percent_delta": 0.5406,
"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.6491,
"after": 1.0,
"delta": 0.3509,
"percent_delta": 0.5406,
"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.2509,
"after": 0.25,
"delta": -0.0009,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3118,
"after": 0.25,
"delta": -0.0618,
"percent_delta": -0.1982,
"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.5166,
"after": 0.25,
"delta": -0.2666,
"percent_delta": -0.5161,
"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.5166,
"after": 0.25,
"delta": -0.2666,
"percent_delta": -0.5161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2509,
"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.3118,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5166,
"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.2509,
"delta": 0.0009,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3118,
"delta": 0.0618,
"percent_delta": 0.2474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.5166,
"delta": 0.2666,
"percent_delta": 1.0664,
"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.25,
"after": 0.5166,
"delta": 0.2666,
"percent_delta": 1.0664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 1.0,
"delta": 0.818,
"percent_delta": 4.4945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.244,
"after": 0.2509,
"delta": 0.0069,
"percent_delta": 0.0283,
"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.98,
"after": 1.0,
"delta": 0.02,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.328,
"after": 0.3118,
"delta": -0.0162,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 2.0,
"delta": 1.38,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.501,
"after": 0.5166,
"delta": 0.0156,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.439,
"after": 0.0,
"delta": -1.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.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.439,
"after": 0.0,
"delta": -1.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.348 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.501 | - |
| predicted_SO | 1.439 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.986 | -0.044 |
| predicted_AVG | 0.255 | 0.011 |
| predicted_BB | 0.356 | 0.008 |
| predicted_H | 1.013 | 0.033 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.294 | 0.034 |
| predicted_OBP | 0.331 | 0.003 |
| predicted_R | 0.667 | -0.000 |
| predicted_RBI | 0.644 | 0.024 |
| predicted_SLG | 0.533 | 0.032 |
| predicted_SO | 1.460 | 0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.986 | 0.000 |
| predicted_AVG | 0.251 | -0.004 |
| predicted_BB | 0.353 | -0.003 |
| predicted_H | 1.000 | -0.013 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.291 | -0.003 |
| predicted_OBP | 0.312 | -0.019 |
| predicted_R | 0.649 | -0.017 |
| predicted_RBI | 0.627 | -0.017 |
| predicted_SLG | 0.517 | -0.017 |
| predicted_SO | 1.471 | 0.011 |
AB rounded to 4 (raw=4.03), rates preserved: AVG=0.248 HR/AB=0.072
| 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.185 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.014 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.353 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | -0.291 |
| predicted_OBP | 0.250 | -0.062 |
| predicted_R | 1.000 | 0.351 |
| predicted_RBI | 1.000 | 0.373 |
| predicted_SLG | 0.250 | -0.267 |
| predicted_SO | 1.000 | -0.471 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 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 | - | 22.000 | 7.000 | 1.000 | 0.000 | 2.000 | 4.000 | 3.000 | 1.000 | 10.000 | 0.3182 | 0.3478 | 0.6364 | 0.3182 | 0.0909 | 0.1818 | 0.0454 | 0.4546 |
| last_10 | 0.20 | 10 | - | 38.000 | 11.000 | 2.000 | 0.000 | 5.000 | 10.000 | 8.000 | 6.000 | 15.000 | 0.2895 | 0.3778 | 0.7368 | 0.2895 | 0.1316 | 0.2632 | 0.1579 | 0.3947 |
| season | 0.60 | 66 | - | 252.000 | 63.000 | 12.000 | 0.000 | 20.000 | 37.000 | 44.000 | 23.000 | 95.000 | 0.2500 | 0.3214 | 0.5357 | 0.2500 | 0.0794 | 0.1468 | 0.0913 | 0.3770 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1890 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9250 |
| predicted_AVG | 0.2695 |
| predicted_BB | 0.3670 |
| predicted_H | 1.0580 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.3400 |
| predicted_OBP | 0.3356 |
| predicted_R | 0.6660 |
| predicted_RBI | 0.6780 |
| predicted_SLG | 0.5780 |
| predicted_SO | 1.4880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1890 | 0.1850 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0300 | 3.9250 | 3.9857 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2695 | 0.2548 | model_form_blend |
| predicted_BB | 0.3480 | 0.3670 | 0.3560 | model_form_blend |
| predicted_H | 0.9800 | 1.0580 | 1.0129 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.2600 | 0.3400 | 0.2937 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3356 | 0.3312 | model_form_blend |
| predicted_R | 0.6670 | 0.6660 | 0.6666 | model_form_blend |
| predicted_RBI | 0.6200 | 0.6780 | 0.6445 | model_form_blend |
| predicted_SLG | 0.5010 | 0.5780 | 0.5335 | model_form_blend |
| predicted_SO | 1.4390 | 1.4880 | 1.4597 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.833 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 5 |
| Hitting_HBP | 0 |
| Hitting_HR | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 12 |
| 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 | 20260614_COL@OAK |
| game_type | full |
| mlbID | 696100 |
| playerID | 696100 |
| playerName | Hunter Goodman |
| pos | C |
| started | True |
| startingPosition | C |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-14 |
| sl_k_percent | 34.7 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.348 |
| sl_xwoba | 0.317 |
| sl_xba | 0.224 |
| sl_xslg | 0.436 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 17.9 |
| sl_whiff_percent | 34.9 |
| 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.186 | 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.970 | 4.000 | 4.000 | Hitting_AB | 3.659 | 6.000 | 0.341 | -2.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.264 | 0.667 | -0.264 | -0.667 |
| predicted_BB | 0.356 | 1.000 | 0.000 | Hitting_BB | 0.319 | 1.000 | 0.681 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_H | 1.020 | 0.000 | 1.000 | Hitting_H | 0.968 | 4.000 | -0.968 | -4.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.059 | 2.000 | -0.059 | -2.000 |
| predicted_OBP | 0.353 | 0.200 | 0.250 | Hitting_OBP | 0.325 | 0.714 | -0.125 | -0.514 |
| predicted_R | 0.525 | 0.000 | 1.000 | Hitting_R | 0.557 | 3.000 | -0.557 | -3.000 |
| predicted_RBI | 0.640 | 0.000 | 1.000 | Hitting_RBI | 0.443 | 7.000 | -0.443 | -7.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_SLG | 0.437 | 0.000 | 0.250 | Hitting_SLG | 0.363 | 1.667 | -0.363 | -1.667 |
| predicted_SO | 0.983 | 1.000 | 1.000 | Hitting_SO | 1.178 | 1.000 | -0.178 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.3560 -> 1.0000 (boost 0.6440, better) |
| Biggest Deboost | predicted_H: 1.0200 -> 0.0000 (deboost -1.0200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_SLG: 0.4370 -> 0.4541 (boost 0.0171, better) | predicted_SO: 0.9830 -> 0.8938 (deboost -0.0892, better) | Final model input calibrated with local 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.3606 -> 0.3336 (deboost -0.0270, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.6576 -> 1.0000 (boost 0.3424, better) | predicted_BB: 0.3772 -> 0.0000 (deboost -0.3772, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.264 HR/AB=0.040 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5408 -> 1.0000 (boost 0.4592, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4372 -> 0.2500 (deboost -0.1872, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4372 (boost 0.1872, better) | - | 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.186,
"predicted_3B": 0.0,
"predicted_AB": 3.97,
"predicted_AVG": 0.256,
"predicted_BB": 0.356,
"predicted_H": 1.02,
"predicted_HR": 0.15,
"predicted_OBP": 0.353,
"predicted_R": 0.525,
"predicted_RBI": 0.64,
"predicted_SLG": 0.437,
"predicted_SO": 0.983
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1752,
"predicted_3B": 0.0008,
"predicted_AB": 3.8971,
"predicted_AVG": 0.2725,
"predicted_BB": 0.3802,
"predicted_H": 1.0625,
"predicted_HBP": 0.049,
"predicted_HR": 0.1608,
"predicted_OBP": 0.3606,
"predicted_R": 0.5554,
"predicted_RBI": 0.6754,
"predicted_SLG": 0.4541,
"predicted_SO": 0.8938
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.1752,
"delta": -0.0108,
"percent_delta": -0.0581,
"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": 3.97,
"after": 3.8971,
"delta": -0.0729,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2725,
"delta": 0.0165,
"percent_delta": 0.0645,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.3802,
"delta": 0.0242,
"percent_delta": 0.068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0625,
"delta": 0.0425,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1608,
"delta": 0.0108,
"percent_delta": 0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3606,
"delta": 0.0076,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.525,
"after": 0.5554,
"delta": 0.0304,
"percent_delta": 0.0579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6754,
"delta": 0.0354,
"percent_delta": 0.0553,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4541,
"delta": 0.0171,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.983,
"after": 0.8938,
"delta": -0.0892,
"percent_delta": -0.0907,
"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_SLG",
"before": 0.437,
"after": 0.4541,
"delta": 0.0171,
"percent_delta": 0.0391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.983,
"after": 0.8938,
"delta": -0.0892,
"percent_delta": -0.0907,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1752,
"predicted_3B": 0.0008,
"predicted_AB": 3.8971,
"predicted_AVG": 0.2691,
"predicted_BB": 0.3772,
"predicted_H": 1.0488,
"predicted_HBP": 0.049,
"predicted_HR": 0.1594,
"predicted_OBP": 0.3336,
"predicted_R": 0.5408,
"predicted_RBI": 0.6576,
"predicted_SLG": 0.4372,
"predicted_SO": 0.9008
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1752,
"after": 0.1752,
"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.8971,
"after": 3.8971,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2725,
"after": 0.2691,
"delta": -0.0034,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3802,
"after": 0.3772,
"delta": -0.003,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0625,
"after": 1.0488,
"delta": -0.0137,
"percent_delta": -0.0129,
"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.1608,
"after": 0.1594,
"delta": -0.0014,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3606,
"after": 0.3336,
"delta": -0.027,
"percent_delta": -0.0749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5554,
"after": 0.5408,
"delta": -0.0146,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6754,
"after": 0.6576,
"delta": -0.0178,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4541,
"after": 0.4372,
"delta": -0.0169,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8938,
"after": 0.9008,
"delta": 0.007,
"percent_delta": 0.0078,
"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.3606,
"after": 0.3336,
"delta": -0.027,
"percent_delta": -0.0749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.97), rates preserved: AVG=0.264 HR/AB=0.040",
"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.1752,
"after": 0.0,
"delta": -0.1752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8971,
"after": 4.0,
"delta": 0.1029,
"percent_delta": 0.0264,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3772,
"after": 0.0,
"delta": -0.3772,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0488,
"after": 1.0,
"delta": -0.0488,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1594,
"after": 0.0,
"delta": -0.1594,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6576,
"after": 1.0,
"delta": 0.3424,
"percent_delta": 0.5207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9008,
"after": 1.0,
"delta": 0.0992,
"percent_delta": 0.1101,
"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.6576,
"after": 1.0,
"delta": 0.3424,
"percent_delta": 0.5207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3772,
"after": 0.0,
"delta": -0.3772,
"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.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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.5408,
"after": 1.0,
"delta": 0.4592,
"percent_delta": 0.8491,
"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.5408,
"after": 1.0,
"delta": 0.4592,
"percent_delta": 0.8491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2691,
"after": 0.25,
"delta": -0.0191,
"percent_delta": -0.071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3336,
"after": 0.25,
"delta": -0.0836,
"percent_delta": -0.2506,
"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.4372,
"after": 0.25,
"delta": -0.1872,
"percent_delta": -0.4282,
"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.4372,
"after": 0.25,
"delta": -0.1872,
"percent_delta": -0.4282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2691,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3336,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4372,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2691,
"delta": 0.0191,
"percent_delta": 0.0765,
"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.3336,
"delta": 0.0836,
"percent_delta": 0.3345,
"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.4372,
"delta": 0.1872,
"percent_delta": 0.7487,
"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.4372,
"delta": 0.1872,
"percent_delta": 0.7487,
"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.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.256,
"after": 0.2691,
"delta": 0.0131,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 1.0,
"delta": 0.644,
"percent_delta": 1.809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"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.353,
"after": 0.3336,
"delta": -0.0194,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.525,
"after": 0.0,
"delta": -0.525,
"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.437,
"after": 0.4372,
"delta": 0.0002,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.983,
"after": 1.0,
"delta": 0.017,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.356,
"after": 1.0,
"delta": 0.644,
"percent_delta": 1.809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.186 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.353 | - |
| predicted_R | 0.525 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.437 | - |
| predicted_SO | 0.983 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | -0.011 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.897 | -0.073 |
| predicted_AVG | 0.273 | 0.017 |
| predicted_BB | 0.380 | 0.024 |
| predicted_H | 1.062 | 0.042 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.161 | 0.011 |
| predicted_OBP | 0.361 | 0.008 |
| predicted_R | 0.555 | 0.030 |
| predicted_RBI | 0.675 | 0.035 |
| predicted_SLG | 0.454 | 0.017 |
| predicted_SO | 0.894 | -0.089 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.897 | 0.000 |
| predicted_AVG | 0.269 | -0.003 |
| predicted_BB | 0.377 | -0.003 |
| predicted_H | 1.049 | -0.014 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.159 | -0.001 |
| predicted_OBP | 0.334 | -0.027 |
| predicted_R | 0.541 | -0.015 |
| predicted_RBI | 0.658 | -0.018 |
| predicted_SLG | 0.437 | -0.017 |
| predicted_SO | 0.901 | 0.007 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.264 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.175 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.103 |
| predicted_AVG | 0.250 | -0.019 |
| predicted_BB | 0.000 | -0.377 |
| predicted_H | 1.000 | -0.049 |
| predicted_HR | 0.000 | -0.159 |
| predicted_OBP | 0.250 | -0.084 |
| predicted_R | 1.000 | 0.459 |
| predicted_RBI | 1.000 | 0.342 |
| predicted_SLG | 0.250 | -0.187 |
| predicted_SO | 1.000 | 0.099 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 7.000 | 0.000 | 0.000 | 2.000 | 7.000 | 4.000 | 3.000 | 1.000 | 0.3333 | 0.4167 | 0.6190 | 0.3333 | 0.0952 | 0.3333 | 0.1429 | 0.0476 |
| last_10 | 0.20 | 10 | - | 41.000 | 14.000 | 2.000 | 0.000 | 3.000 | 10.000 | 7.000 | 5.000 | 5.000 | 0.3415 | 0.4255 | 0.6098 | 0.3415 | 0.0732 | 0.2439 | 0.1220 | 0.1220 |
| season | 0.60 | 59 | - | 209.000 | 58.000 | 11.000 | 0.000 | 5.000 | 29.000 | 31.000 | 21.000 | 58.000 | 0.2775 | 0.3504 | 0.4019 | 0.2775 | 0.0239 | 0.1388 | 0.1005 | 0.2775 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1600 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.7950 |
| predicted_AVG | 0.2957 |
| predicted_BB | 0.4140 |
| predicted_H | 1.1220 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.1760 |
| predicted_OBP | 0.3713 |
| predicted_R | 0.5980 |
| predicted_RBI | 0.7250 |
| predicted_SLG | 0.4781 |
| predicted_SO | 0.7690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.1600 | 0.1752 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.9700 | 3.7950 | 3.8971 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2957 | 0.2725 | model_form_blend |
| predicted_BB | 0.3560 | 0.4140 | 0.3802 | model_form_blend |
| predicted_H | 1.0200 | 1.1220 | 1.0625 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.1500 | 0.1760 | 0.1608 | model_form_blend |
| predicted_OBP | 0.3530 | 0.3713 | 0.3606 | model_form_blend |
| predicted_R | 0.5250 | 0.5980 | 0.5554 | model_form_blend |
| predicted_RBI | 0.6400 | 0.7250 | 0.6754 | model_form_blend |
| predicted_SLG | 0.4370 | 0.4781 | 0.4541 | model_form_blend |
| predicted_SO | 0.9830 | 0.7690 | 0.8938 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 185 |
| Season rows before report date | 185 |
| Report year | 2026 |
| Profile rows used | 59 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 6 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 7 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 10 |
| 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-SS |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 650489 |
| playerID | 650489 |
| playerName | Willi Castro |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.318 |
| sl_xwoba | 0.29 |
| sl_xba | 0.224 |
| sl_xslg | 0.344 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 42.2 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 29.1 |
| sl_swing_percent | 53.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.116 | 0.000 | 0.000 | Hitting_2B | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.007 | 1.000 | -0.007 | -1.000 |
| predicted_AB | 3.442 | 4.000 | 4.000 | Hitting_AB | 3.660 | 5.000 | 0.340 | -1.000 |
| predicted_AVG | 0.256 | 0.000 | 0.250 | Hitting_AVG | 0.249 | 0.200 | -0.249 | -0.200 |
| predicted_BB | 0.186 | 0.000 | 0.000 | Hitting_BB | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.042 | 0.000 | -0.042 | 0.000 |
| predicted_H | 0.370 | 0.000 | 1.000 | Hitting_H | 0.910 | 1.000 | -0.910 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_OBP | 0.320 | 0.000 | 0.250 | Hitting_OBP | 0.324 | 0.200 | -0.324 | -0.200 |
| predicted_R | 0.419 | 0.000 | 0.000 | Hitting_R | 0.340 | 2.000 | -0.340 | -2.000 |
| predicted_RBI | 0.240 | 0.000 | 0.000 | Hitting_RBI | 0.431 | 2.000 | -0.431 | -2.000 |
| predicted_SLG | 0.403 | 0.000 | 0.250 | Hitting_SLG | 0.342 | 0.600 | -0.342 | -0.600 |
| predicted_SO | 0.465 | 1.000 | 1.000 | Hitting_SO | 0.521 | 1.000 | 0.479 | 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: 3.4420 -> 4.0000 (boost 0.5580, better) |
| Biggest Deboost | predicted_R: 0.4190 -> 0.0000 (deboost -0.4190, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_H: 0.3700 -> 0.6103 (boost 0.2403, better) | - | Final model input calibrated with local 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.4118 -> 0.2895 (deboost -0.1223, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.4959 -> 1.0000 (boost 0.5041, worse) | predicted_RBI: 0.3808 -> 0.0000 (deboost -0.3808, worse) | AB rounded to 4 (raw=3.50), rates preserved: AVG=0.172 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4751 -> 0.0000 (deboost -0.4751, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1719 -> 0.2500 (boost 0.0781, better) | predicted_SLG: 0.2895 -> 0.2500 (deboost -0.0395, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.2895 (boost 0.0395, better) | predicted_AVG: 0.2500 -> 0.1719 (deboost -0.0781, 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.116,
"predicted_3B": 0.023,
"predicted_AB": 3.442,
"predicted_AVG": 0.256,
"predicted_BB": 0.186,
"predicted_H": 0.37,
"predicted_HR": 0.05,
"predicted_OBP": 0.32,
"predicted_R": 0.419,
"predicted_RBI": 0.24,
"predicted_SLG": 0.403,
"predicted_SO": 0.465
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1184,
"predicted_3B": 0.0392,
"predicted_AB": 3.5036,
"predicted_AVG": 0.2608,
"predicted_BB": 0.2213,
"predicted_H": 0.6103,
"predicted_HBP": 0.194,
"predicted_HR": 0.0723,
"predicted_OBP": 0.333,
"predicted_R": 0.4879,
"predicted_RBI": 0.3911,
"predicted_SLG": 0.4118,
"predicted_SO": 0.4921
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.116,
"after": 0.1184,
"delta": 0.0024,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0392,
"delta": 0.0162,
"percent_delta": 0.7043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.442,
"after": 3.5036,
"delta": 0.0616,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2608,
"delta": 0.0048,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.2213,
"delta": 0.0353,
"percent_delta": 0.1898,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.37,
"after": 0.6103,
"delta": 0.2403,
"percent_delta": 0.6495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0723,
"delta": 0.0223,
"percent_delta": 0.446,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.333,
"delta": 0.013,
"percent_delta": 0.0406,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.4879,
"delta": 0.0689,
"percent_delta": 0.1644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.3911,
"delta": 0.1511,
"percent_delta": 0.6296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.4118,
"delta": 0.0088,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.465,
"after": 0.4921,
"delta": 0.0271,
"percent_delta": 0.0583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.37,
"after": 0.6103,
"delta": 0.2403,
"percent_delta": 0.6495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1184,
"predicted_3B": 0.0392,
"predicted_AB": 3.5036,
"predicted_AVG": 0.1719,
"predicted_BB": 0.2196,
"predicted_H": 0.6024,
"predicted_HBP": 0.194,
"predicted_HR": 0.0717,
"predicted_OBP": 0.2208,
"predicted_R": 0.4751,
"predicted_RBI": 0.3808,
"predicted_SLG": 0.2895,
"predicted_SO": 0.4959
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1184,
"after": 0.1184,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0392,
"after": 0.0392,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5036,
"after": 3.5036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2608,
"after": 0.1719,
"delta": -0.0889,
"percent_delta": -0.3409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2213,
"after": 0.2196,
"delta": -0.0017,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6103,
"after": 0.6024,
"delta": -0.0079,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.194,
"after": 0.194,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0723,
"after": 0.0717,
"delta": -0.0006,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2208,
"delta": -0.1122,
"percent_delta": -0.3369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4879,
"after": 0.4751,
"delta": -0.0128,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3911,
"after": 0.3808,
"delta": -0.0103,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4118,
"after": 0.2895,
"delta": -0.1223,
"percent_delta": -0.297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4921,
"after": 0.4959,
"delta": 0.0038,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4118,
"after": 0.2895,
"delta": -0.1223,
"percent_delta": -0.297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.50), rates preserved: AVG=0.172 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.1184,
"after": 0.0,
"delta": -0.1184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0392,
"after": 0.0,
"delta": -0.0392,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5036,
"after": 4.0,
"delta": 0.4964,
"percent_delta": 0.1417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2196,
"after": 0.0,
"delta": -0.2196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6024,
"after": 1.0,
"delta": 0.3976,
"percent_delta": 0.66,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.194,
"after": 0.0,
"delta": -0.194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0717,
"after": 0.0,
"delta": -0.0717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3808,
"after": 0.0,
"delta": -0.3808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4959,
"after": 1.0,
"delta": 0.5041,
"percent_delta": 1.0165,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.4959,
"after": 1.0,
"delta": 0.5041,
"percent_delta": 1.0165,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3808,
"after": 0.0,
"delta": -0.3808,
"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.4751,
"after": 0.0,
"delta": -0.4751,
"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.4751,
"after": 0.0,
"delta": -0.4751,
"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.1719,
"after": 0.25,
"delta": 0.0781,
"percent_delta": 0.4543,
"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.2208,
"after": 0.25,
"delta": 0.0292,
"percent_delta": 0.1322,
"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.2895,
"after": 0.25,
"delta": -0.0395,
"percent_delta": -0.1364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1719,
"after": 0.25,
"delta": 0.0781,
"percent_delta": 0.4543,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2895,
"after": 0.25,
"delta": -0.0395,
"percent_delta": -0.1364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1719,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2208,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2895,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1719,
"delta": -0.0781,
"percent_delta": -0.3122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2208,
"delta": -0.0292,
"percent_delta": -0.1169,
"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.2895,
"delta": 0.0395,
"percent_delta": 0.1579,
"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.2895,
"delta": 0.0395,
"percent_delta": 0.1579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1719,
"delta": -0.0781,
"percent_delta": -0.3122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.116,
"after": 0.0,
"delta": -0.116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.442,
"after": 4.0,
"delta": 0.558,
"percent_delta": 0.1621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.1719,
"delta": -0.0841,
"percent_delta": -0.3285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.0,
"delta": -0.186,
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.2208,
"delta": -0.0992,
"percent_delta": -0.31,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"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.403,
"after": 0.2895,
"delta": -0.1135,
"percent_delta": -0.2816,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.465,
"after": 1.0,
"delta": 0.535,
"percent_delta": 1.1505,
"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": 3.442,
"after": 4.0,
"delta": 0.558,
"percent_delta": 0.1621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.419,
"after": 0.0,
"delta": -0.419,
"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.116 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.442 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.186 | - |
| predicted_H | 0.370 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.419 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 0.465 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | 0.002 |
| predicted_3B | 0.039 | 0.016 |
| predicted_AB | 3.504 | 0.062 |
| predicted_AVG | 0.261 | 0.005 |
| predicted_BB | 0.221 | 0.035 |
| predicted_H | 0.610 | 0.240 |
| predicted_HBP | 0.194 | - |
| predicted_HR | 0.072 | 0.022 |
| predicted_OBP | 0.333 | 0.013 |
| predicted_R | 0.488 | 0.069 |
| predicted_RBI | 0.391 | 0.151 |
| predicted_SLG | 0.412 | 0.009 |
| predicted_SO | 0.492 | 0.027 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 3.504 | 0.000 |
| predicted_AVG | 0.172 | -0.089 |
| predicted_BB | 0.220 | -0.002 |
| predicted_H | 0.602 | -0.008 |
| predicted_HBP | 0.194 | 0.000 |
| predicted_HR | 0.072 | -0.001 |
| predicted_OBP | 0.221 | -0.112 |
| predicted_R | 0.475 | -0.013 |
| predicted_RBI | 0.381 | -0.010 |
| predicted_SLG | 0.289 | -0.122 |
| predicted_SO | 0.496 | 0.004 |
AB rounded to 4 (raw=3.50), rates preserved: AVG=0.172 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 | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.118 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 4.000 | 0.496 |
| predicted_AVG | 0.250 | 0.078 |
| predicted_BB | 0.000 | -0.220 |
| predicted_H | 1.000 | 0.398 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.250 | 0.029 |
| predicted_R | 0.000 | -0.475 |
| predicted_RBI | 0.000 | -0.381 |
| predicted_SLG | 0.250 | -0.039 |
| predicted_SO | 1.000 | 0.504 |
Attached 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 | 5 | - | 19.000 | 4.000 | 0.000 | 1.000 | 1.000 | 6.000 | 5.000 | 2.000 | 3.000 | 0.2105 | 0.3182 | 0.4737 | 0.2105 | 0.0526 | 0.3158 | 0.1053 | 0.1579 |
| last_10 | 0.20 | 10 | - | 36.000 | 12.000 | 2.000 | 1.000 | 1.000 | 6.000 | 8.000 | 4.000 | 4.000 | 0.3333 | 0.4286 | 0.5278 | 0.3333 | 0.0278 | 0.1667 | 0.1111 | 0.1111 |
| season | 0.60 | 43 | - | 148.000 | 40.000 | 5.000 | 1.000 | 3.000 | 20.000 | 18.000 | 8.000 | 20.000 | 0.2703 | 0.3494 | 0.3784 | 0.2703 | 0.0203 | 0.1351 | 0.0541 | 0.1351 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1220 |
| predicted_3B | 0.0630 |
| predicted_AB | 3.5940 |
| predicted_AVG | 0.2678 |
| predicted_BB | 0.2730 |
| predicted_H | 0.9630 |
| predicted_HBP | 0.1940 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.3520 |
| predicted_R | 0.5890 |
| predicted_RBI | 0.6130 |
| predicted_SLG | 0.4246 |
| predicted_SO | 0.5320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1160 | 0.1220 | 0.1184 | model_form_blend |
| predicted_3B | 0.0230 | 0.0630 | 0.0392 | model_form_blend |
| predicted_AB | 3.4420 | 3.5940 | 3.5036 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2678 | 0.2608 | model_form_blend |
| predicted_BB | 0.1860 | 0.2730 | 0.2213 | model_form_blend |
| predicted_H | 0.3700 | 0.9630 | 0.6103 | model_form_blend |
| predicted_HBP | - | 0.1940 | 0.1940 | form_only |
| predicted_HR | 0.0500 | 0.1050 | 0.0723 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3520 | 0.3330 | model_form_blend |
| predicted_R | 0.4190 | 0.5890 | 0.4879 | model_form_blend |
| predicted_RBI | 0.2400 | 0.6130 | 0.3911 | model_form_blend |
| predicted_SLG | 0.4030 | 0.4246 | 0.4118 | model_form_blend |
| predicted_SO | 0.4650 | 0.5320 | 0.4921 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 144 |
| Season rows before report date | 144 |
| Report year | 2026 |
| Profile rows used | 43 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 1 |
| 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 | 2 |
| 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 | RF |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 671289 |
| playerID | 671289 |
| playerName | Tyler Freeman |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-14 |
| sl_k_percent | 11.5 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.331 |
| sl_xwoba | 0.332 |
| sl_xba | 0.279 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 33.6 |
| sl_exit_velocity_avg | 87.3 |
| sl_launch_angle_avg | 9.9 |
| sl_whiff_percent | 11.2 |
| 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.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.167 | 0.000 | 0.000 | Hitting_3B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_AB | 4.060 | 4.000 | 4.000 | Hitting_AB | 4.000 | 5.000 | 0.000 | -1.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.250 | 0.400 | -0.250 | -0.400 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 1.000 | 2.000 | -1.000 | -2.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.250 | Hitting_OBP | 0.308 | 0.500 | -0.308 | -0.500 |
| predicted_R | 0.833 | 0.000 | 1.000 | Hitting_R | 0.833 | 3.000 | -0.833 | -3.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_SLG | 0.440 | 0.000 | 0.250 | Hitting_SLG | 0.583 | 0.400 | -0.583 | -0.400 |
| predicted_SO | 0.833 | 1.000 | 1.000 | Hitting_SO | 0.833 | 0.000 | 0.167 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.8330 -> 1.0000 (boost 0.1670, 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 | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4400 -> 0.4480 (boost 0.0080, better) | - | Final model input calibrated with local 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.4480 -> 0.4623 (boost 0.0143, better) | predicted_OBP: 0.2999 -> 0.2905 (deboost -0.0094, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_RBI: 0.5788 -> 1.0000 (boost 0.4212, better) | predicted_BB: 0.3107 -> 0.0000 (deboost -0.3107, worse) | AB rounded to 4 (raw=4.06), rates preserved: AVG=0.235 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7762 -> 1.0000 (boost 0.2238, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2360 -> 0.2500 (boost 0.0140, better) | predicted_SLG: 0.4623 -> 0.2500 (deboost -0.2123, 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_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_SLG: 0.2500 -> 0.4623 (boost 0.2123, better) | predicted_AVG: 0.2500 -> 0.2360 (deboost -0.0140, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694249",
"player_name": "Cole Carrigg",
"position": "CF",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.167,
"predicted_AB": 4.06,
"predicted_AVG": 0.235,
"predicted_BB": 0.333,
"predicted_H": 0.96,
"predicted_HR": 0.2,
"predicted_OBP": 0.301,
"predicted_R": 0.833,
"predicted_RBI": 0.58,
"predicted_SLG": 0.44,
"predicted_SO": 0.833
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0308,
"predicted_3B": 0.1242,
"predicted_AB": 4.0442,
"predicted_AVG": 0.2381,
"predicted_BB": 0.3131,
"predicted_H": 0.967,
"predicted_HBP": 0.02,
"predicted_HR": 0.2138,
"predicted_OBP": 0.2999,
"predicted_R": 0.7972,
"predicted_RBI": 0.5944,
"predicted_SLG": 0.448,
"predicted_SO": 0.833
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0308,
"delta": 0.0308,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.167,
"after": 0.1242,
"delta": -0.0428,
"percent_delta": -0.2563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.06,
"after": 4.0442,
"delta": -0.0158,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2381,
"delta": 0.0031,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3131,
"delta": -0.0199,
"percent_delta": -0.0598,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.967,
"delta": 0.007,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2138,
"delta": 0.0138,
"percent_delta": 0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2999,
"delta": -0.0011,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.833,
"after": 0.7972,
"delta": -0.0358,
"percent_delta": -0.043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5944,
"delta": 0.0144,
"percent_delta": 0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.448,
"delta": 0.008,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.833,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_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.44,
"after": 0.448,
"delta": 0.008,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 6,
"season": 6
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0308,
"predicted_3B": 0.1242,
"predicted_AB": 4.0442,
"predicted_AVG": 0.236,
"predicted_BB": 0.3107,
"predicted_H": 0.9545,
"predicted_HBP": 0.02,
"predicted_HR": 0.2119,
"predicted_OBP": 0.2905,
"predicted_R": 0.7762,
"predicted_RBI": 0.5788,
"predicted_SLG": 0.4623,
"predicted_SO": 0.8395
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0308,
"after": 0.0308,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1242,
"after": 0.1242,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0442,
"after": 4.0442,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2381,
"after": 0.236,
"delta": -0.0021,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3131,
"after": 0.3107,
"delta": -0.0024,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.967,
"after": 0.9545,
"delta": -0.0125,
"percent_delta": -0.0129,
"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.2138,
"after": 0.2119,
"delta": -0.0019,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2999,
"after": 0.2905,
"delta": -0.0094,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7972,
"after": 0.7762,
"delta": -0.021,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5944,
"after": 0.5788,
"delta": -0.0156,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4623,
"delta": 0.0143,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8395,
"delta": 0.0065,
"percent_delta": 0.0078,
"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.448,
"after": 0.4623,
"delta": 0.0143,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2999,
"after": 0.2905,
"delta": -0.0094,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.06), rates preserved: AVG=0.235 HR/AB=0.052",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0308,
"after": 0.0,
"delta": -0.0308,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1242,
"after": 0.0,
"delta": -0.1242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0442,
"after": 4.0,
"delta": -0.0442,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3107,
"after": 0.0,
"delta": -0.3107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9545,
"after": 1.0,
"delta": 0.0455,
"percent_delta": 0.0477,
"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.2119,
"after": 0.0,
"delta": -0.2119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5788,
"after": 1.0,
"delta": 0.4212,
"percent_delta": 0.7277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8395,
"after": 1.0,
"delta": 0.1605,
"percent_delta": 0.1912,
"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_RBI",
"before": 0.5788,
"after": 1.0,
"delta": 0.4212,
"percent_delta": 0.7277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3107,
"after": 0.0,
"delta": -0.3107,
"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.7762,
"after": 1.0,
"delta": 0.2238,
"percent_delta": 0.2883,
"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.7762,
"after": 1.0,
"delta": 0.2238,
"percent_delta": 0.2883,
"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.236,
"after": 0.25,
"delta": 0.014,
"percent_delta": 0.0593,
"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.2905,
"after": 0.25,
"delta": -0.0405,
"percent_delta": -0.1394,
"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.4623,
"after": 0.25,
"delta": -0.2123,
"percent_delta": -0.4592,
"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.236,
"after": 0.25,
"delta": 0.014,
"percent_delta": 0.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4623,
"after": 0.25,
"delta": -0.2123,
"percent_delta": -0.4592,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.236,
"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.2905,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4623,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.236,
"delta": -0.014,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2905,
"delta": 0.0405,
"percent_delta": 0.1621,
"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.4623,
"delta": 0.2123,
"percent_delta": 0.849,
"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.4623,
"delta": 0.2123,
"percent_delta": 0.849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.236,
"delta": -0.014,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "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.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.235,
"after": 0.236,
"delta": 0.001,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.0,
"delta": -0.96,
"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.301,
"after": 0.2905,
"delta": -0.0105,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.833,
"after": 0.0,
"delta": -0.833,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4623,
"delta": 0.0223,
"percent_delta": 0.0507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"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.000 | - |
| predicted_3B | 0.167 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.833 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 0.833 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.031 | 0.031 |
| predicted_3B | 0.124 | -0.043 |
| predicted_AB | 4.044 | -0.016 |
| predicted_AVG | 0.238 | 0.003 |
| predicted_BB | 0.313 | -0.020 |
| predicted_H | 0.967 | 0.007 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.214 | 0.014 |
| predicted_OBP | 0.300 | -0.001 |
| predicted_R | 0.797 | -0.036 |
| predicted_RBI | 0.594 | 0.014 |
| predicted_SLG | 0.448 | 0.008 |
| predicted_SO | 0.833 | 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.031 | 0.000 |
| predicted_3B | 0.124 | 0.000 |
| predicted_AB | 4.044 | 0.000 |
| predicted_AVG | 0.236 | -0.002 |
| predicted_BB | 0.311 | -0.002 |
| predicted_H | 0.955 | -0.012 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.212 | -0.002 |
| predicted_OBP | 0.290 | -0.009 |
| predicted_R | 0.776 | -0.021 |
| predicted_RBI | 0.579 | -0.016 |
| predicted_SLG | 0.462 | 0.014 |
| predicted_SO | 0.840 | 0.007 |
AB rounded to 4 (raw=4.06), rates preserved: AVG=0.235 HR/AB=0.052
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.031 |
| predicted_3B | 0.000 | -0.124 |
| predicted_AB | 4.000 | -0.044 |
| predicted_AVG | 0.250 | 0.014 |
| predicted_BB | 0.000 | -0.311 |
| predicted_H | 1.000 | 0.045 |
| predicted_HR | 0.000 | -0.212 |
| predicted_OBP | 0.250 | -0.040 |
| predicted_R | 1.000 | 0.224 |
| predicted_RBI | 1.000 | 0.421 |
| predicted_SLG | 0.250 | -0.212 |
| predicted_SO | 1.000 | 0.160 |
Attached 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 0.000 | 0.000 | 2.000 | 4.000 | 5.000 | 1.000 | 4.000 | 0.2381 | 0.2727 | 0.5238 | 0.2381 | 0.0952 | 0.1905 | 0.0476 | 0.1905 |
| last_10 | 0.20 | 6 | - | 24.000 | 6.000 | 0.000 | 1.000 | 2.000 | 4.000 | 5.000 | 2.000 | 5.000 | 0.2500 | 0.3077 | 0.5833 | 0.2500 | 0.0833 | 0.1667 | 0.0833 | 0.2083 |
| season | 0.60 | 6 | - | 24.000 | 6.000 | 0.000 | 1.000 | 2.000 | 4.000 | 5.000 | 2.000 | 5.000 | 0.2500 | 0.3077 | 0.5833 | 0.2500 | 0.0833 | 0.1667 | 0.0833 | 0.2083 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1050 |
| predicted_3B | 0.0210 |
| predicted_AB | 4.0060 |
| predicted_AVG | 0.2457 |
| predicted_BB | 0.2650 |
| predicted_H | 0.9840 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.2470 |
| predicted_OBP | 0.2973 |
| predicted_R | 0.7110 |
| predicted_RBI | 0.6290 |
| predicted_SLG | 0.4672 |
| predicted_SO | 0.8330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1050 | 0.0308 | model_form_blend |
| predicted_3B | 0.1670 | 0.0210 | 0.1242 | model_form_blend |
| predicted_AB | 4.0600 | 4.0060 | 4.0442 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2457 | 0.2381 | model_form_blend |
| predicted_BB | 0.3330 | 0.2650 | 0.3131 | model_form_blend |
| predicted_H | 0.9600 | 0.9840 | 0.9670 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.2000 | 0.2470 | 0.2138 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2973 | 0.2999 | model_form_blend |
| predicted_R | 0.8330 | 0.7110 | 0.7972 | model_form_blend |
| predicted_RBI | 0.5800 | 0.6290 | 0.5944 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4672 | 0.4480 | model_form_blend |
| predicted_SO | 0.8330 | 0.8330 | 0.8330 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| 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 | 20260614_COL@OAK |
| game_type | full |
| mlbID | 694249 |
| playerID | 694249 |
| playerName | Cole Carrigg |
| pos | OF |
| started | True |
| startingPosition | CF |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.366 |
| sl_xwoba | 0.24 |
| sl_xba | 0.162 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 21.4 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 21.4 |
| sl_whiff_percent | 15.2 |
| sl_swing_percent | 62.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.156 | 0.000 | -0.156 | 0.000 |
| predicted_3B | 0.059 | 0.000 | 0.000 | Hitting_3B | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_AB | 3.412 | 4.000 | 4.000 | Hitting_AB | 3.247 | 0.000 | 0.753 | 4.000 |
| predicted_AVG | 0.266 | 0.000 | 0.250 | Hitting_AVG | 0.258 | - | -0.258 | - |
| predicted_BB | 0.196 | 0.000 | 0.000 | Hitting_BB | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 1.000 | -0.039 | -1.000 |
| predicted_H | 0.800 | 0.000 | 1.000 | Hitting_H | 0.838 | 0.000 | -0.838 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.314 | 0.000 | 0.250 | Hitting_OBP | 0.299 | - | -0.299 | - |
| predicted_R | 0.412 | 0.000 | 0.000 | Hitting_R | 0.331 | 0.000 | -0.331 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.468 | 0.000 | -0.468 | 0.000 |
| predicted_SLG | 0.413 | 0.000 | 0.250 | Hitting_SLG | 0.398 | - | -0.398 | - |
| predicted_SO | 0.745 | 0.000 | 1.000 | Hitting_SO | 0.688 | 0.000 | -0.688 | 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.4120 -> 4.0000 (boost 0.5880, 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 | 4 | 4 | 0 | 3 | 1 | predicted_AB: 3.4120 -> 3.5914 (boost 0.1794, better) | - | Final model input calibrated with local 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.3147 -> 0.2902 (deboost -0.0245, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.5914 -> 4.0000 (boost 0.4086, better) | predicted_RBI: 0.4476 -> 0.0000 (deboost -0.4476, worse) | AB rounded to 4 (raw=3.59), rates preserved: AVG=0.248 HR/AB=0.025 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4195 -> 0.0000 (deboost -0.4195, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4144 -> 0.2500 (deboost -0.1644, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 1 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.4144 (boost 0.1644, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664983",
"player_name": "Jake McCarthy",
"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.216,
"predicted_3B": 0.059,
"predicted_AB": 3.412,
"predicted_AVG": 0.266,
"predicted_BB": 0.196,
"predicted_H": 0.8,
"predicted_HR": 0.09,
"predicted_OBP": 0.314,
"predicted_R": 0.412,
"predicted_RBI": 0.42,
"predicted_SLG": 0.413,
"predicted_SO": 0.745
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2262,
"predicted_3B": 0.0496,
"predicted_AB": 3.5914,
"predicted_AVG": 0.2687,
"predicted_BB": 0.2157,
"predicted_H": 0.902,
"predicted_HBP": 0.016,
"predicted_HR": 0.0916,
"predicted_OBP": 0.3147,
"predicted_R": 0.4308,
"predicted_RBI": 0.4597,
"predicted_SLG": 0.4189,
"predicted_SO": 0.8109
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.216,
"after": 0.2262,
"delta": 0.0102,
"percent_delta": 0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0496,
"delta": -0.0094,
"percent_delta": -0.1593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.412,
"after": 3.5914,
"delta": 0.1794,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2687,
"delta": 0.0027,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.196,
"after": 0.2157,
"delta": 0.0197,
"percent_delta": 0.1005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.902,
"delta": 0.102,
"percent_delta": 0.1275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0916,
"delta": 0.0016,
"percent_delta": 0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3147,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.4308,
"delta": 0.0188,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4597,
"delta": 0.0397,
"percent_delta": 0.0945,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4189,
"delta": 0.0059,
"percent_delta": 0.0143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 0.8109,
"delta": 0.0659,
"percent_delta": 0.0885,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.412,
"after": 3.5914,
"delta": 0.1794,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2262,
"predicted_3B": 0.0496,
"predicted_AB": 3.5914,
"predicted_AVG": 0.2479,
"predicted_BB": 0.214,
"predicted_H": 0.8904,
"predicted_HBP": 0.016,
"predicted_HR": 0.0908,
"predicted_OBP": 0.2902,
"predicted_R": 0.4195,
"predicted_RBI": 0.4476,
"predicted_SLG": 0.4144,
"predicted_SO": 0.8172
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2262,
"after": 0.2262,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0496,
"after": 0.0496,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5914,
"after": 3.5914,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2687,
"after": 0.2479,
"delta": -0.0208,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2157,
"after": 0.214,
"delta": -0.0017,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.902,
"after": 0.8904,
"delta": -0.0116,
"percent_delta": -0.0129,
"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.0916,
"after": 0.0908,
"delta": -0.0008,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3147,
"after": 0.2902,
"delta": -0.0245,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4308,
"after": 0.4195,
"delta": -0.0113,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4597,
"after": 0.4476,
"delta": -0.0121,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4189,
"after": 0.4144,
"delta": -0.0045,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8109,
"after": 0.8172,
"delta": 0.0063,
"percent_delta": 0.0078,
"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.3147,
"after": 0.2902,
"delta": -0.0245,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.59), rates preserved: AVG=0.248 HR/AB=0.025",
"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.2262,
"after": 0.0,
"delta": -0.2262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0496,
"after": 0.0,
"delta": -0.0496,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5914,
"after": 4.0,
"delta": 0.4086,
"percent_delta": 0.1138,
"direction": "boost",
"projection_effect": "better",
"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.8904,
"after": 1.0,
"delta": 0.1096,
"percent_delta": 0.1231,
"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.0908,
"after": 0.0,
"delta": -0.0908,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4476,
"after": 0.0,
"delta": -0.4476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8172,
"after": 1.0,
"delta": 0.1828,
"percent_delta": 0.2237,
"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.5914,
"after": 4.0,
"delta": 0.4086,
"percent_delta": 0.1138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4476,
"after": 0.0,
"delta": -0.4476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.4195,
"after": 0.0,
"delta": -0.4195,
"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.4195,
"after": 0.0,
"delta": -0.4195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2479,
"after": 0.25,
"delta": 0.0021,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2902,
"after": 0.25,
"delta": -0.0402,
"percent_delta": -0.1385,
"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.4144,
"after": 0.25,
"delta": -0.1644,
"percent_delta": -0.3967,
"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.4144,
"after": 0.25,
"delta": -0.1644,
"percent_delta": -0.3967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2479,
"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.2902,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4144,
"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.2479,
"delta": -0.0021,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2902,
"delta": 0.0402,
"percent_delta": 0.1609,
"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.4144,
"delta": 0.1644,
"percent_delta": 0.6575,
"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.25,
"after": 0.4144,
"delta": 0.1644,
"percent_delta": 0.6575,
"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.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.412,
"after": 4.0,
"delta": 0.588,
"percent_delta": 0.1723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2479,
"delta": -0.0181,
"percent_delta": -0.068,
"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.8,
"after": 0.0,
"delta": -0.8,
"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.314,
"after": 0.2902,
"delta": -0.0238,
"percent_delta": -0.0758,
"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.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4144,
"delta": 0.0014,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.745,
"after": 0.0,
"delta": -0.745,
"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.412,
"after": 4.0,
"delta": 0.588,
"percent_delta": 0.1723,
"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.216 | - |
| predicted_3B | 0.059 | - |
| predicted_AB | 3.412 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.196 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.745 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | 0.010 |
| predicted_3B | 0.050 | -0.009 |
| predicted_AB | 3.591 | 0.179 |
| predicted_AVG | 0.269 | 0.003 |
| predicted_BB | 0.216 | 0.020 |
| predicted_H | 0.902 | 0.102 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.092 | 0.002 |
| predicted_OBP | 0.315 | 0.001 |
| predicted_R | 0.431 | 0.019 |
| predicted_RBI | 0.460 | 0.040 |
| predicted_SLG | 0.419 | 0.006 |
| predicted_SO | 0.811 | 0.066 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | 0.000 |
| predicted_3B | 0.050 | 0.000 |
| predicted_AB | 3.591 | 0.000 |
| predicted_AVG | 0.248 | -0.021 |
| predicted_BB | 0.214 | -0.002 |
| predicted_H | 0.890 | -0.012 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.091 | -0.001 |
| predicted_OBP | 0.290 | -0.024 |
| predicted_R | 0.419 | -0.011 |
| predicted_RBI | 0.448 | -0.012 |
| predicted_SLG | 0.414 | -0.005 |
| predicted_SO | 0.817 | 0.006 |
AB rounded to 4 (raw=3.59), rates preserved: AVG=0.248 HR/AB=0.025
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=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 | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.226 |
| predicted_3B | 0.000 | -0.050 |
| predicted_AB | 4.000 | 0.409 |
| predicted_AVG | 0.250 | 0.002 |
| predicted_BB | 0.000 | -0.214 |
| predicted_H | 1.000 | 0.110 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.250 | -0.040 |
| predicted_R | 0.000 | -0.419 |
| predicted_RBI | 0.000 | -0.448 |
| predicted_SLG | 0.250 | -0.164 |
| predicted_SO | 1.000 | 0.183 |
Attached 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 6.000 | 0.2174 | 0.2500 | 0.2609 | 0.2174 | 0.0000 | 0.0435 | 0.0435 | 0.2609 |
| last_10 | 0.20 | 10 | - | 44.000 | 14.000 | 4.000 | 0.000 | 2.000 | 8.000 | 8.000 | 4.000 | 12.000 | 0.3182 | 0.3673 | 0.5455 | 0.3182 | 0.0454 | 0.1818 | 0.0909 | 0.2727 |
| season | 0.60 | 51 | - | 174.000 | 49.000 | 11.000 | 3.000 | 4.000 | 26.000 | 21.000 | 10.000 | 38.000 | 0.2816 | 0.3209 | 0.4483 | 0.2816 | 0.0230 | 0.1494 | 0.0575 | 0.2184 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2410 |
| predicted_3B | 0.0360 |
| predicted_AB | 3.8500 |
| predicted_AVG | 0.2725 |
| predicted_BB | 0.2440 |
| predicted_H | 1.0490 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.3157 |
| predicted_R | 0.4580 |
| predicted_RBI | 0.5170 |
| predicted_SLG | 0.4274 |
| predicted_SO | 0.9060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2160 | 0.2410 | 0.2262 | model_form_blend |
| predicted_3B | 0.0590 | 0.0360 | 0.0496 | model_form_blend |
| predicted_AB | 3.4120 | 3.8500 | 3.5914 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2725 | 0.2687 | model_form_blend |
| predicted_BB | 0.1960 | 0.2440 | 0.2157 | model_form_blend |
| predicted_H | 0.8000 | 1.0490 | 0.9020 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0900 | 0.0940 | 0.0916 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3157 | 0.3147 | model_form_blend |
| predicted_R | 0.4120 | 0.4580 | 0.4308 | model_form_blend |
| predicted_RBI | 0.4200 | 0.5170 | 0.4597 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4274 | 0.4189 | model_form_blend |
| predicted_SO | 0.7450 | 0.9060 | 0.8109 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 154 |
| Season rows before report date | 154 |
| Report year | 2026 |
| Profile rows used | 51 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR-RF |
| gameID | 20260613_COL@OAK |
| game_type | ph |
| mlbID | 664983 |
| note | Ran for Johnston, T in the 8th. |
| playerID | 664983 |
| playerName | Jake McCarthy |
| pos | CF |
| started | False |
| startingPosition | PR |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-13 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.336 |
| sl_xwoba | 0.311 |
| sl_xba | 0.259 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 24.6 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 22.7 |
| 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.219 | 0.000 | 0.000 | Hitting_2B | 0.255 | 1.000 | -0.255 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.710 | 2.000 | 4.000 | Hitting_AB | 3.769 | 6.000 | -1.769 | -4.000 |
| predicted_AVG | 0.240 | 0.500 | 0.250 | Hitting_AVG | 0.221 | 0.500 | 0.279 | 0.000 |
| predicted_BB | 0.219 | 2.000 | 0.000 | Hitting_BB | 0.222 | 0.000 | 1.778 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 1.000 | 1.000 | Hitting_H | 0.833 | 3.000 | 0.167 | -2.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_OBP | 0.285 | 0.750 | 0.250 | Hitting_OBP | 0.267 | 0.500 | 0.483 | 0.250 |
| predicted_R | 0.312 | 0.000 | 0.000 | Hitting_R | 0.315 | 1.000 | -0.315 | -1.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.394 | 1.000 | -0.394 | -1.000 |
| predicted_SLG | 0.392 | 0.500 | 0.250 | Hitting_SLG | 0.329 | 0.667 | 0.171 | -0.167 |
| predicted_SO | 1.094 | 1.000 | 1.000 | Hitting_SO | 1.023 | 2.000 | -0.023 | -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.2190 -> 2.0000 (boost 1.7810, better) |
| Biggest Deboost | predicted_AB: 3.7100 -> 2.0000 (deboost -1.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 | 2 | 2 | 0 | 1 | 1 | predicted_SO: 1.0940 -> 1.1820 (boost 0.0880, 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.3914 -> 0.3851 (deboost -0.0063, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.7934 -> 4.0000 (boost 0.2066, better) | predicted_RBI: 0.4134 -> 0.0000 (deboost -0.4134, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.237 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3377 -> 0.0000 (deboost -0.3377, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2373 -> 0.2500 (boost 0.0127, better) | predicted_SLG: 0.3851 -> 0.2500 (deboost -0.1351, 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 -> 2.0000 (boost 2.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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3851 (boost 0.1351, better) | predicted_AVG: 0.2500 -> 0.2373 (deboost -0.0127, 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.219,
"predicted_3B": 0.0,
"predicted_AB": 3.71,
"predicted_AVG": 0.24,
"predicted_BB": 0.219,
"predicted_H": 0.89,
"predicted_HR": 0.11,
"predicted_OBP": 0.285,
"predicted_R": 0.312,
"predicted_RBI": 0.42,
"predicted_SLG": 0.392,
"predicted_SO": 1.094
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2358,
"predicted_3B": 0.0008,
"predicted_AB": 3.7934,
"predicted_AVG": 0.2404,
"predicted_BB": 0.2001,
"predicted_H": 0.9118,
"predicted_HBP": 0.022,
"predicted_HR": 0.1087,
"predicted_OBP": 0.2808,
"predicted_R": 0.3468,
"predicted_RBI": 0.4246,
"predicted_SLG": 0.3914,
"predicted_SO": 1.182
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.219,
"after": 0.2358,
"delta": 0.0168,
"percent_delta": 0.0767,
"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": 3.71,
"after": 3.7934,
"delta": 0.0834,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2404,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.219,
"after": 0.2001,
"delta": -0.0189,
"percent_delta": -0.0863,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.9118,
"delta": 0.0218,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1087,
"delta": -0.0013,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2808,
"delta": -0.0042,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.3468,
"delta": 0.0348,
"percent_delta": 0.1115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4246,
"delta": 0.0046,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3914,
"delta": -0.0006,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 1.182,
"delta": 0.088,
"percent_delta": 0.0804,
"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_SO",
"before": 1.094,
"after": 1.182,
"delta": 0.088,
"percent_delta": 0.0804,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 64
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2358,
"predicted_3B": 0.0008,
"predicted_AB": 3.7934,
"predicted_AVG": 0.2373,
"predicted_BB": 0.1985,
"predicted_H": 0.9,
"predicted_HBP": 0.022,
"predicted_HR": 0.1077,
"predicted_OBP": 0.2752,
"predicted_R": 0.3377,
"predicted_RBI": 0.4134,
"predicted_SLG": 0.3851,
"predicted_SO": 1.1912
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2358,
"after": 0.2358,
"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.7934,
"after": 3.7934,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2404,
"after": 0.2373,
"delta": -0.0031,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2001,
"after": 0.1985,
"delta": -0.0016,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9118,
"after": 0.9,
"delta": -0.0118,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1087,
"after": 0.1077,
"delta": -0.001,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2808,
"after": 0.2752,
"delta": -0.0056,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3468,
"after": 0.3377,
"delta": -0.0091,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4246,
"after": 0.4134,
"delta": -0.0112,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3914,
"after": 0.3851,
"delta": -0.0063,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.182,
"after": 1.1912,
"delta": 0.0092,
"percent_delta": 0.0078,
"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.3914,
"after": 0.3851,
"delta": -0.0063,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.237 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2358,
"after": 0.0,
"delta": -0.2358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7934,
"after": 4.0,
"delta": 0.2066,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1985,
"after": 0.0,
"delta": -0.1985,
"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_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1077,
"after": 0.0,
"delta": -0.1077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4134,
"after": 0.0,
"delta": -0.4134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1912,
"after": 1.0,
"delta": -0.1912,
"percent_delta": -0.1605,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7934,
"after": 4.0,
"delta": 0.2066,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4134,
"after": 0.0,
"delta": -0.4134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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.3377,
"after": 0.0,
"delta": -0.3377,
"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.3377,
"after": 0.0,
"delta": -0.3377,
"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.2373,
"after": 0.25,
"delta": 0.0127,
"percent_delta": 0.0535,
"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.2752,
"after": 0.25,
"delta": -0.0252,
"percent_delta": -0.0916,
"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.3851,
"after": 0.25,
"delta": -0.1351,
"percent_delta": -0.3508,
"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.2373,
"after": 0.25,
"delta": 0.0127,
"percent_delta": 0.0535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3851,
"after": 0.25,
"delta": -0.1351,
"percent_delta": -0.3508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2373,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2752,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3851,
"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": 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.2373,
"delta": -0.0127,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2752,
"delta": 0.0252,
"percent_delta": 0.1008,
"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.3851,
"delta": 0.1351,
"percent_delta": 0.5402,
"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.3851,
"delta": 0.1351,
"percent_delta": 0.5402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2373,
"delta": -0.0127,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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.71,
"after": 2.0,
"delta": -1.71,
"percent_delta": -0.4609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2373,
"delta": -0.0027,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.219,
"after": 2.0,
"delta": 1.781,
"percent_delta": 8.1324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2752,
"delta": -0.0098,
"percent_delta": -0.0344,
"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.42,
"after": 0.0,
"delta": -0.42,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3851,
"delta": -0.0069,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 1.0,
"delta": -0.094,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.219,
"after": 2.0,
"delta": 1.781,
"percent_delta": 8.1324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.71,
"after": 2.0,
"delta": -1.71,
"percent_delta": -0.4609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.710 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.219 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.312 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.392 | - |
| predicted_SO | 1.094 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.236 | 0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.793 | 0.083 |
| predicted_AVG | 0.240 | 0.000 |
| predicted_BB | 0.200 | -0.019 |
| predicted_H | 0.912 | 0.022 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.109 | -0.001 |
| predicted_OBP | 0.281 | -0.004 |
| predicted_R | 0.347 | 0.035 |
| predicted_RBI | 0.425 | 0.005 |
| predicted_SLG | 0.391 | -0.001 |
| predicted_SO | 1.182 | 0.088 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.236 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.793 | 0.000 |
| predicted_AVG | 0.237 | -0.003 |
| predicted_BB | 0.199 | -0.002 |
| predicted_H | 0.900 | -0.012 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.108 | -0.001 |
| predicted_OBP | 0.275 | -0.006 |
| predicted_R | 0.338 | -0.009 |
| predicted_RBI | 0.413 | -0.011 |
| predicted_SLG | 0.385 | -0.006 |
| predicted_SO | 1.191 | 0.009 |
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.237 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.236 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.207 |
| predicted_AVG | 0.250 | 0.013 |
| predicted_BB | 0.000 | -0.199 |
| predicted_H | 1.000 | 0.100 |
| predicted_HR | 0.000 | -0.108 |
| predicted_OBP | 0.250 | -0.025 |
| predicted_R | 0.000 | -0.338 |
| predicted_RBI | 0.000 | -0.413 |
| predicted_SLG | 0.250 | -0.135 |
| predicted_SO | 1.000 | -0.191 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -2.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 7.000 | 2.000 | 0.000 | 1.000 | 3.000 | 3.000 | 0.000 | 9.000 | 0.3182 | 0.3182 | 0.5455 | 0.3182 | 0.0454 | 0.1364 | 0.0000 | 0.4091 |
| last_10 | 0.20 | 10 | - | 42.000 | 9.000 | 3.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 18.000 | 0.2143 | 0.2273 | 0.3571 | 0.2143 | 0.0238 | 0.0952 | 0.0238 | 0.4286 |
| season | 0.60 | 64 | - | 234.000 | 52.000 | 14.000 | 0.000 | 5.000 | 24.000 | 20.000 | 14.000 | 70.000 | 0.2222 | 0.2688 | 0.3462 | 0.2222 | 0.0214 | 0.1026 | 0.0598 | 0.2992 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2590 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.9090 |
| predicted_AVG | 0.2410 |
| predicted_BB | 0.1740 |
| predicted_H | 0.9420 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1070 |
| predicted_OBP | 0.2750 |
| predicted_R | 0.3950 |
| predicted_RBI | 0.4310 |
| predicted_SLG | 0.3905 |
| predicted_SO | 1.3040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2190 | 0.2590 | 0.2358 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.7100 | 3.9090 | 3.7934 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2410 | 0.2404 | model_form_blend |
| predicted_BB | 0.2190 | 0.1740 | 0.2001 | model_form_blend |
| predicted_H | 0.8900 | 0.9420 | 0.9118 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1100 | 0.1070 | 0.1087 | model_form_blend |
| predicted_OBP | 0.2850 | 0.2750 | 0.2808 | model_form_blend |
| predicted_R | 0.3120 | 0.3950 | 0.3468 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4310 | 0.4246 | model_form_blend |
| predicted_SLG | 0.3920 | 0.3905 | 0.3914 | model_form_blend |
| predicted_SO | 1.0940 | 1.3040 | 1.1820 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 216 |
| Season rows before report date | 216 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| 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 | 1 |
| 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 678662 |
| playerID | 678662 |
| playerName | Ezequiel Tovar |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-14 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.262 |
| sl_xwoba | 0.299 |
| sl_xba | 0.236 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 30.6 |
| 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.179 | 0.000 | 0.000 | Hitting_2B | 0.170 | 1.000 | -0.170 | -1.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 2.970 | 4.000 | 3.000 | Hitting_AB | 3.098 | 6.000 | 0.902 | -2.000 |
| predicted_AVG | 0.275 | 0.500 | 0.333 | Hitting_AVG | 0.235 | 0.667 | 0.265 | -0.167 |
| predicted_BB | 0.448 | 0.000 | 0.000 | Hitting_BB | 0.521 | 0.000 | -0.521 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.760 | 2.000 | 1.000 | Hitting_H | 0.727 | 4.000 | 1.273 | -2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_OBP | 0.353 | 0.500 | 0.333 | Hitting_OBP | 0.342 | 0.667 | 0.158 | -0.167 |
| predicted_R | 0.478 | 1.000 | 1.000 | Hitting_R | 0.459 | 4.000 | 0.541 | -3.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.294 | 2.000 | -0.294 | -2.000 |
| predicted_SLG | 0.410 | 0.500 | 0.333 | Hitting_SLG | 0.338 | 0.833 | 0.162 | -0.333 |
| predicted_SO | 0.716 | 1.000 | 1.000 | Hitting_SO | 0.814 | 0.000 | 0.186 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.7600 -> 2.0000 (boost 1.2400, better) |
| Biggest Deboost | predicted_BB: 0.4480 -> 0.0000 (deboost -0.4480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 6 | 1 | 7 | 0 | predicted_AB: 2.9700 -> 3.0837 (boost 0.1137, better) | predicted_SO: 0.7160 -> 0.6602 (deboost -0.0558, better) | Final model input calibrated with local 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.4189 -> 0.4024 (deboost -0.0165, 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.6653 -> 1.0000 (boost 0.3347, worse) | predicted_BB: 0.4205 -> 0.0000 (deboost -0.4205, worse) | AB rounded to 3 (raw=3.08), rates preserved: AVG=0.270 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5303 -> 1.0000 (boost 0.4697, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2697 -> 0.3330 (boost 0.0633, better) | predicted_SLG: 0.4024 -> 0.3330 (deboost -0.0694, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4024 (boost 0.0694, better) | predicted_AVG: 0.3330 -> 0.2697 (deboost -0.0633, worse) | 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.179,
"predicted_3B": 0.015,
"predicted_AB": 2.97,
"predicted_AVG": 0.275,
"predicted_BB": 0.448,
"predicted_H": 0.76,
"predicted_HR": 0.06,
"predicted_OBP": 0.353,
"predicted_R": 0.478,
"predicted_RBI": 0.34,
"predicted_SLG": 0.41,
"predicted_SO": 0.716
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1902,
"predicted_3B": 0.0333,
"predicted_AB": 3.0837,
"predicted_AVG": 0.2835,
"predicted_BB": 0.4238,
"predicted_H": 0.8425,
"predicted_HBP": 0.012,
"predicted_HR": 0.0513,
"predicted_OBP": 0.3611,
"predicted_R": 0.5446,
"predicted_RBI": 0.3354,
"predicted_SLG": 0.4189,
"predicted_SO": 0.6602
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1902,
"delta": 0.0112,
"percent_delta": 0.0626,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0333,
"delta": 0.0183,
"percent_delta": 1.22,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.97,
"after": 3.0837,
"delta": 0.1137,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2835,
"delta": 0.0085,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.448,
"after": 0.4238,
"delta": -0.0242,
"percent_delta": -0.054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.8425,
"delta": 0.0825,
"percent_delta": 0.1086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0513,
"delta": -0.0087,
"percent_delta": -0.145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3611,
"delta": 0.0081,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 0.5446,
"delta": 0.0666,
"percent_delta": 0.1393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3354,
"delta": -0.0046,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4189,
"delta": 0.0089,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.716,
"after": 0.6602,
"delta": -0.0558,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.97,
"after": 3.0837,
"delta": 0.1137,
"percent_delta": 0.0383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.716,
"after": 0.6602,
"delta": -0.0558,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1902,
"predicted_3B": 0.0333,
"predicted_AB": 3.0837,
"predicted_AVG": 0.2697,
"predicted_BB": 0.4205,
"predicted_H": 0.8316,
"predicted_HBP": 0.012,
"predicted_HR": 0.0508,
"predicted_OBP": 0.3573,
"predicted_R": 0.5303,
"predicted_RBI": 0.3266,
"predicted_SLG": 0.4024,
"predicted_SO": 0.6653
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1902,
"after": 0.1902,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0333,
"after": 0.0333,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0837,
"after": 3.0837,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2835,
"after": 0.2697,
"delta": -0.0138,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4238,
"after": 0.4205,
"delta": -0.0033,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8425,
"after": 0.8316,
"delta": -0.0109,
"percent_delta": -0.0129,
"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.0513,
"after": 0.0508,
"delta": -0.0005,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3611,
"after": 0.3573,
"delta": -0.0038,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5446,
"after": 0.5303,
"delta": -0.0143,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3354,
"after": 0.3266,
"delta": -0.0088,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4189,
"after": 0.4024,
"delta": -0.0165,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6602,
"after": 0.6653,
"delta": 0.0051,
"percent_delta": 0.0077,
"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.4189,
"after": 0.4024,
"delta": -0.0165,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.08), rates preserved: AVG=0.270 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1902,
"after": 0.0,
"delta": -0.1902,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0333,
"after": 0.0,
"delta": -0.0333,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0837,
"after": 3.0,
"delta": -0.0837,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4205,
"after": 0.0,
"delta": -0.4205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8316,
"after": 1.0,
"delta": 0.1684,
"percent_delta": 0.2025,
"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.0508,
"after": 0.0,
"delta": -0.0508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3266,
"after": 0.0,
"delta": -0.3266,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6653,
"after": 1.0,
"delta": 0.3347,
"percent_delta": 0.5031,
"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.6653,
"after": 1.0,
"delta": 0.3347,
"percent_delta": 0.5031,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4205,
"after": 0.0,
"delta": -0.4205,
"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.5303,
"after": 1.0,
"delta": 0.4697,
"percent_delta": 0.8857,
"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.5303,
"after": 1.0,
"delta": 0.4697,
"percent_delta": 0.8857,
"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.2697,
"after": 0.333,
"delta": 0.0633,
"percent_delta": 0.2347,
"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.3573,
"after": 0.333,
"delta": -0.0243,
"percent_delta": -0.068,
"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.4024,
"after": 0.333,
"delta": -0.0694,
"percent_delta": -0.1725,
"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.2697,
"after": 0.333,
"delta": 0.0633,
"percent_delta": 0.2347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4024,
"after": 0.333,
"delta": -0.0694,
"percent_delta": -0.1725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_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.2697,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3573,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4024,
"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.333,
"after": 0.2697,
"delta": -0.0633,
"percent_delta": -0.1901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3573,
"delta": 0.0243,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4024,
"delta": 0.0694,
"percent_delta": 0.2085,
"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.333,
"after": 0.4024,
"delta": 0.0694,
"percent_delta": 0.2085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2697,
"delta": -0.0633,
"percent_delta": -0.1901,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.97,
"after": 4.0,
"delta": 1.03,
"percent_delta": 0.3468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2697,
"delta": -0.0053,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.448,
"after": 0.0,
"delta": -0.448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 2.0,
"delta": 1.24,
"percent_delta": 1.6316,
"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.353,
"after": 0.3573,
"delta": 0.0043,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.478,
"after": 1.0,
"delta": 0.522,
"percent_delta": 1.0921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4024,
"delta": -0.0076,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.716,
"after": 1.0,
"delta": 0.284,
"percent_delta": 0.3966,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.76,
"after": 2.0,
"delta": 1.24,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.448,
"after": 0.0,
"delta": -0.448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.970 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.448 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.353 | - |
| predicted_R | 0.478 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 0.716 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.011 |
| predicted_3B | 0.033 | 0.018 |
| predicted_AB | 3.084 | 0.114 |
| predicted_AVG | 0.283 | 0.008 |
| predicted_BB | 0.424 | -0.024 |
| predicted_H | 0.843 | 0.083 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.051 | -0.009 |
| predicted_OBP | 0.361 | 0.008 |
| predicted_R | 0.545 | 0.067 |
| predicted_RBI | 0.335 | -0.005 |
| predicted_SLG | 0.419 | 0.009 |
| predicted_SO | 0.660 | -0.056 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.084 | 0.000 |
| predicted_AVG | 0.270 | -0.014 |
| predicted_BB | 0.420 | -0.003 |
| predicted_H | 0.832 | -0.011 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.051 | -0.001 |
| predicted_OBP | 0.357 | -0.004 |
| predicted_R | 0.530 | -0.014 |
| predicted_RBI | 0.327 | -0.009 |
| predicted_SLG | 0.402 | -0.017 |
| predicted_SO | 0.665 | 0.005 |
AB rounded to 3 (raw=3.08), rates preserved: AVG=0.270 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.190 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 3.000 | -0.084 |
| predicted_AVG | 0.333 | 0.063 |
| predicted_BB | 0.000 | -0.420 |
| predicted_H | 1.000 | 0.168 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.333 | -0.024 |
| predicted_R | 1.000 | 0.470 |
| predicted_RBI | 0.000 | -0.327 |
| predicted_SLG | 0.333 | -0.069 |
| predicted_SO | 1.000 | 0.335 |
Attached 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 | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 1.000 | 1.000 | 0.000 | 2.000 | 6.000 | 1.000 | 1.000 | 0.3889 | 0.4211 | 0.5556 | 0.3889 | 0.0000 | 0.1111 | 0.0556 | 0.0556 |
| last_10 | 0.20 | 10 | - | 33.000 | 12.000 | 3.000 | 1.000 | 0.000 | 3.000 | 7.000 | 4.000 | 3.000 | 0.3636 | 0.4324 | 0.5152 | 0.3636 | 0.0000 | 0.0909 | 0.1212 | 0.0909 |
| season | 0.60 | 67 | - | 199.000 | 50.000 | 12.000 | 1.000 | 3.000 | 19.000 | 32.000 | 30.000 | 48.000 | 0.2513 | 0.3491 | 0.3668 | 0.2513 | 0.0151 | 0.0955 | 0.1507 | 0.2412 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2060 |
| predicted_3B | 0.0590 |
| predicted_AB | 3.2430 |
| predicted_AVG | 0.2955 |
| predicted_BB | 0.3900 |
| predicted_H | 0.9580 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3725 |
| predicted_R | 0.6380 |
| predicted_RBI | 0.3290 |
| predicted_SLG | 0.4314 |
| predicted_SO | 0.5820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.2060 | 0.1902 | model_form_blend |
| predicted_3B | 0.0150 | 0.0590 | 0.0333 | model_form_blend |
| predicted_AB | 2.9700 | 3.2430 | 3.0837 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2955 | 0.2835 | model_form_blend |
| predicted_BB | 0.4480 | 0.3900 | 0.4238 | model_form_blend |
| predicted_H | 0.7600 | 0.9580 | 0.8425 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0600 | 0.0390 | 0.0513 | model_form_blend |
| predicted_OBP | 0.3530 | 0.3725 | 0.3611 | model_form_blend |
| predicted_R | 0.4780 | 0.6380 | 0.5446 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3290 | 0.3354 | model_form_blend |
| predicted_SLG | 0.4100 | 0.4314 | 0.4189 | model_form_blend |
| predicted_SO | 0.7160 | 0.5820 | 0.6602 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 194 |
| Season rows before report date | 194 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 6 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 4 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | 3B |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 691720 |
| playerID | 691720 |
| playerName | Kyle Karros |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.31 |
| sl_xwoba | 0.334 |
| sl_xba | 0.255 |
| sl_xslg | 0.382 |
| sl_sweet_spot_percent | 43.0 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 41.6 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 24.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.167 | 0.000 | 0.000 | Hitting_2B | 0.071 | 1.000 | -0.071 | -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.821 | 3.000 | 1.179 | 0.000 |
| predicted_AVG | 0.317 | 0.000 | 0.333 | Hitting_AVG | 0.275 | 0.333 | -0.275 | -0.333 |
| predicted_BB | 0.417 | 1.000 | 0.000 | Hitting_BB | 0.357 | 2.000 | 0.643 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.170 | 0.000 | 1.000 | Hitting_H | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.333 | Hitting_OBP | 0.381 | 0.500 | -0.131 | -0.250 |
| predicted_R | 0.667 | 0.000 | 1.000 | Hitting_R | 0.714 | 2.000 | -0.714 | -2.000 |
| predicted_RBI | 0.130 | 0.000 | 0.000 | Hitting_RBI | 0.321 | 1.000 | -0.321 | -1.000 |
| predicted_SLG | 0.390 | 0.000 | 0.333 | Hitting_SLG | 0.490 | 0.667 | -0.490 | -0.667 |
| predicted_SO | 1.167 | 2.000 | 1.000 | Hitting_SO | 0.500 | 2.000 | 1.500 | 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: 1.1670 -> 2.0000 (boost 0.8330, worse) |
| Biggest Deboost | predicted_R: 0.6670 -> 0.0000 (deboost -0.6670, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_H: 0.1700 -> 0.3362 (boost 0.1662, better) | predicted_AVG: 0.3170 -> 0.2962 (deboost -0.0208, 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.2962 -> 0.1287 (deboost -0.1675, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_AB: 2.5788 -> 3.0000 (boost 0.4212, better) | predicted_BB: 0.4087 -> 0.0000 (deboost -0.4087, worse) | AB rounded to 3 (raw=2.58), rates preserved: AVG=0.129 HR/AB=0.017 |
| 5 | consistency_constraints | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1287 -> 0.3330 (boost 0.2043, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1287 (deboost -0.2043, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "690924",
"player_name": "Braxton Fulford",
"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.167,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.317,
"predicted_BB": 0.417,
"predicted_H": 0.17,
"predicted_HR": 0.03,
"predicted_OBP": 0.317,
"predicted_R": 0.667,
"predicted_RBI": 0.13,
"predicted_SLG": 0.39,
"predicted_SO": 1.167
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1817,
"predicted_3B": 0.0016,
"predicted_AB": 2.5788,
"predicted_AVG": 0.2962,
"predicted_BB": 0.4119,
"predicted_H": 0.3362,
"predicted_HBP": 0.011,
"predicted_HR": 0.0434,
"predicted_OBP": 0.3227,
"predicted_R": 0.6316,
"predicted_RBI": 0.2136,
"predicted_SLG": 0.397,
"predicted_SO": 1.1354
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1817,
"delta": 0.0147,
"percent_delta": 0.088,
"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": 2.5,
"after": 2.5788,
"delta": 0.0788,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.317,
"after": 0.2962,
"delta": -0.0208,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.417,
"after": 0.4119,
"delta": -0.0051,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.17,
"after": 0.3362,
"delta": 0.1662,
"percent_delta": 0.9776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0434,
"delta": 0.0134,
"percent_delta": 0.4467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3227,
"delta": 0.0057,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6316,
"delta": -0.0354,
"percent_delta": -0.0531,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.2136,
"delta": 0.0836,
"percent_delta": 0.6431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.397,
"delta": 0.007,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.167,
"after": 1.1354,
"delta": -0.0316,
"percent_delta": -0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.17,
"after": 0.3362,
"delta": 0.1662,
"percent_delta": 0.9776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.317,
"after": 0.2962,
"delta": -0.0208,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1817,
"predicted_3B": 0.0016,
"predicted_AB": 2.5788,
"predicted_AVG": 0.1287,
"predicted_BB": 0.4087,
"predicted_H": 0.3319,
"predicted_HBP": 0.011,
"predicted_HR": 0.043,
"predicted_OBP": 0.2479,
"predicted_R": 0.615,
"predicted_RBI": 0.208,
"predicted_SLG": 0.2504,
"predicted_SO": 1.1443
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1817,
"after": 0.1817,
"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": 2.5788,
"after": 2.5788,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2962,
"after": 0.1287,
"delta": -0.1675,
"percent_delta": -0.5655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4119,
"after": 0.4087,
"delta": -0.0032,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3362,
"after": 0.3319,
"delta": -0.0043,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0434,
"after": 0.043,
"delta": -0.0004,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.2479,
"delta": -0.0748,
"percent_delta": -0.2318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6316,
"after": 0.615,
"delta": -0.0166,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2136,
"after": 0.208,
"delta": -0.0056,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.2504,
"delta": -0.1466,
"percent_delta": -0.3693,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1354,
"after": 1.1443,
"delta": 0.0089,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2962,
"after": 0.1287,
"delta": -0.1675,
"percent_delta": -0.5655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.58), rates preserved: AVG=0.129 HR/AB=0.017",
"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.1817,
"after": 0.0,
"delta": -0.1817,
"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": 2.5788,
"after": 3.0,
"delta": 0.4212,
"percent_delta": 0.1633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4087,
"after": 0.0,
"delta": -0.4087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3319,
"after": 0.0,
"delta": -0.3319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1443,
"after": 1.0,
"delta": -0.1443,
"percent_delta": -0.1261,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5788,
"after": 3.0,
"delta": 0.4212,
"percent_delta": 0.1633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4087,
"after": 0.0,
"delta": -0.4087,
"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": 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.615,
"after": 1.0,
"delta": 0.385,
"percent_delta": 0.626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 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.1287,
"after": 0.333,
"delta": 0.2043,
"percent_delta": 1.5874,
"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.2479,
"after": 0.333,
"delta": 0.0851,
"percent_delta": 0.3433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.2504,
"after": 0.333,
"delta": 0.0826,
"percent_delta": 0.3299,
"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.1287,
"after": 0.333,
"delta": 0.2043,
"percent_delta": 1.5874,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.1287,
"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.2479,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2504,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1287,
"delta": -0.2043,
"percent_delta": -0.6135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2479,
"delta": -0.0851,
"percent_delta": -0.2556,
"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.2504,
"delta": -0.0826,
"percent_delta": -0.2479,
"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.1287,
"delta": -0.2043,
"percent_delta": -0.6135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.317,
"after": 0.1287,
"delta": -0.1883,
"percent_delta": -0.594,
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.2479,
"delta": -0.0691,
"percent_delta": -0.218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.2504,
"delta": -0.1396,
"percent_delta": -0.3579,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.167,
"after": 2.0,
"delta": 0.833,
"percent_delta": 0.7138,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.167,
"after": 2.0,
"delta": 0.833,
"percent_delta": 0.7138,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.317 | - |
| predicted_BB | 0.417 | - |
| predicted_H | 0.170 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 1.167 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.015 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.579 | 0.079 |
| predicted_AVG | 0.296 | -0.021 |
| predicted_BB | 0.412 | -0.005 |
| predicted_H | 0.336 | 0.166 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.043 | 0.013 |
| predicted_OBP | 0.323 | 0.006 |
| predicted_R | 0.632 | -0.035 |
| predicted_RBI | 0.214 | 0.084 |
| predicted_SLG | 0.397 | 0.007 |
| predicted_SO | 1.135 | -0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.579 | 0.000 |
| predicted_AVG | 0.129 | -0.168 |
| predicted_BB | 0.409 | -0.003 |
| predicted_H | 0.332 | -0.004 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.043 | -0.000 |
| predicted_OBP | 0.248 | -0.075 |
| predicted_R | 0.615 | -0.017 |
| predicted_RBI | 0.208 | -0.006 |
| predicted_SLG | 0.250 | -0.147 |
| predicted_SO | 1.144 | 0.009 |
AB rounded to 3 (raw=2.58), rates preserved: AVG=0.129 HR/AB=0.017
| 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 | 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.182 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.421 |
| predicted_AVG | 0.333 | 0.204 |
| predicted_BB | 0.000 | -0.409 |
| predicted_H | 1.000 | 0.668 |
| predicted_HR | 0.000 | -0.043 |
| predicted_OBP | 0.333 | 0.085 |
| predicted_R | 1.000 | 0.385 |
| predicted_RBI | 0.000 | -0.208 |
| predicted_SLG | 0.333 | 0.083 |
| predicted_SO | 1.000 | -0.144 |
Attached 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 | 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 | 5 | - | 10.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 7.000 | 0.3000 | 0.4286 | 0.5000 | 0.3000 | 0.0000 | 0.1000 | 0.3000 | 0.7000 |
| last_10 | 0.20 | 10 | - | 19.000 | 5.000 | 2.000 | 0.000 | 0.000 | 3.000 | 4.000 | 4.000 | 10.000 | 0.2632 | 0.3600 | 0.3684 | 0.2632 | 0.0000 | 0.1579 | 0.2105 | 0.5263 |
| season | 0.60 | 17 | - | 30.000 | 7.000 | 2.000 | 0.000 | 1.000 | 5.000 | 8.000 | 5.000 | 14.000 | 0.2333 | 0.3243 | 0.4000 | 0.2333 | 0.0333 | 0.1667 | 0.1667 | 0.4667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2130 |
| predicted_3B | 0.0050 |
| predicted_AB | 2.7470 |
| predicted_AVG | 0.2517 |
| predicted_BB | 0.4010 |
| predicted_H | 0.6910 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0720 |
| predicted_OBP | 0.3349 |
| predicted_R | 0.5560 |
| predicted_RBI | 0.3920 |
| predicted_SLG | 0.4118 |
| predicted_SO | 1.0680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.2130 | 0.1817 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0016 | model_form_blend |
| predicted_AB | 2.5000 | 2.7470 | 2.5788 | model_form_blend |
| predicted_AVG | 0.3170 | 0.2517 | 0.2962 | model_form_blend |
| predicted_BB | 0.4170 | 0.4010 | 0.4119 | model_form_blend |
| predicted_H | 0.1700 | 0.6910 | 0.3362 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0300 | 0.0720 | 0.0434 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3349 | 0.3227 | model_form_blend |
| predicted_R | 0.6670 | 0.5560 | 0.6316 | model_form_blend |
| predicted_RBI | 0.1300 | 0.3920 | 0.2136 | model_form_blend |
| predicted_SLG | 0.3900 | 0.4118 | 0.3970 | model_form_blend |
| predicted_SO | 1.1670 | 1.0680 | 1.1354 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.233 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 690924 |
| playerID | 690924 |
| playerName | Braxton Fulford |
| pos | C |
| started | True |
| startingPosition | DH |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-14 |
| sl_k_percent | 38.7 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.291 |
| sl_xwoba | 0.229 |
| sl_xba | 0.16 |
| sl_xslg | 0.277 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 25.0 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 34.7 |
| sl_whiff_percent | 35.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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.600 | 2.000 | 0.400 | 0.000 |
| predicted_ER | 6.000 | 6.000 | 6.000 | Pitching_ER | 3.667 | 1.000 | 2.333 | 5.000 |
| predicted_H | 8.000 | 8.000 | 8.000 | Pitching_H | 6.733 | 2.000 | 1.267 | 6.000 |
| predicted_IP | 4.000 | 4.000 | 4.000 | Pitching_InningsPitched | 4.207 | 5.000 | -0.207 | -1.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 3.667 | 7.000 | -0.667 | -4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.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": "547179",
"player_name": "Michael Lorenzen",
"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": 2.0,
"predicted_ER": 6.0,
"predicted_H": 8.0,
"predicted_HR": 1.0,
"predicted_IP": 4.3333,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 6.0,
"predicted_H": 8.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_SO": 3.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.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": 2.0,
"predicted_ER": 6.0,
"predicted_H": 8.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_R": 6.0,
"predicted_SO": 3.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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.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 | 2.000 | - |
| predicted_ER | 6.000 | - |
| predicted_H | 8.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.333 | - |
| predicted_SO | 3.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 6.000 | 0.000 |
| predicted_H | 8.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 4.000 | -0.333 |
| predicted_SO | 3.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 21.200 | 23.000 | 34.000 | 10.000 | 24.000 | 4.000 | 9.5538 | 2.0308 | 1.0615 | 1.5692 | 0.4615 | 1.1077 | 0.1846 |
| last_10 | 0.35 | 10 | 49.000 | 40.000 | 68.000 | 19.000 | 42.000 | 7.000 | 7.3469 | 1.7755 | 0.8163 | 1.3878 | 0.3878 | 0.8571 | 0.1429 |
| season | 0.20 | 15 | 65.200 | 55.000 | 101.000 | 24.000 | 55.000 | 11.000 | 7.5381 | 1.9036 | 0.8376 | 1.5381 | 0.3655 | 0.8376 | 0.1675 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8150 |
| predicted_ER | 3.7070 |
| predicted_ERA | 7.4008 |
| predicted_H | 6.1660 |
| predicted_HR | 0.7270 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.3190 |
| predicted_WHIP | 1.7703 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.8150 | 1.8993 | model_form_blend |
| predicted_ER | 6.0000 | 3.7070 | 4.7517 | model_form_blend |
| predicted_ERA | - | 7.4008 | 7.4008 | form_only |
| predicted_H | 8.0000 | 6.1660 | 7.0016 | model_form_blend |
| predicted_HR | 1.0000 | 0.7270 | 0.8514 | model_form_blend |
| predicted_IP | 4.1000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 3.0000 | 4.3190 | 3.7180 | model_form_blend |
| predicted_WHIP | - | 1.7703 | 1.7703 | 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 | 4.0 |
| H | 8 |
| R | 6 |
| ER | 6 |
| BB | 2 |
| SO | 3 |
| HR | 1 |
| BF | 22 |
| Pitches | 87 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 19 |
| Pitching_ER | 1 |
| Pitching_ERA | 7.54 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 5 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 84 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260610_CHC@COL |
| game_type | full |
| mlbID | 547179 |
| playerID | 547179 |
| playerName | Michael Lorenzen |
| pos | P |
| started | True |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-10 |
| sl_k_percent | 17.2 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.412 |
| sl_xwoba | 0.366 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 45.0 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 45.0 |
| sl_avg_best_speed | 78.079843814 |
| sl_avg_hyper_speed | 94.907395212 |
| 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.550 | 0.000 | -0.550 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.450 | 1.000 | -0.450 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.400 | 2.000 | -1.400 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.695 | 1.000 | -0.595 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.600 | 1.000 | -1.600 | -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": "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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.100 | 5.000 | 11.000 | 3.000 | 6.000 | 2.000 | 7.1053 | 2.2105 | 0.7895 | 1.7368 | 0.4737 | 0.9474 | 0.3158 |
| last_10 | 0.35 | 10 | 16.000 | 6.000 | 16.000 | 5.000 | 12.000 | 3.000 | 3.3750 | 1.3125 | 0.3750 | 1.0000 | 0.3125 | 0.7500 | 0.1875 |
| season | 0.20 | 20 | 38.100 | 9.000 | 28.000 | 11.000 | 32.000 | 3.000 | 2.1130 | 1.0174 | 0.2348 | 0.7304 | 0.2870 | 0.8348 | 0.0783 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5530 |
| predicted_ER | 0.7700 |
| predicted_ERA | 4.6690 |
| predicted_H | 1.7160 |
| predicted_HR | 0.2850 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3160 |
| predicted_WHIP | 1.5288 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5530 | 0.2667 | model_form_blend |
| predicted_ER | 0.0000 | 0.7700 | 0.3713 | model_form_blend |
| predicted_ERA | - | 4.6690 | 4.6690 | form_only |
| predicted_H | 0.0000 | 1.7160 | 0.8275 | model_form_blend |
| predicted_HR | 0.0000 | 0.2850 | 0.1374 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3160 | 0.6346 | model_form_blend |
| predicted_WHIP | - | 1.5288 | 1.5288 | 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 | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.11 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W, BS |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260610_CHC@COL |
| game_type | full |
| mlbID | 622608 |
| playerID | 622608 |
| playerName | Antonio Senzatela |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-10 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.258 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 39.0 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 75.262460769 |
| sl_avg_hyper_speed | 93.938295673 |
| 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.765 | 1.000 | -0.765 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.353 | 0.000 | -0.353 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.824 | 0.000 | 0.176 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.824 | 0.200 | 0.176 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.941 | 1.000 | 0.059 | 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": "678020",
"player_name": "Seth Halvorsen",
"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": 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 | 2.000 | 3.000 | 5.000 | 3.000 | 2.000 | 4.5000 | 2.0000 | 0.5000 | 0.7500 | 1.2500 | 0.7500 | 0.5000 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 8.000 | 7.000 | 10.000 | 2.000 | 3.8571 | 1.6071 | 0.4286 | 0.8571 | 0.7500 | 1.0714 | 0.2143 |
| season | 0.20 | 17 | 16.100 | 6.000 | 14.000 | 13.000 | 16.000 | 2.000 | 3.3061 | 1.6531 | 0.3674 | 0.8571 | 0.7959 | 0.9796 | 0.1225 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5700 |
| predicted_ER | 0.4490 |
| predicted_ERA | 4.2986 |
| predicted_H | 0.8550 |
| predicted_HR | 0.2030 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8690 |
| predicted_WHIP | 1.5138 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5700 | 0.2243 | model_form_blend |
| predicted_ER | 0.0000 | 0.4490 | 0.1767 | model_form_blend |
| predicted_ERA | - | 4.2986 | 4.2986 | form_only |
| predicted_H | 1.0000 | 0.8550 | 0.9429 | model_form_blend |
| predicted_HR | 0.0000 | 0.2030 | 0.0799 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8690 | 0.9485 | model_form_blend |
| predicted_WHIP | - | 1.5138 | 1.5138 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.31 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 25 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260613_COL@OAK |
| game_type | full |
| mlbID | 678020 |
| playerID | 678020 |
| playerName | Seth Halvorsen |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-13 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 16.9 |
| sl_woba | 0.335 |
| sl_xwoba | 0.393 |
| sl_sweet_spot_percent | 43.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 41.7 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 46.3 |
| sl_avg_best_speed | 81.761959167 |
| sl_avg_hyper_speed | 95.085972083 |
| 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.242 | 0.000 | 0.758 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.848 | 1.000 | -0.848 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.636 | 0.200 | 0.464 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.667 | 2.000 | 0.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: 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": "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": 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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1.0,
"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.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": 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.1,
"delta": 0.4333,
"percent_delta": 0.6499,
"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.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 | 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.200 | 3.000 | 4.000 | 2.000 | 4.000 | 1.000 | 7.3636 | 1.6364 | 0.8182 | 1.0909 | 0.5454 | 1.0909 | 0.2727 |
| last_10 | 0.35 | 10 | 8.200 | 5.000 | 7.000 | 3.000 | 8.000 | 1.000 | 5.1923 | 1.1538 | 0.5769 | 0.8077 | 0.3462 | 0.9231 | 0.1154 |
| season | 0.20 | 33 | 28.000 | 13.000 | 28.000 | 8.000 | 22.000 | 2.000 | 4.1786 | 1.2857 | 0.4643 | 1.0000 | 0.2857 | 0.7857 | 0.0714 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3010 |
| predicted_ER | 0.4460 |
| predicted_ERA | 5.2562 |
| predicted_H | 0.7420 |
| predicted_HR | 0.1240 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7280 |
| predicted_WHIP | 1.3669 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3010 | 0.6857 | model_form_blend |
| predicted_ER | 0.0000 | 0.4460 | 0.2005 | model_form_blend |
| predicted_ERA | - | 5.2562 | 5.2562 | form_only |
| predicted_H | 0.0000 | 0.7420 | 0.3336 | model_form_blend |
| predicted_HR | 0.0000 | 0.1240 | 0.0558 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7280 | 0.8777 | model_form_blend |
| predicted_WHIP | - | 1.3669 | 1.3669 | 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 | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 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.18 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260612_COL@OAK |
| game_type | full |
| mlbID | 657514 |
| playerID | 657514 |
| playerName | Brennan Bernardino |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-12 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.308 |
| sl_xwoba | 0.289 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 23.9 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 49.9 |
| sl_avg_best_speed | 73.474265349 |
| sl_avg_hyper_speed | 91.769550581 |
| 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.621 | 0.000 | 0.379 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.724 | 0.000 | 0.276 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.207 | 0.000 | 0.793 | 2.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.931 | 1.100 | -0.831 | -1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.241 | 1.000 | -0.241 | 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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"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": 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": 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": 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 | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 5.000 | 2.000 | 6.000 | 0.000 | 5.7857 | 1.5000 | 0.6429 | 1.0714 | 0.4286 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 11.000 | 12.000 | 7.000 | 9.000 | 0.000 | 11.4231 | 2.1923 | 1.2692 | 1.3846 | 0.8077 | 1.0385 | 0.0000 |
| season | 0.20 | 29 | 31.200 | 21.000 | 35.000 | 18.000 | 36.000 | 2.000 | 5.9684 | 1.6737 | 0.6632 | 1.1053 | 0.5684 | 1.1368 | 0.0632 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3440 |
| predicted_ER | 0.4950 |
| predicted_ERA | 6.3195 |
| predicted_H | 0.7690 |
| predicted_HR | 0.0500 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7500 |
| predicted_WHIP | 1.5802 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3440 | 0.6965 | model_form_blend |
| predicted_ER | 1.0000 | 0.4950 | 0.7664 | model_form_blend |
| predicted_ERA | - | 6.3195 | 6.3195 | form_only |
| predicted_H | 2.0000 | 0.7690 | 1.4306 | model_form_blend |
| predicted_HR | 0.0000 | 0.0500 | 0.0231 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7500 | 0.8844 | model_form_blend |
| predicted_WHIP | - | 1.5802 | 1.5802 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.97 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260613_COL@OAK |
| game_type | full |
| mlbID | 675848 |
| playerID | 675848 |
| playerName | Juan Mejia |
| pos | P |
| started | False |
| startingPosition | P |
| team | COL |
| teamID | 9 |
| game_date | 2026-06-13 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.332 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 38.5 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 48.9 |
| sl_avg_best_speed | 78.710756444 |
| sl_avg_hyper_speed | 94.547429111 |
| Field | Value |
|---|---|
| Pitcher | Shota Imanaga |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1430 |
| ESPN Rank | 365 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1516 |
| Avg Velo | 87.0202 |
| Avg Spin | 1981.9146 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 4 |
| Pre SO | 5 |
| Season ERA | 4.4444 |
| Season WHIP | 1.0617 |
| Role Avg IP | 5.7860 |
| Recent Avg IP | 5.3330 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"opponent": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"edges": {
"quality_edge": 0.3272,
"offense_edge": 0.063,
"opponent_offense_edge": 0.0499,
"defense_strength": -0.0155,
"opponent_defense_weakness": 0.2242,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9932,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "684007",
"profile": {
"available": true,
"pitcher_id": "684007",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 261.0,
"k_percent": 24.8,
"bb_percent": 6.4,
"woba": 0.309,
"xwoba": 0.302,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 40.1,
"avg_best_speed": 77.9778,
"avg_hyper_speed": 94.0713,
"whiff_percent": 30.9,
"swing_percent": 51.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0094,
"command_and_miss": 0.54,
"regression_edge": 0.2,
"xwoba_edge": 0.3714,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.2143,
"whiff_edge": 0.7714,
"bb_edge": 0.675,
"pitch_design_score": -0.1516
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "684007",
"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": 87.02019971026674,
"release_spin_rate": 1981.91457318582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 87.02019971026674,
"release_spin_rate": 1981.91457318582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.0202,
"release_spin_rate": 1981.9146,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1516,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0831,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.143,
"sample_weight": 1.0,
"run_prevention_factor": 0.9878,
"strikeout_factor": 1.0429,
"walk_factor": 0.946,
"homer_factor": 1.0597,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "684007",
"espn_id": 5134630,
"player_name": "Shota Imanaga",
"team": "CHC",
"role": "pitcher",
"espn_rank": 365,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 365,
"gp_value": 14.0,
"gp_rank": 251,
"gs_value": 14.0,
"gs_rank": 18,
"qs_value": 6.0,
"qs_rank": 34,
"era_value": 4.4444,
"era_rank": 59.0,
"w_value": 4.0,
"w_rank": 59,
"l_value": 6.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 81.0,
"ip_rank": 22,
"h_value": 65.0,
"h_rank": 69,
"er_value": 40.0,
"er_rank": 18,
"hr_value": 17.0,
"hr_rank": 4,
"bb_value": 21.0,
"bb_rank": 98,
"k_value": 81.0,
"k_rank": 22,
"k_per_9_value": 9.0,
"k_per_9_rank": 27,
"whip_value": 1.0617,
"whip_rank": 16.0,
"war_value": 0.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 0.9878,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 0.9878,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.946,
"adjusted": 2
},
"predicted_HR": {
"original": 2.0,
"factor": 1.0597,
"adjusted": 2
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0429,
"adjusted": 5
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 59.0,
"ER": 34,
"H": 53,
"BB": 16,
"SO": 50,
"HR": 15,
"ERA": 5.186440677966102,
"WHIP": 1.1694915254237288,
"K9": 7.627118644067797,
"HR9": 2.288135593220339,
"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-06-10T00:00:00"
}{
"available": true,
"pitcher_id": "684007",
"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": 87.02019971026674,
"release_spin_rate": 1981.91457318582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 87.02019971026674,
"release_spin_rate": 1981.91457318582,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.0202,
"release_spin_rate": 1981.9146,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1516,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0831,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"role": "pitcher",
"player_id": "684007",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.2,
"ER": 26.0,
"R": 26.0,
"H": 29.0,
"BB": 8.0,
"SO": 22.0,
"HR": 12.0,
"BF": 116.0,
"Pitches": 422.0
},
"per_game": {
"IP": 5.1,
"ER": 5.2,
"R": 5.2,
"H": 5.8,
"BB": 1.6,
"SO": 4.4,
"HR": 2.4,
"BF": 23.2,
"Pitches": 84.4
},
"rates": {
"ERA": 8.775,
"WHIP": 1.3875,
"ER_per_IP": 0.975,
"H_per_IP": 1.0875,
"BB_per_IP": 0.3,
"SO_per_IP": 0.825,
"HR_per_IP": 0.45
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.0,
"ER": 34.0,
"R": 35.0,
"H": 53.0,
"BB": 16.0,
"SO": 50.0,
"HR": 15.0,
"BF": 245.0,
"Pitches": 891.0
},
"per_game": {
"IP": 6.0,
"ER": 3.4,
"R": 3.5,
"H": 5.3,
"BB": 1.6,
"SO": 5.0,
"HR": 1.5,
"BF": 24.5,
"Pitches": 89.1
},
"rates": {
"ERA": 5.1864,
"WHIP": 1.1695,
"ER_per_IP": 0.57627,
"H_per_IP": 0.89831,
"BB_per_IP": 0.27119,
"SO_per_IP": 0.84746,
"HR_per_IP": 0.25424
}
},
"season": {
"games": 14,
"totals": {
"IP": 81.0,
"ER": 40.0,
"R": 41.0,
"H": 65.0,
"BB": 21.0,
"SO": 81.0,
"HR": 17.0,
"BF": 327.0,
"Pitches": 1262.0
},
"per_game": {
"IP": 5.2,
"ER": 2.8571,
"R": 2.9286,
"H": 4.6429,
"BB": 1.5,
"SO": 5.7857,
"HR": 1.2143,
"BF": 23.3571,
"Pitches": 90.1429
},
"rates": {
"ERA": 4.4444,
"WHIP": 1.0617,
"ER_per_IP": 0.49383,
"H_per_IP": 0.80247,
"BB_per_IP": 0.25926,
"SO_per_IP": 1.0,
"HR_per_IP": 0.20988
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 3.81,
"predicted_H": 5.452,
"predicted_BB": 1.707,
"predicted_SO": 4.994,
"predicted_HR": 1.602,
"predicted_ERA": 6.0779,
"predicted_WHIP": 1.269
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4612,
"form_weight": 0.5388,
"form_reliability": 0.7368,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 3.81,
"final": 3.4364,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.452,
"final": 5.2435,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.707,
"final": 2.7645,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.994,
"final": 4.0744,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.602,
"final": 1.3244,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0779,
"final": 6.0779,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.269,
"final": 1.269,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Caleb Thielbar |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0246 |
| ESPN Rank | 285 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0946 |
| Avg Velo | 88.0381 |
| Avg Spin | 2392.8065 |
| 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 | 3 |
| Season WHIP | 1.0556 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"opponent": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"edges": {
"quality_edge": 0.3272,
"offense_edge": 0.063,
"opponent_offense_edge": 0.0499,
"defense_strength": -0.0155,
"opponent_defense_weakness": 0.2242,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9932,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "573204",
"profile": {
"available": true,
"pitcher_id": "573204",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 52.0,
"k_percent": 27.0,
"bb_percent": 9.5,
"woba": 0.29,
"xwoba": 0.307,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 36.2,
"avg_best_speed": 75.9123,
"avg_hyper_speed": 94.3906,
"whiff_percent": 27.2,
"swing_percent": 53.4
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0393,
"command_and_miss": 0.3414,
"regression_edge": -0.4857,
"xwoba_edge": 0.2286,
"barrel_edge": -1.2667,
"hard_hit_edge": 0.3429,
"whiff_edge": 0.2429,
"bb_edge": -0.1,
"pitch_design_score": -0.0946
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "573204",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 27,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 27,
"pitch_usage": 0.0,
"release_speed": 88.0381017132449,
"release_spin_rate": 2392.8064756255285,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 27,
"pitch_usage": 0.0,
"release_speed": 88.0381017132449,
"release_spin_rate": 2392.8064756255285,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0381,
"release_spin_rate": 2392.8065,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0946,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6759,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0246,
"sample_weight": 0.45,
"run_prevention_factor": 0.9979,
"strikeout_factor": 1.0154,
"walk_factor": 1.0036,
"homer_factor": 1.0363,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573204",
"espn_id": 32440,
"player_name": "Caleb Thielbar",
"team": "CHC",
"role": "pitcher",
"espn_rank": 285,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 285,
"gp_value": 20.0,
"gp_rank": 171,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.5,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 3.0,
"hld_rank": 139,
"ip_value": 18.0,
"ip_rank": 398,
"h_value": 13.0,
"h_rank": 434,
"er_value": 7.0,
"er_rank": 416,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 20.0,
"k_rank": 345,
"k_per_9_value": 10.0,
"k_per_9_rank": 23,
"whip_value": 1.1666,
"whip_rank": null,
"war_value": 0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0016,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0163,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0069,
"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": 7,
"BB": 3,
"SO": 9,
"HR": 2,
"ERA": 3.8571428571428577,
"WHIP": 1.0714285714285716,
"K9": 8.678571428571429,
"HR9": 1.9285714285714288,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": true,
"pitcher_id": "573204",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 27,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 27,
"pitch_usage": 0.0,
"release_speed": 88.0381017132449,
"release_spin_rate": 2392.8064756255285,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 27,
"pitch_usage": 0.0,
"release_speed": 88.0381017132449,
"release_spin_rate": 2392.8064756255285,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0381,
"release_spin_rate": 2392.8065,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0946,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6759,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.564,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4162,
"prior_weight": 0.5838
},
"role": "pitcher",
"player_id": "573204",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 0.0,
"SO": 5.0,
"HR": 2.0,
"BF": 19.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.0,
"SO": 1.0,
"HR": 0.4,
"BF": 3.8,
"Pitches": 16.6
},
"rates": {
"ERA": 5.0625,
"WHIP": 0.75,
"ER_per_IP": 0.5625,
"H_per_IP": 0.75,
"BB_per_IP": 0.0,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.375
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 3.0,
"SO": 9.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 168.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.7,
"BB": 0.3,
"SO": 0.9,
"HR": 0.2,
"BF": 3.9,
"Pitches": 16.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.0,
"ER_per_IP": 0.4,
"H_per_IP": 0.7,
"BB_per_IP": 0.3,
"SO_per_IP": 0.9,
"HR_per_IP": 0.2
}
},
"season": {
"games": 19,
"totals": {
"IP": 18.0,
"ER": 6.0,
"R": 7.0,
"H": 12.0,
"BB": 7.0,
"SO": 20.0,
"HR": 3.0,
"BF": 73.0,
"Pitches": 315.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3158,
"R": 0.3684,
"H": 0.6316,
"BB": 0.3684,
"SO": 1.0526,
"HR": 0.1579,
"BF": 3.8421,
"Pitches": 16.5789
},
"rates": {
"ERA": 3.0,
"WHIP": 1.0556,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.38889,
"SO_per_IP": 1.11111,
"HR_per_IP": 0.16667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.481,
"predicted_H": 0.866,
"predicted_BB": 0.287,
"predicted_SO": 0.944,
"predicted_HR": 0.198,
"predicted_ERA": 4.3309,
"predicted_WHIP": 1.1523
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5967,
"form_weight": 0.4033,
"form_reliability": 0.4162,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.564,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4162,
"prior_weight": 0.5838
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.481,
"final": 0.194,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.866,
"final": 0.3493,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.287,
"final": 0.7124,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.944,
"final": 0.3808,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.198,
"final": 0.0799,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3309,
"final": 4.3309,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1523,
"final": 1.1523,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Daniel Palencia |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0551 |
| ESPN Rank | 234 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.2979 |
| Season WHIP | 1.2128 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"opponent": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"edges": {
"quality_edge": 0.3272,
"offense_edge": 0.063,
"opponent_offense_edge": 0.0499,
"defense_strength": -0.0155,
"opponent_defense_weakness": 0.2242,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9932,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694037",
"profile": {
"available": true,
"pitcher_id": "694037",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 40.0,
"k_percent": 23.9,
"bb_percent": 7.5,
"woba": 0.32,
"xwoba": 0.308,
"sweet_spot_percent": 54.3,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 30.4,
"avg_best_speed": 80.2456,
"avg_hyper_speed": 93.2588,
"whiff_percent": 30.9,
"swing_percent": 51.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.041,
"command_and_miss": 0.4271,
"regression_edge": 0.3429,
"xwoba_edge": 0.2,
"barrel_edge": 0.1778,
"hard_hit_edge": 1.1714,
"whiff_edge": 0.7714,
"bb_edge": 0.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "694037",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0551,
"sample_weight": 0.45,
"run_prevention_factor": 0.9953,
"strikeout_factor": 1.017,
"walk_factor": 0.9856,
"homer_factor": 0.9698,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694037",
"espn_id": 4875225,
"player_name": "Daniel Palencia",
"team": "CHC",
"role": "pitcher",
"espn_rank": 234,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 234,
"gp_value": 18.0,
"gp_rank": 197,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.8723,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 3.0,
"sv_rank": 43,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 15.2,
"ip_rank": 423,
"h_value": 17.0,
"h_rank": 375,
"er_value": 5.0,
"er_rank": 490,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 5.0,
"bb_rank": 466,
"k_value": 16.0,
"k_rank": 390,
"k_per_9_value": 9.191489,
"k_per_9_rank": 24,
"whip_value": 1.4042,
"whip_rank": null,
"war_value": 0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9979,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9979,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9864,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0076,
"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": 9,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 2.076923076923077,
"WHIP": 1.2692307692307694,
"K9": 9.346153846153847,
"HR9": 1.0384615384615385,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": false,
"pitcher_id": "694037",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.102,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3829,
"prior_weight": 0.6171
},
"role": "pitcher",
"player_id": "694037",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.0
},
"rates": {
"ERA": 1.8,
"WHIP": 0.8,
"ER_per_IP": 0.2,
"H_per_IP": 0.8,
"BB_per_IP": 0.0,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 4.0,
"R": 4.0,
"H": 11.0,
"BB": 2.0,
"SO": 10.0,
"HR": 2.0,
"BF": 40.0,
"Pitches": 158.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.1,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 4.0,
"Pitches": 15.8
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.3929,
"ER_per_IP": 0.42857,
"H_per_IP": 1.17857,
"BB_per_IP": 0.21429,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 17,
"totals": {
"IP": 15.2,
"ER": 4.0,
"R": 4.0,
"H": 15.0,
"BB": 4.0,
"SO": 16.0,
"HR": 2.0,
"BF": 64.0,
"Pitches": 251.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2353,
"R": 0.2353,
"H": 0.8824,
"BB": 0.2353,
"SO": 0.9412,
"HR": 0.1176,
"BF": 3.7647,
"Pitches": 14.7647
},
"rates": {
"ERA": 2.2979,
"WHIP": 1.2128,
"ER_per_IP": 0.25532,
"H_per_IP": 0.95745,
"BB_per_IP": 0.25532,
"SO_per_IP": 1.02128,
"HR_per_IP": 0.12766
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.418,
"predicted_H": 0.969,
"predicted_BB": 0.271,
"predicted_SO": 0.936,
"predicted_HR": 0.128,
"predicted_ERA": 3.7605,
"predicted_WHIP": 1.2401
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6107,
"form_weight": 0.3893,
"form_reliability": 0.3829,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.102,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3829,
"prior_weight": 0.6171
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.418,
"final": 0.1627,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.969,
"final": 0.3772,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.271,
"final": 0.1055,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.936,
"final": 0.9751,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.128,
"final": 0.0498,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7605,
"final": 3.7605,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2401,
"final": 1.2401,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jacob Webb |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0008 |
| ESPN Rank | 301 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.7303 |
| Season WHIP | 1.3146 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"opponent": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"edges": {
"quality_edge": 0.3272,
"offense_edge": 0.063,
"opponent_offense_edge": 0.0499,
"defense_strength": -0.0155,
"opponent_defense_weakness": 0.2242,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9932,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "657097",
"profile": {
"available": true,
"pitcher_id": "657097",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 101.0,
"k_percent": 27.8,
"bb_percent": 7.9,
"woba": 0.305,
"xwoba": 0.312,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 48.1,
"avg_best_speed": 80.5832,
"avg_hyper_speed": 95.0825,
"whiff_percent": 31.5,
"swing_percent": 52.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2867,
"command_and_miss": 0.6879,
"regression_edge": -0.2,
"xwoba_edge": 0.0857,
"barrel_edge": -0.3333,
"hard_hit_edge": -1.3571,
"whiff_edge": 0.8571,
"bb_edge": 0.3,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "657097",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0008,
"sample_weight": 0.45,
"run_prevention_factor": 1.0001,
"strikeout_factor": 1.0285,
"walk_factor": 0.9892,
"homer_factor": 1.0353,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657097",
"espn_id": 40384,
"player_name": "Jacob Webb",
"team": "CHC",
"role": "pitcher",
"espn_rank": 301,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 301,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.7303,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 4.0,
"hld_rank": 113,
"ip_value": 29.2,
"ip_rank": 248,
"h_value": 29.0,
"h_rank": 214,
"er_value": 9.0,
"er_rank": 343,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 10.0,
"bb_rank": 294,
"k_value": 35.0,
"k_rank": 188,
"k_per_9_value": 10.617977,
"k_per_9_rank": 20,
"whip_value": 1.3146,
"whip_rank": null,
"war_value": 0.14,
"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": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0159,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0128,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 9,
"BB": 2,
"SO": 12,
"HR": 1,
"ERA": 1.8,
"WHIP": 1.1,
"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-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "657097",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.875,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"role": "pitcher",
"player_id": "657097",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 30,
"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": 4.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 4.2,
"Pitches": 15.0
},
"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.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 2.0,
"SO": 12.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 165.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.2,
"SO": 1.2,
"HR": 0.1,
"BF": 4.1,
"Pitches": 16.5
},
"rates": {
"ERA": 1.8,
"WHIP": 1.1,
"ER_per_IP": 0.2,
"H_per_IP": 0.9,
"BB_per_IP": 0.2,
"SO_per_IP": 1.2,
"HR_per_IP": 0.1
}
},
"season": {
"games": 30,
"totals": {
"IP": 29.2,
"ER": 9.0,
"R": 12.0,
"H": 29.0,
"BB": 10.0,
"SO": 35.0,
"HR": 4.0,
"BF": 127.0,
"Pitches": 524.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.9667,
"BB": 0.3333,
"SO": 1.1667,
"HR": 0.1333,
"BF": 4.2333,
"Pitches": 17.4667
},
"rates": {
"ERA": 2.7303,
"WHIP": 1.3146,
"ER_per_IP": 0.30337,
"H_per_IP": 0.97753,
"BB_per_IP": 0.33708,
"SO_per_IP": 1.17978,
"HR_per_IP": 0.13483
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.396,
"predicted_H": 0.966,
"predicted_BB": 0.289,
"predicted_SO": 0.978,
"predicted_HR": 0.149,
"predicted_ERA": 3.565,
"predicted_WHIP": 1.2547
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5443,
"form_weight": 0.4557,
"form_reliability": 0.5402,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.875,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5402,
"prior_weight": 0.4598
},
"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.1805,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.966,
"final": 0.4402,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.289,
"final": 0.1317,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.978,
"final": 0.4457,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.149,
"final": 0.0679,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.565,
"final": 3.565,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2547,
"final": 1.2547,
"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 | Hoby Milner |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2719 |
| ESPN Rank | 299 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.7340 |
| Season WHIP | 1.1489 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 80,
"wins": 40,
"losses": 40,
"win_pct": 0.5,
"runs_scored": 382.0,
"runs_allowed": 365.0,
"run_differential": 17.0,
"run_differential_per_game": 0.2125,
"avg_runs_scored": 4.775,
"avg_runs_allowed": 4.5625,
"offense_index": 1.063,
"defense_index": 0.9845,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.8,
"run_differential": -8.0
},
"available": true,
"quality_score": 0.026
},
"opponent": {
"team": "COL",
"games": 81,
"wins": 31,
"losses": 50,
"win_pct": 0.3827,
"runs_scored": 382.0,
"runs_allowed": 469.0,
"run_differential": -87.0,
"run_differential_per_game": -1.0741,
"avg_runs_scored": 4.716,
"avg_runs_allowed": 5.7901,
"offense_index": 1.0499,
"defense_index": 0.7758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 7.5,
"run_differential": -14.0
},
"available": true,
"quality_score": -0.3012
},
"edges": {
"quality_edge": 0.3272,
"offense_edge": 0.063,
"opponent_offense_edge": 0.0499,
"defense_strength": -0.0155,
"opponent_defense_weakness": 0.2242,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0106,
"run_prevention": 0.9932,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "571948",
"profile": {
"available": true,
"pitcher_id": "571948",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 96.0,
"k_percent": 11.8,
"bb_percent": 5.5,
"woba": 0.295,
"xwoba": 0.354,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 37.3,
"avg_best_speed": 78.6164,
"avg_hyper_speed": 93.7056,
"whiff_percent": 17.6,
"swing_percent": 45.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3526,
"command_and_miss": -0.9157,
"regression_edge": -1.6857,
"xwoba_edge": -1.1143,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.1857,
"whiff_edge": -1.1286,
"bb_edge": 0.9,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "571948",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2719,
"sample_weight": 0.45,
"run_prevention_factor": 1.0231,
"strikeout_factor": 0.9517,
"walk_factor": 0.9676,
"homer_factor": 1.0005,
"woba_minus_xwoba": -0.059,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "571948",
"espn_id": 36088,
"player_name": "Hoby Milner",
"team": "CHC",
"role": "pitcher",
"espn_rank": 299,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 299,
"gp_value": 33.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.734,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 31.1,
"ip_rank": 214,
"h_value": 29.0,
"h_rank": 214,
"er_value": 13.0,
"er_rank": 236,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 15.0,
"k_rank": 404,
"k_per_9_value": 4.308511,
"k_per_9_rank": 50,
"whip_value": 1.1489,
"whip_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0104,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0104,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0002,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 0.9783,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 8,
"H": 13,
"BB": 1,
"SO": 5,
"HR": 1,
"ERA": 9.0,
"WHIP": 1.75,
"K9": 5.625,
"HR9": 1.125,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "571948",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.205,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5538,
"prior_weight": 0.4462
},
"role": "pitcher",
"player_id": "571948",
"report_date": "20260615_C",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 1.0,
"SO": 1.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 71.0
},
"per_game": {
"IP": 0.2,
"ER": 1.2,
"R": 1.2,
"H": 1.8,
"BB": 0.2,
"SO": 0.2,
"HR": 0.2,
"BF": 4.2,
"Pitches": 14.2
},
"rates": {
"ERA": 14.7273,
"WHIP": 2.7273,
"ER_per_IP": 1.63636,
"H_per_IP": 2.45455,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.27273,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 8.0,
"R": 8.0,
"H": 13.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 141.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 0.8,
"H": 1.3,
"BB": 0.1,
"SO": 0.5,
"HR": 0.1,
"BF": 3.8,
"Pitches": 14.1
},
"rates": {
"ERA": 9.0,
"WHIP": 1.75,
"ER_per_IP": 1.0,
"H_per_IP": 1.625,
"BB_per_IP": 0.125,
"SO_per_IP": 0.625,
"HR_per_IP": 0.125
}
},
"season": {
"games": 33,
"totals": {
"IP": 31.1,
"ER": 13.0,
"R": 13.0,
"H": 29.0,
"BB": 7.0,
"SO": 15.0,
"HR": 3.0,
"BF": 130.0,
"Pitches": 485.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3939,
"R": 0.3939,
"H": 0.8788,
"BB": 0.2121,
"SO": 0.4545,
"HR": 0.0909,
"BF": 3.9394,
"Pitches": 14.697
},
"rates": {
"ERA": 3.734,
"WHIP": 1.1489,
"ER_per_IP": 0.41489,
"H_per_IP": 0.92553,
"BB_per_IP": 0.2234,
"SO_per_IP": 0.47872,
"HR_per_IP": 0.09574
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.482,
"predicted_H": 0.812,
"predicted_BB": 0.154,
"predicted_SO": 0.366,
"predicted_HR": 0.093,
"predicted_ERA": 7.822,
"predicted_WHIP": 1.741
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5385,
"form_weight": 0.4615,
"form_reliability": 0.5538,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.205,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5538,
"prior_weight": 0.4462
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.482,
"final": 0.2224,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.812,
"final": 0.3747,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.154,
"final": 0.0711,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.366,
"final": 1.7845,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.093,
"final": 0.0429,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 7.822,
"final": 7.822,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.741,
"final": 1.741,
"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.143 | 0.000 | 0.000 | Hitting_2B | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.460 | 4.000 | 4.000 | Hitting_AB | 4.115 | 4.000 | -0.115 | 0.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.259 | 0.500 | -0.259 | -0.500 |
| predicted_BB | 0.457 | 1.000 | 1.000 | Hitting_BB | 0.509 | 0.000 | 0.491 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 1.050 | 0.000 | 1.000 | Hitting_H | 1.067 | 2.000 | -1.067 | -2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_OBP | 0.335 | 0.200 | 0.400 | Hitting_OBP | 0.348 | 0.500 | -0.148 | -0.300 |
| predicted_R | 0.471 | 0.000 | 1.000 | Hitting_R | 0.498 | 0.000 | -0.498 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.320 | 0.000 | -0.320 | 0.000 |
| predicted_SLG | 0.387 | 0.000 | 0.250 | Hitting_SLG | 0.353 | 0.500 | -0.353 | -0.500 |
| predicted_SO | 0.757 | 1.000 | 1.000 | Hitting_SO | 0.784 | 0.000 | 0.216 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.4570 -> 1.0000 (boost 0.5430, better) |
| Biggest Deboost | predicted_H: 1.0500 -> 0.0000 (deboost -1.0500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2350 -> 0.2418 (boost 0.0068, better) | predicted_AB: 4.4600 -> 4.2055 (deboost -0.2545, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2418 -> 0.2519 (boost 0.0101, better) | predicted_OBP: 0.3395 -> 0.3275 (deboost -0.0120, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.7100 -> 1.0000 (boost 0.2900, worse) | predicted_BB: 0.4725 -> 0.0000 (deboost -0.4725, worse) | AB rounded to 4 (raw=4.46), rates preserved: AVG=0.238 HR/AB=0.029 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5209 -> 1.0000 (boost 0.4791, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3275 -> 0.4000 (boost 0.0725, better) | predicted_SLG: 0.3865 -> 0.2500 (deboost -0.1365, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3865 (boost 0.1365, better) | predicted_OBP: 0.4000 -> 0.3275 (deboost -0.0725, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608324",
"player_name": "Alex Bregman",
"position": "3B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.014,
"predicted_AB": 4.46,
"predicted_AVG": 0.235,
"predicted_BB": 0.457,
"predicted_H": 1.05,
"predicted_HR": 0.13,
"predicted_OBP": 0.335,
"predicted_R": 0.471,
"predicted_RBI": 0.41,
"predicted_SLG": 0.387,
"predicted_SO": 0.757
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0119,
"predicted_AB": 4.2055,
"predicted_AVG": 0.2418,
"predicted_BB": 0.4668,
"predicted_H": 1.0156,
"predicted_HBP": 0.099,
"predicted_HR": 0.1236,
"predicted_OBP": 0.3395,
"predicted_R": 0.4854,
"predicted_RBI": 0.3828,
"predicted_SLG": 0.3877,
"predicted_SO": 0.7188
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.154,
"delta": 0.011,
"percent_delta": 0.0769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.46,
"after": 4.2055,
"delta": -0.2545,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2418,
"delta": 0.0068,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.457,
"after": 0.4668,
"delta": 0.0098,
"percent_delta": 0.0214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0156,
"delta": -0.0344,
"percent_delta": -0.0328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1236,
"delta": -0.0064,
"percent_delta": -0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3395,
"delta": 0.0045,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4854,
"delta": 0.0144,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3828,
"delta": -0.0272,
"percent_delta": -0.0663,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3877,
"delta": 0.0007,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.757,
"after": 0.7188,
"delta": -0.0382,
"percent_delta": -0.0505,
"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.235,
"after": 0.2418,
"delta": 0.0068,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.46,
"after": 4.2055,
"delta": -0.2545,
"percent_delta": -0.0571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0119,
"predicted_AB": 4.2055,
"predicted_AVG": 0.2519,
"predicted_BB": 0.4725,
"predicted_H": 1.0596,
"predicted_HBP": 0.099,
"predicted_HR": 0.1293,
"predicted_OBP": 0.3275,
"predicted_R": 0.5209,
"predicted_RBI": 0.4108,
"predicted_SLG": 0.3865,
"predicted_SO": 0.71
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.154,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2055,
"after": 4.2055,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2418,
"after": 0.2519,
"delta": 0.0101,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4668,
"after": 0.4725,
"delta": 0.0057,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0156,
"after": 1.0596,
"delta": 0.044,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.099,
"after": 0.099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1236,
"after": 0.1293,
"delta": 0.0057,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3395,
"after": 0.3275,
"delta": -0.012,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4854,
"after": 0.5209,
"delta": 0.0355,
"percent_delta": 0.0731,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3828,
"after": 0.4108,
"delta": 0.028,
"percent_delta": 0.0731,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3877,
"after": 0.3865,
"delta": -0.0012,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7188,
"after": 0.71,
"delta": -0.0088,
"percent_delta": -0.0122,
"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.2418,
"after": 0.2519,
"delta": 0.0101,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3395,
"after": 0.3275,
"delta": -0.012,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.46), rates preserved: AVG=0.238 HR/AB=0.029",
"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.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2055,
"after": 4.0,
"delta": -0.2055,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4725,
"after": 0.0,
"delta": -0.4725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0596,
"after": 1.0,
"delta": -0.0596,
"percent_delta": -0.0562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1293,
"after": 0.0,
"delta": -0.1293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4108,
"after": 0.0,
"delta": -0.4108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4725,
"after": 0.0,
"delta": -0.4725,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"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.5209,
"after": 1.0,
"delta": 0.4791,
"percent_delta": 0.9198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2519,
"after": 0.25,
"delta": -0.0019,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3275,
"after": 0.4,
"delta": 0.0725,
"percent_delta": 0.2214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3865,
"after": 0.25,
"delta": -0.1365,
"percent_delta": -0.3532,
"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.3275,
"after": 0.4,
"delta": 0.0725,
"percent_delta": 0.2214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3865,
"after": 0.25,
"delta": -0.1365,
"percent_delta": -0.3532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2519,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3275,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3865,
"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.2519,
"delta": 0.0019,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3275,
"delta": -0.0725,
"percent_delta": -0.1812,
"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.3865,
"delta": 0.1365,
"percent_delta": 0.5459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3865,
"delta": 0.1365,
"percent_delta": 0.5459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3275,
"delta": -0.0725,
"percent_delta": -0.1812,
"direction": "deboost",
"projection_effect": "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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.46,
"after": 4.0,
"delta": -0.46,
"percent_delta": -0.1031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2519,
"delta": 0.0169,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.457,
"after": 1.0,
"delta": 0.543,
"percent_delta": 1.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"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.335,
"after": 0.3275,
"delta": -0.0075,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.0,
"delta": -0.471,
"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.387,
"after": 0.3865,
"delta": -0.0005,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.757,
"after": 1.0,
"delta": 0.243,
"percent_delta": 0.321,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.457,
"after": 1.0,
"delta": 0.543,
"percent_delta": 1.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.05,
"after": 0.0,
"delta": -1.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.460 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.457 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.387 | - |
| predicted_SO | 0.757 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.011 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 4.205 | -0.255 |
| predicted_AVG | 0.242 | 0.007 |
| predicted_BB | 0.467 | 0.010 |
| predicted_H | 1.016 | -0.034 |
| predicted_HBP | 0.099 | - |
| predicted_HR | 0.124 | -0.006 |
| predicted_OBP | 0.340 | 0.005 |
| predicted_R | 0.485 | 0.014 |
| predicted_RBI | 0.383 | -0.027 |
| predicted_SLG | 0.388 | 0.001 |
| predicted_SO | 0.719 | -0.038 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.205 | 0.000 |
| predicted_AVG | 0.252 | 0.010 |
| predicted_BB | 0.472 | 0.006 |
| predicted_H | 1.060 | 0.044 |
| predicted_HBP | 0.099 | 0.000 |
| predicted_HR | 0.129 | 0.006 |
| predicted_OBP | 0.328 | -0.012 |
| predicted_R | 0.521 | 0.036 |
| predicted_RBI | 0.411 | 0.028 |
| predicted_SLG | 0.387 | -0.001 |
| predicted_SO | 0.710 | -0.009 |
AB rounded to 4 (raw=4.46), rates preserved: AVG=0.238 HR/AB=0.029
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.143)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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.154 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | -0.205 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 1.000 | 0.528 |
| predicted_H | 1.000 | -0.060 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.400 | 0.073 |
| predicted_R | 1.000 | 0.479 |
| predicted_RBI | 0.000 | -0.411 |
| predicted_SLG | 0.250 | -0.137 |
| predicted_SO | 1.000 | 0.290 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 3.000 | 2.000 | 0.2778 | 0.4091 | 0.5000 | 0.2778 | 0.0556 | 0.1111 | 0.1667 | 0.1111 |
| last_10 | 0.20 | 10 | - | 37.000 | 8.000 | 2.000 | 0.000 | 1.000 | 3.000 | 5.000 | 5.000 | 6.000 | 0.2162 | 0.3182 | 0.3514 | 0.2162 | 0.0270 | 0.0811 | 0.1351 | 0.1622 |
| season | 0.60 | 70 | - | 280.000 | 71.000 | 10.000 | 1.000 | 6.000 | 22.000 | 33.000 | 32.000 | 53.000 | 0.2536 | 0.3386 | 0.3607 | 0.2536 | 0.0214 | 0.0786 | 0.1143 | 0.1893 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1690 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.8610 |
| predicted_AVG | 0.2509 |
| predicted_BB | 0.4800 |
| predicted_H | 0.9690 |
| predicted_HBP | 0.0990 |
| predicted_HR | 0.1150 |
| predicted_OBP | 0.3456 |
| predicted_R | 0.5050 |
| predicted_RBI | 0.3460 |
| predicted_SLG | 0.3887 |
| predicted_SO | 0.6670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1690 | 0.1540 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 4.4600 | 3.8610 | 4.2055 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2509 | 0.2418 | model_form_blend |
| predicted_BB | 0.4570 | 0.4800 | 0.4668 | model_form_blend |
| predicted_H | 1.0500 | 0.9690 | 1.0156 | model_form_blend |
| predicted_HBP | - | 0.0990 | 0.0990 | form_only |
| predicted_HR | 0.1300 | 0.1150 | 0.1236 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3456 | 0.3395 | model_form_blend |
| predicted_R | 0.4710 | 0.5050 | 0.4854 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3460 | 0.3828 | model_form_blend |
| predicted_SLG | 0.3870 | 0.3887 | 0.3877 | model_form_blend |
| predicted_SO | 0.7570 | 0.6670 | 0.7188 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260614_CHC@SF |
| game_type | full |
| mlbID | 608324 |
| playerID | 608324 |
| playerName | Alex Bregman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.6 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.309 |
| sl_xwoba | 0.315 |
| sl_xba | 0.247 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 33.2 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 38.4 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 17.8 |
| 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.155 | 1.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | 0.875 | 1.000 |
| predicted_3B | 0.042 | 1.000 | 0.000 | Hitting_3B | 0.036 | 0.000 | 0.964 | 1.000 |
| predicted_AB | 4.270 | 4.000 | 4.000 | Hitting_AB | 3.706 | 4.000 | 0.294 | 0.000 |
| predicted_AVG | 0.262 | 0.750 | 0.250 | Hitting_AVG | 0.251 | 0.500 | 0.499 | 0.250 |
| predicted_BB | 0.338 | 1.000 | 0.000 | Hitting_BB | 0.399 | 0.000 | 0.601 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.073 | 0.000 | -0.073 | 0.000 |
| predicted_H | 1.120 | 3.000 | 1.000 | Hitting_H | 0.931 | 2.000 | 2.069 | 1.000 |
| predicted_HR | 0.190 | 1.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | 0.871 | 1.000 |
| predicted_OBP | 0.354 | 0.800 | 0.250 | Hitting_OBP | 0.341 | 0.500 | 0.459 | 0.300 |
| predicted_R | 0.592 | 1.000 | 1.000 | Hitting_R | 0.585 | 0.000 | 0.415 | 1.000 |
| predicted_RBI | 0.470 | 3.000 | 0.000 | Hitting_RBI | 0.468 | 0.000 | 2.532 | 3.000 |
| predicted_SLG | 0.509 | 2.250 | 0.250 | Hitting_SLG | 0.409 | 0.500 | 1.841 | 1.750 |
| predicted_SO | 1.056 | 0.000 | 1.000 | Hitting_SO | 1.056 | 1.000 | -1.056 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 12 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 3 |
| Better Metrics | 10 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.4700 -> 3.0000 (boost 2.5300, better) |
| Biggest Deboost | predicted_SO: 1.0560 -> 0.0000 (deboost -1.0560, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.1200 -> 1.1793 (boost 0.0593, better) | predicted_AB: 4.2700 -> 4.1383 (deboost -0.1317, 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_H: 1.1793 -> 1.2304 (boost 0.0511, better) | predicted_SLG: 0.5396 -> 0.5232 (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 | 8 | 0 | 8 | 0 | 8 | - | predicted_RBI: 0.4881 -> 0.0000 (deboost -0.4881, worse) | AB rounded to 4 (raw=4.27), rates preserved: AVG=0.288 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6789 -> 1.0000 (boost 0.3211, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5232 -> 0.2500 (deboost -0.2732, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 7 | 6 | 1 | 7 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5232 (boost 0.2732, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.155,
"predicted_3B": 0.042,
"predicted_AB": 4.27,
"predicted_AVG": 0.262,
"predicted_BB": 0.338,
"predicted_H": 1.12,
"predicted_HR": 0.19,
"predicted_OBP": 0.354,
"predicted_R": 0.592,
"predicted_RBI": 0.47,
"predicted_SLG": 0.509,
"predicted_SO": 1.056
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1978,
"predicted_3B": 0.0564,
"predicted_AB": 4.1383,
"predicted_AVG": 0.2859,
"predicted_BB": 0.3037,
"predicted_H": 1.1793,
"predicted_HBP": 0.085,
"predicted_HR": 0.1989,
"predicted_OBP": 0.3622,
"predicted_R": 0.6326,
"predicted_RBI": 0.4548,
"predicted_SLG": 0.5396,
"predicted_SO": 1.0353
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1978,
"delta": 0.0428,
"percent_delta": 0.2761,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0564,
"delta": 0.0144,
"percent_delta": 0.3429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 4.1383,
"delta": -0.1317,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2859,
"delta": 0.0239,
"percent_delta": 0.0912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.3037,
"delta": -0.0343,
"percent_delta": -0.1015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 1.1793,
"delta": 0.0593,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1989,
"delta": 0.0089,
"percent_delta": 0.0468,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3622,
"delta": 0.0082,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 0.6326,
"delta": 0.0406,
"percent_delta": 0.0686,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4548,
"delta": -0.0152,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.509,
"after": 0.5396,
"delta": 0.0306,
"percent_delta": 0.0601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.056,
"after": 1.0353,
"delta": -0.0207,
"percent_delta": -0.0196,
"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": 1.12,
"after": 1.1793,
"delta": 0.0593,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 4.1383,
"delta": -0.1317,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1978,
"predicted_3B": 0.0564,
"predicted_AB": 4.1383,
"predicted_AVG": 0.2973,
"predicted_BB": 0.3074,
"predicted_H": 1.2304,
"predicted_HBP": 0.085,
"predicted_HR": 0.2081,
"predicted_OBP": 0.3459,
"predicted_R": 0.6789,
"predicted_RBI": 0.4881,
"predicted_SLG": 0.5232,
"predicted_SO": 1.0226
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1978,
"after": 0.1978,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0564,
"after": 0.0564,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1383,
"after": 4.1383,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2859,
"after": 0.2973,
"delta": 0.0114,
"percent_delta": 0.0399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3037,
"after": 0.3074,
"delta": 0.0037,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1793,
"after": 1.2304,
"delta": 0.0511,
"percent_delta": 0.0433,
"direction": "boost",
"projection_effect": "better",
"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.1989,
"after": 0.2081,
"delta": 0.0092,
"percent_delta": 0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3622,
"after": 0.3459,
"delta": -0.0163,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6326,
"after": 0.6789,
"delta": 0.0463,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4548,
"after": 0.4881,
"delta": 0.0333,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5396,
"after": 0.5232,
"delta": -0.0164,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0353,
"after": 1.0226,
"delta": -0.0127,
"percent_delta": -0.0123,
"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.1793,
"after": 1.2304,
"delta": 0.0511,
"percent_delta": 0.0433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5396,
"after": 0.5232,
"delta": -0.0164,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.27), rates preserved: AVG=0.288 HR/AB=0.049",
"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.1978,
"after": 0.0,
"delta": -0.1978,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0564,
"after": 0.0,
"delta": -0.0564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.1383,
"after": 4.0,
"delta": -0.1383,
"percent_delta": -0.0334,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3074,
"after": 0.0,
"delta": -0.3074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2304,
"after": 1.0,
"delta": -0.2304,
"percent_delta": -0.1873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2081,
"after": 0.0,
"delta": -0.2081,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4881,
"after": 0.0,
"delta": -0.4881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0226,
"after": 1.0,
"delta": -0.0226,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 0,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4881,
"after": 0.0,
"delta": -0.4881,
"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.6789,
"after": 1.0,
"delta": 0.3211,
"percent_delta": 0.473,
"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.6789,
"after": 1.0,
"delta": 0.3211,
"percent_delta": 0.473,
"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.2973,
"after": 0.25,
"delta": -0.0473,
"percent_delta": -0.1591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3459,
"after": 0.25,
"delta": -0.0959,
"percent_delta": -0.2772,
"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.5232,
"after": 0.25,
"delta": -0.2732,
"percent_delta": -0.5222,
"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.5232,
"after": 0.25,
"delta": -0.2732,
"percent_delta": -0.5222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 1.0,
"predicted_AB": 4.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": 3.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2973,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3459,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5232,
"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": 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.2973,
"delta": 0.0473,
"percent_delta": 0.1892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3459,
"delta": 0.0959,
"percent_delta": 0.3836,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.25,
"after": 0.5232,
"delta": 0.2732,
"percent_delta": 1.0929,
"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.5232,
"delta": 0.2732,
"percent_delta": 1.0929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 1.0,
"delta": 0.845,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 1.0,
"delta": 0.958,
"percent_delta": 22.8095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.262,
"after": 0.2973,
"delta": 0.0353,
"percent_delta": 0.1347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 1.0,
"delta": 0.662,
"percent_delta": 1.9586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 3.0,
"delta": 1.88,
"percent_delta": 1.6786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3459,
"delta": -0.0081,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 3.0,
"delta": 2.53,
"percent_delta": 5.383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.509,
"after": 0.5232,
"delta": 0.0142,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.056,
"after": 0.0,
"delta": -1.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 9,
"deboosted_metrics": 3,
"better_metrics": 10,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.47,
"after": 3.0,
"delta": 2.53,
"percent_delta": 5.383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.056,
"after": 0.0,
"delta": -1.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 4.270 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.338 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.592 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.509 | - |
| predicted_SO | 1.056 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.198 | 0.043 |
| predicted_3B | 0.056 | 0.014 |
| predicted_AB | 4.138 | -0.132 |
| predicted_AVG | 0.286 | 0.024 |
| predicted_BB | 0.304 | -0.034 |
| predicted_H | 1.179 | 0.059 |
| predicted_HBP | 0.085 | - |
| predicted_HR | 0.199 | 0.009 |
| predicted_OBP | 0.362 | 0.008 |
| predicted_R | 0.633 | 0.041 |
| predicted_RBI | 0.455 | -0.015 |
| predicted_SLG | 0.540 | 0.031 |
| predicted_SO | 1.035 | -0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.198 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 4.138 | 0.000 |
| predicted_AVG | 0.297 | 0.011 |
| predicted_BB | 0.307 | 0.004 |
| predicted_H | 1.230 | 0.051 |
| predicted_HBP | 0.085 | 0.000 |
| predicted_HR | 0.208 | 0.009 |
| predicted_OBP | 0.346 | -0.016 |
| predicted_R | 0.679 | 0.046 |
| predicted_RBI | 0.488 | 0.033 |
| predicted_SLG | 0.523 | -0.016 |
| predicted_SO | 1.023 | -0.013 |
AB rounded to 4 (raw=4.27), rates preserved: AVG=0.288 HR/AB=0.049
| 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.198 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 4.000 | -0.138 |
| predicted_AVG | 0.250 | -0.047 |
| predicted_BB | 0.000 | -0.307 |
| predicted_H | 1.000 | -0.230 |
| predicted_HR | 0.000 | -0.208 |
| predicted_OBP | 0.250 | -0.096 |
| predicted_R | 1.000 | 0.321 |
| predicted_RBI | 0.000 | -0.488 |
| predicted_SLG | 0.250 | -0.273 |
| predicted_SO | 1.000 | -0.023 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 9.000 | 3.000 | 1.000 | 1.000 | 1.000 | 5.000 | 0.000 | 4.000 | 0.4091 | 0.4091 | 0.7727 | 0.4091 | 0.0454 | 0.0454 | 0.0000 | 0.1818 |
| last_10 | 0.20 | 10 | - | 42.000 | 17.000 | 3.000 | 1.000 | 4.000 | 5.000 | 8.000 | 2.000 | 11.000 | 0.4048 | 0.4444 | 0.8095 | 0.4048 | 0.0952 | 0.1191 | 0.0476 | 0.2619 |
| season | 0.60 | 71 | - | 266.000 | 72.000 | 11.000 | 3.000 | 12.000 | 33.000 | 42.000 | 24.000 | 75.000 | 0.2707 | 0.3478 | 0.4699 | 0.2707 | 0.0451 | 0.1241 | 0.0902 | 0.2819 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2560 |
| predicted_3B | 0.0760 |
| predicted_AB | 3.9590 |
| predicted_AVG | 0.3184 |
| predicted_BB | 0.2570 |
| predicted_H | 1.2600 |
| predicted_HBP | 0.0850 |
| predicted_HR | 0.2110 |
| predicted_OBP | 0.3734 |
| predicted_R | 0.6880 |
| predicted_RBI | 0.4340 |
| predicted_SLG | 0.5812 |
| predicted_SO | 1.0070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.2560 | 0.1978 | model_form_blend |
| predicted_3B | 0.0420 | 0.0760 | 0.0564 | model_form_blend |
| predicted_AB | 4.2700 | 3.9590 | 4.1383 | model_form_blend |
| predicted_AVG | 0.2620 | 0.3184 | 0.2859 | model_form_blend |
| predicted_BB | 0.3380 | 0.2570 | 0.3037 | model_form_blend |
| predicted_H | 1.1200 | 1.2600 | 1.1793 | model_form_blend |
| predicted_HBP | - | 0.0850 | 0.0850 | form_only |
| predicted_HR | 0.1900 | 0.2110 | 0.1989 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3734 | 0.3622 | model_form_blend |
| predicted_R | 0.5920 | 0.6880 | 0.6326 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4340 | 0.4548 | model_form_blend |
| predicted_SLG | 0.5090 | 0.5812 | 0.5396 | model_form_blend |
| predicted_SO | 1.0560 | 1.0070 | 1.0353 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 248 |
| Season rows before report date | 248 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 3 |
| 2B | 1 |
| 3B | 1 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 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 | CF |
| gameID | 20260614_CHC@SF |
| game_type | full |
| mlbID | 691718 |
| playerID | 691718 |
| playerName | Pete Crow-Armstrong |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.352 |
| sl_xwoba | 0.356 |
| sl_xba | 0.258 |
| sl_xslg | 0.483 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 49.5 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 19.6 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 52.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.123 | 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 | 3.860 | 3.000 | 4.000 | Hitting_AB | 3.846 | 2.000 | -0.846 | 1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.250 | Hitting_AVG | 0.259 | 0.500 | -0.259 | -0.500 |
| predicted_BB | 0.421 | 1.000 | 0.000 | Hitting_BB | 0.477 | 1.000 | 0.523 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 0.995 | 1.000 | -0.995 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_OBP | 0.342 | 0.250 | 0.250 | Hitting_OBP | 0.349 | 0.667 | -0.099 | -0.417 |
| predicted_R | 0.544 | 0.000 | 1.000 | Hitting_R | 0.636 | 0.000 | -0.636 | 0.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.497 | 1.000 | -0.497 | -1.000 |
| predicted_SLG | 0.463 | 0.000 | 0.250 | Hitting_SLG | 0.429 | 0.500 | -0.429 | -0.500 |
| predicted_SO | 1.088 | 1.000 | 1.000 | Hitting_SO | 1.123 | 1.000 | -0.123 | 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.4210 -> 1.0000 (boost 0.5790, better) |
| Biggest Deboost | predicted_H: 0.9900 -> 0.0000 (deboost -0.9900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4630 -> 0.4813 (boost 0.0183, better) | predicted_AB: 3.8600 -> 3.7453 (deboost -0.1147, 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_RBI: 0.7034 -> 0.7549 (boost 0.0515, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_AB: 3.7453 -> 4.0000 (boost 0.2547, better) | predicted_BB: 0.4030 -> 0.0000 (deboost -0.4030, worse) | AB rounded to 4 (raw=3.86), rates preserved: AVG=0.271 HR/AB=0.051 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5762 -> 1.0000 (boost 0.4238, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4784 -> 0.2500 (deboost -0.2284, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4784 (boost 0.2284, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"position": "DH",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.123,
"predicted_3B": 0.0,
"predicted_AB": 3.86,
"predicted_AVG": 0.255,
"predicted_BB": 0.421,
"predicted_H": 0.99,
"predicted_HR": 0.18,
"predicted_OBP": 0.342,
"predicted_R": 0.544,
"predicted_RBI": 0.68,
"predicted_SLG": 0.463,
"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.1526,
"predicted_3B": 0.0008,
"predicted_AB": 3.7453,
"predicted_AVG": 0.2671,
"predicted_BB": 0.3981,
"predicted_H": 1.0017,
"predicted_HBP": 0.031,
"predicted_HR": 0.1888,
"predicted_OBP": 0.3475,
"predicted_R": 0.5369,
"predicted_RBI": 0.7034,
"predicted_SLG": 0.4813,
"predicted_SO": 1.0863
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.1526,
"delta": 0.0296,
"percent_delta": 0.2407,
"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": 3.86,
"after": 3.7453,
"delta": -0.1147,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2671,
"delta": 0.0121,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.421,
"after": 0.3981,
"delta": -0.0229,
"percent_delta": -0.0544,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0017,
"delta": 0.0117,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1888,
"delta": 0.0088,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3475,
"delta": 0.0055,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.544,
"after": 0.5369,
"delta": -0.0071,
"percent_delta": -0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.7034,
"delta": 0.0234,
"percent_delta": 0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.4813,
"delta": 0.0183,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.088,
"after": 1.0863,
"delta": -0.0017,
"percent_delta": -0.0016,
"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_SLG",
"before": 0.463,
"after": 0.4813,
"delta": 0.0183,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.86,
"after": 3.7453,
"delta": -0.1147,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1526,
"predicted_3B": 0.0008,
"predicted_AB": 3.7453,
"predicted_AVG": 0.279,
"predicted_BB": 0.403,
"predicted_H": 1.0451,
"predicted_HBP": 0.031,
"predicted_HR": 0.1975,
"predicted_OBP": 0.3491,
"predicted_R": 0.5762,
"predicted_RBI": 0.7549,
"predicted_SLG": 0.4784,
"predicted_SO": 1.0729
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1526,
"after": 0.1526,
"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.7453,
"after": 3.7453,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2671,
"after": 0.279,
"delta": 0.0119,
"percent_delta": 0.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3981,
"after": 0.403,
"delta": 0.0049,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0017,
"after": 1.0451,
"delta": 0.0434,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1888,
"after": 0.1975,
"delta": 0.0087,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3475,
"after": 0.3491,
"delta": 0.0016,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5369,
"after": 0.5762,
"delta": 0.0393,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7034,
"after": 0.7549,
"delta": 0.0515,
"percent_delta": 0.0732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4813,
"after": 0.4784,
"delta": -0.0029,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0863,
"after": 1.0729,
"delta": -0.0134,
"percent_delta": -0.0123,
"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_RBI",
"before": 0.7034,
"after": 0.7549,
"delta": 0.0515,
"percent_delta": 0.0732,
"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.86), rates preserved: AVG=0.271 HR/AB=0.051",
"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.1526,
"after": 0.0,
"delta": -0.1526,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7453,
"after": 4.0,
"delta": 0.2547,
"percent_delta": 0.068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 1.0451,
"after": 1.0,
"delta": -0.0451,
"percent_delta": -0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1975,
"after": 0.0,
"delta": -0.1975,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7549,
"after": 1.0,
"delta": 0.2451,
"percent_delta": 0.3247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0729,
"after": 1.0,
"delta": -0.0729,
"percent_delta": -0.0679,
"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_AB",
"before": 3.7453,
"after": 4.0,
"delta": 0.2547,
"percent_delta": 0.068,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.403,
"after": 0.0,
"delta": -0.403,
"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.5762,
"after": 1.0,
"delta": 0.4238,
"percent_delta": 0.7355,
"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.5762,
"after": 1.0,
"delta": 0.4238,
"percent_delta": 0.7355,
"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.279,
"after": 0.25,
"delta": -0.029,
"percent_delta": -0.1039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3491,
"after": 0.25,
"delta": -0.0991,
"percent_delta": -0.2839,
"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.4784,
"after": 0.25,
"delta": -0.2284,
"percent_delta": -0.4774,
"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.4784,
"after": 0.25,
"delta": -0.2284,
"percent_delta": -0.4774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_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.279,
"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.3491,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4784,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.279,
"delta": 0.029,
"percent_delta": 0.1161,
"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.3491,
"delta": 0.0991,
"percent_delta": 0.3963,
"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.4784,
"delta": 0.2284,
"percent_delta": 0.9138,
"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.4784,
"delta": 0.2284,
"percent_delta": 0.9138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 3.0,
"delta": -0.86,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.279,
"delta": 0.024,
"percent_delta": 0.0941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.421,
"after": 1.0,
"delta": 0.579,
"percent_delta": 1.3753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3491,
"delta": 0.0071,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.544,
"after": 0.0,
"delta": -0.544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.463,
"after": 0.4784,
"delta": 0.0154,
"percent_delta": 0.0333,
"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": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.421,
"after": 1.0,
"delta": 0.579,
"percent_delta": 1.3753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.123 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.421 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.544 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.463 | - |
| 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.153 | 0.030 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.745 | -0.115 |
| predicted_AVG | 0.267 | 0.012 |
| predicted_BB | 0.398 | -0.023 |
| predicted_H | 1.002 | 0.012 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.189 | 0.009 |
| predicted_OBP | 0.347 | 0.005 |
| predicted_R | 0.537 | -0.007 |
| predicted_RBI | 0.703 | 0.023 |
| predicted_SLG | 0.481 | 0.018 |
| predicted_SO | 1.086 | -0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.745 | 0.000 |
| predicted_AVG | 0.279 | 0.012 |
| predicted_BB | 0.403 | 0.005 |
| predicted_H | 1.045 | 0.043 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.198 | 0.009 |
| predicted_OBP | 0.349 | 0.002 |
| predicted_R | 0.576 | 0.039 |
| predicted_RBI | 0.755 | 0.051 |
| predicted_SLG | 0.478 | -0.003 |
| predicted_SO | 1.073 | -0.013 |
AB rounded to 4 (raw=3.86), rates preserved: AVG=0.271 HR/AB=0.051
| 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.153 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.255 |
| predicted_AVG | 0.250 | -0.029 |
| predicted_BB | 0.000 | -0.403 |
| predicted_H | 1.000 | -0.045 |
| predicted_HR | 0.000 | -0.198 |
| predicted_OBP | 0.250 | -0.099 |
| predicted_R | 1.000 | 0.424 |
| predicted_RBI | 1.000 | 0.245 |
| predicted_SLG | 0.250 | -0.228 |
| predicted_SO | 1.000 | -0.073 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 2.000 | 0.000 | 1.000 | 7.000 | 2.000 | 1.000 | 7.000 | 0.3333 | 0.3684 | 0.6111 | 0.3333 | 0.0556 | 0.3889 | 0.0556 | 0.3889 |
| last_10 | 0.20 | 10 | - | 32.000 | 11.000 | 2.000 | 0.000 | 3.000 | 9.000 | 6.000 | 4.000 | 9.000 | 0.3438 | 0.4167 | 0.6875 | 0.3438 | 0.0938 | 0.2812 | 0.1250 | 0.2812 |
| season | 0.60 | 57 | - | 208.000 | 53.000 | 7.000 | 0.000 | 10.000 | 28.000 | 31.000 | 24.000 | 62.000 | 0.2548 | 0.3390 | 0.4327 | 0.2548 | 0.0481 | 0.1346 | 0.1154 | 0.2981 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5850 |
| predicted_AVG | 0.2840 |
| predicted_BB | 0.3660 |
| predicted_H | 1.0180 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.2010 |
| predicted_OBP | 0.3551 |
| predicted_R | 0.5270 |
| predicted_RBI | 0.7360 |
| predicted_SLG | 0.5070 |
| predicted_SO | 1.0840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.1940 | 0.1526 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8600 | 3.5850 | 3.7453 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2840 | 0.2671 | model_form_blend |
| predicted_BB | 0.4210 | 0.3660 | 0.3981 | model_form_blend |
| predicted_H | 0.9900 | 1.0180 | 1.0017 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.1800 | 0.2010 | 0.1888 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3551 | 0.3475 | model_form_blend |
| predicted_R | 0.5440 | 0.5270 | 0.5369 | model_form_blend |
| predicted_RBI | 0.6800 | 0.7360 | 0.7034 | model_form_blend |
| predicted_SLG | 0.4630 | 0.5070 | 0.4813 | model_form_blend |
| predicted_SO | 1.0880 | 1.0840 | 1.0863 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 57 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.255 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260613_CHC@SF |
| game_type | full |
| mlbID | 673548 |
| playerID | 673548 |
| playerName | Seiya Suzuki |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-13 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.338 |
| sl_xwoba | 0.333 |
| sl_xba | 0.253 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 37.4 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 18.3 |
| sl_whiff_percent | 27.0 |
| 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.186 | 0.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | -0.202 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.930 | 5.000 | 4.000 | Hitting_AB | 3.687 | 4.000 | 1.313 | 1.000 |
| predicted_AVG | 0.251 | 0.400 | 0.250 | Hitting_AVG | 0.241 | 0.250 | 0.159 | 0.150 |
| predicted_BB | 0.671 | 0.000 | 1.000 | Hitting_BB | 0.779 | 0.000 | -0.779 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 2.000 | 1.000 | Hitting_H | 0.889 | 1.000 | 1.111 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_OBP | 0.373 | 0.400 | 0.400 | Hitting_OBP | 0.383 | 0.250 | 0.017 | 0.150 |
| predicted_R | 0.443 | 1.000 | 0.000 | Hitting_R | 0.504 | 0.000 | 0.496 | 1.000 |
| predicted_RBI | 0.640 | 1.000 | 1.000 | Hitting_RBI | 0.626 | 0.000 | 0.374 | 1.000 |
| predicted_SLG | 0.436 | 0.400 | 0.250 | Hitting_SLG | 0.408 | 0.250 | -0.008 | 0.150 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 1.008 | 1.000 | -0.008 | 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 | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 3.9300 -> 5.0000 (boost 1.0700, better) |
| Biggest Deboost | predicted_BB: 0.6710 -> 0.0000 (deboost -0.6710, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2510 -> 0.2629 (boost 0.0119, better) | predicted_AB: 3.9300 -> 3.8032 (deboost -0.1268, 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_SLG: 0.4474 -> 0.4591 (boost 0.0117, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_BB: 0.6630 -> 1.0000 (boost 0.3370, better) | predicted_2B: 0.1881 -> 0.0000 (deboost -0.1881, worse) | AB rounded to 4 (raw=3.93), rates preserved: AVG=0.266 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4955 -> 0.0000 (deboost -0.4955, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3821 -> 0.4000 (boost 0.0179, better) | predicted_SLG: 0.4591 -> 0.2500 (deboost -0.2091, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_BB: 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.4591 (boost 0.2091, better) | predicted_OBP: 0.4000 -> 0.3821 (deboost -0.0179, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683737",
"player_name": "Michael Busch",
"position": "1B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.029,
"predicted_AB": 3.93,
"predicted_AVG": 0.251,
"predicted_BB": 0.671,
"predicted_H": 0.99,
"predicted_HR": 0.15,
"predicted_OBP": 0.373,
"predicted_R": 0.443,
"predicted_RBI": 0.64,
"predicted_SLG": 0.436,
"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.1881,
"predicted_3B": 0.0239,
"predicted_AB": 3.8032,
"predicted_AVG": 0.2629,
"predicted_BB": 0.6549,
"predicted_H": 1.0002,
"predicted_HBP": 0.105,
"predicted_HR": 0.1487,
"predicted_OBP": 0.3837,
"predicted_R": 0.4617,
"predicted_RBI": 0.651,
"predicted_SLG": 0.4474,
"predicted_SO": 0.9716
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.1881,
"delta": 0.0021,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0239,
"delta": -0.0051,
"percent_delta": -0.1759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 3.8032,
"delta": -0.1268,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2629,
"delta": 0.0119,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.671,
"after": 0.6549,
"delta": -0.0161,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0002,
"delta": 0.0102,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1487,
"delta": -0.0013,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3837,
"delta": 0.0107,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 0.4617,
"delta": 0.0187,
"percent_delta": 0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.651,
"delta": 0.011,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4474,
"delta": 0.0114,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9716,
"delta": -0.0284,
"percent_delta": -0.0284,
"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_AVG",
"before": 0.251,
"after": 0.2629,
"delta": 0.0119,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.93,
"after": 3.8032,
"delta": -0.1268,
"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": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1881,
"predicted_3B": 0.0239,
"predicted_AB": 3.8032,
"predicted_AVG": 0.2744,
"predicted_BB": 0.663,
"predicted_H": 1.0435,
"predicted_HBP": 0.105,
"predicted_HR": 0.1556,
"predicted_OBP": 0.3821,
"predicted_R": 0.4955,
"predicted_RBI": 0.6987,
"predicted_SLG": 0.4591,
"predicted_SO": 0.9596
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1881,
"after": 0.1881,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0239,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8032,
"after": 3.8032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2629,
"after": 0.2744,
"delta": 0.0115,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6549,
"after": 0.663,
"delta": 0.0081,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0002,
"after": 1.0435,
"delta": 0.0433,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.105,
"after": 0.105,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1487,
"after": 0.1556,
"delta": 0.0069,
"percent_delta": 0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3837,
"after": 0.3821,
"delta": -0.0016,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4617,
"after": 0.4955,
"delta": 0.0338,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.651,
"after": 0.6987,
"delta": 0.0477,
"percent_delta": 0.0733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4474,
"after": 0.4591,
"delta": 0.0117,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9716,
"after": 0.9596,
"delta": -0.012,
"percent_delta": -0.0124,
"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.4474,
"after": 0.4591,
"delta": 0.0117,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.93), rates preserved: AVG=0.266 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1881,
"after": 0.0,
"delta": -0.1881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0,
"delta": -0.0239,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8032,
"after": 4.0,
"delta": 0.1968,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.663,
"after": 1.0,
"delta": 0.337,
"percent_delta": 0.5083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0435,
"after": 1.0,
"delta": -0.0435,
"percent_delta": -0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"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.6987,
"after": 1.0,
"delta": 0.3013,
"percent_delta": 0.4312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9596,
"after": 1.0,
"delta": 0.0404,
"percent_delta": 0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.663,
"after": 1.0,
"delta": 0.337,
"percent_delta": 0.5083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1881,
"after": 0.0,
"delta": -0.1881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.4955,
"after": 0.0,
"delta": -0.4955,
"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.4955,
"after": 0.0,
"delta": -0.4955,
"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.2744,
"after": 0.25,
"delta": -0.0244,
"percent_delta": -0.0889,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3821,
"after": 0.4,
"delta": 0.0179,
"percent_delta": 0.0468,
"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.4591,
"after": 0.25,
"delta": -0.2091,
"percent_delta": -0.4555,
"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.3821,
"after": 0.4,
"delta": 0.0179,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4591,
"after": 0.25,
"delta": -0.2091,
"percent_delta": -0.4555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2744,
"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.3821,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4591,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2744,
"delta": 0.0244,
"percent_delta": 0.0975,
"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.4,
"after": 0.3821,
"delta": -0.0179,
"percent_delta": -0.0448,
"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.4591,
"delta": 0.2091,
"percent_delta": 0.8365,
"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.4591,
"delta": 0.2091,
"percent_delta": 0.8365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3821,
"delta": -0.0179,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 5.0,
"delta": 1.07,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2744,
"delta": 0.0234,
"percent_delta": 0.0932,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.671,
"after": 0.0,
"delta": -0.671,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.373,
"after": 0.3821,
"delta": 0.0091,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.443,
"after": 1.0,
"delta": 0.557,
"percent_delta": 1.2573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.436,
"after": 0.4591,
"delta": 0.0231,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.93,
"after": 5.0,
"delta": 1.07,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.671,
"after": 0.0,
"delta": -0.671,
"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.186 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.671 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.373 | - |
| predicted_R | 0.443 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.436 | - |
| 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.188 | 0.002 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.803 | -0.127 |
| predicted_AVG | 0.263 | 0.012 |
| predicted_BB | 0.655 | -0.016 |
| predicted_H | 1.000 | 0.010 |
| predicted_HBP | 0.105 | - |
| predicted_HR | 0.149 | -0.001 |
| predicted_OBP | 0.384 | 0.011 |
| predicted_R | 0.462 | 0.019 |
| predicted_RBI | 0.651 | 0.011 |
| predicted_SLG | 0.447 | 0.011 |
| predicted_SO | 0.972 | -0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.803 | 0.000 |
| predicted_AVG | 0.274 | 0.011 |
| predicted_BB | 0.663 | 0.008 |
| predicted_H | 1.044 | 0.043 |
| predicted_HBP | 0.105 | 0.000 |
| predicted_HR | 0.156 | 0.007 |
| predicted_OBP | 0.382 | -0.002 |
| predicted_R | 0.495 | 0.034 |
| predicted_RBI | 0.699 | 0.048 |
| predicted_SLG | 0.459 | 0.012 |
| predicted_SO | 0.960 | -0.012 |
AB rounded to 4 (raw=3.93), rates preserved: AVG=0.266 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.188 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.197 |
| predicted_AVG | 0.250 | -0.024 |
| predicted_BB | 1.000 | 0.337 |
| predicted_H | 1.000 | -0.044 |
| predicted_HR | 0.000 | -0.156 |
| predicted_OBP | 0.400 | 0.018 |
| predicted_R | 0.000 | -0.495 |
| predicted_RBI | 1.000 | 0.301 |
| predicted_SLG | 0.250 | -0.209 |
| predicted_SO | 1.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 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 1.000 | 0.000 | 1.000 | 5.000 | 3.000 | 3.000 | 3.000 | 0.3333 | 0.4545 | 0.5556 | 0.3333 | 0.0556 | 0.2778 | 0.1667 | 0.1667 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 2.000 | 0.000 | 2.000 | 6.000 | 5.000 | 7.000 | 11.000 | 0.3056 | 0.4318 | 0.5278 | 0.3056 | 0.0556 | 0.1667 | 0.1944 | 0.3056 |
| season | 0.60 | 70 | - | 253.000 | 65.000 | 13.000 | 2.000 | 8.000 | 42.000 | 31.000 | 47.000 | 70.000 | 0.2569 | 0.3819 | 0.4190 | 0.2569 | 0.0316 | 0.1660 | 0.1858 | 0.2767 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.6310 |
| predicted_AVG | 0.2791 |
| predicted_BB | 0.6330 |
| predicted_H | 1.0140 |
| predicted_HBP | 0.1050 |
| predicted_HR | 0.1470 |
| predicted_OBP | 0.3982 |
| predicted_R | 0.4870 |
| predicted_RBI | 0.6660 |
| predicted_SLG | 0.4629 |
| predicted_SO | 0.9330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.1910 | 0.1881 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0239 | model_form_blend |
| predicted_AB | 3.9300 | 3.6310 | 3.8032 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2791 | 0.2629 | model_form_blend |
| predicted_BB | 0.6710 | 0.6330 | 0.6549 | model_form_blend |
| predicted_H | 0.9900 | 1.0140 | 1.0002 | model_form_blend |
| predicted_HBP | - | 0.1050 | 0.1050 | form_only |
| predicted_HR | 0.1500 | 0.1470 | 0.1487 | model_form_blend |
| predicted_OBP | 0.3730 | 0.3982 | 0.3837 | model_form_blend |
| predicted_R | 0.4430 | 0.4870 | 0.4617 | model_form_blend |
| predicted_RBI | 0.6400 | 0.6660 | 0.6510 | model_form_blend |
| predicted_SLG | 0.4360 | 0.4629 | 0.4474 | model_form_blend |
| predicted_SO | 1.0000 | 0.9330 | 0.9716 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 262 |
| Season rows before report date | 262 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| 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.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 | 20260614_CHC@SF |
| game_type | full |
| mlbID | 683737 |
| playerID | 683737 |
| playerName | Michael Busch |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.356 |
| sl_xwoba | 0.355 |
| sl_xba | 0.242 |
| sl_xslg | 0.428 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 41.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.194 | 2.000 | 0.000 | Hitting_2B | 0.166 | 0.000 | 1.834 | 2.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.900 | 4.000 | 4.000 | Hitting_AB | 3.901 | 4.000 | 0.099 | 0.000 |
| predicted_AVG | 0.222 | 0.500 | 0.250 | Hitting_AVG | 0.238 | 0.000 | 0.262 | 0.500 |
| predicted_BB | 0.612 | 0.000 | 1.000 | Hitting_BB | 0.676 | 0.000 | -0.676 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 2.000 | 1.000 | Hitting_H | 0.929 | 0.000 | 1.071 | 2.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_OBP | 0.299 | 0.500 | 0.400 | Hitting_OBP | 0.356 | 0.000 | 0.144 | 0.500 |
| predicted_R | 0.687 | 1.000 | 1.000 | Hitting_R | 0.755 | 0.000 | 0.245 | 1.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.621 | 0.000 | -0.621 | 0.000 |
| predicted_SLG | 0.448 | 1.000 | 0.250 | Hitting_SLG | 0.494 | 0.000 | 0.506 | 1.000 |
| predicted_SO | 1.373 | 1.000 | 1.000 | Hitting_SO | 1.340 | 2.000 | -0.340 | -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_2B: 0.1940 -> 2.0000 (boost 1.8060, better) |
| Biggest Deboost | predicted_BB: 0.6120 -> 0.0000 (deboost -0.6120, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.4480 -> 0.4605 (boost 0.0125, better) | predicted_AB: 3.9000 -> 3.8403 (deboost -0.0597, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2965 -> 0.3236 (boost 0.0271, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 5 | 2 | predicted_BB: 0.5600 -> 1.0000 (boost 0.4400, better) | predicted_SO: 1.3419 -> 1.0000 (deboost -0.3419, better) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.222 HR/AB=0.065 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7310 -> 1.0000 (boost 0.2690, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3236 -> 0.4000 (boost 0.0764, better) | predicted_SLG: 0.4837 -> 0.2500 (deboost -0.2337, 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 -> 2.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4837 (boost 0.2337, better) | predicted_OBP: 0.4000 -> 0.3236 (deboost -0.0764, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.194,
"predicted_3B": 0.03,
"predicted_AB": 3.9,
"predicted_AVG": 0.222,
"predicted_BB": 0.612,
"predicted_H": 0.87,
"predicted_HR": 0.22,
"predicted_OBP": 0.299,
"predicted_R": 0.687,
"predicted_RBI": 0.55,
"predicted_SLG": 0.448,
"predicted_SO": 1.373
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.033,
"predicted_AB": 3.8403,
"predicted_AVG": 0.2148,
"predicted_BB": 0.5532,
"predicted_H": 0.8281,
"predicted_HBP": 0.028,
"predicted_HR": 0.2407,
"predicted_OBP": 0.2965,
"predicted_R": 0.6811,
"predicted_RBI": 0.5572,
"predicted_SLG": 0.4605,
"predicted_SO": 1.3586
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.194,
"after": 0.172,
"delta": -0.022,
"percent_delta": -0.1134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.033,
"delta": 0.003,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 3.8403,
"delta": -0.0597,
"percent_delta": -0.0153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2148,
"delta": -0.0072,
"percent_delta": -0.0324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.612,
"after": 0.5532,
"delta": -0.0588,
"percent_delta": -0.0961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8281,
"delta": -0.0419,
"percent_delta": -0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2407,
"delta": 0.0207,
"percent_delta": 0.0941,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2965,
"delta": -0.0025,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.687,
"after": 0.6811,
"delta": -0.0059,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5572,
"delta": 0.0072,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.448,
"after": 0.4605,
"delta": 0.0125,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.373,
"after": 1.3586,
"delta": -0.0144,
"percent_delta": -0.0105,
"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.448,
"after": 0.4605,
"delta": 0.0125,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 3.8403,
"delta": -0.0597,
"percent_delta": -0.0153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.033,
"predicted_AB": 3.8403,
"predicted_AVG": 0.225,
"predicted_BB": 0.56,
"predicted_H": 0.864,
"predicted_HBP": 0.028,
"predicted_HR": 0.2518,
"predicted_OBP": 0.3236,
"predicted_R": 0.731,
"predicted_RBI": 0.598,
"predicted_SLG": 0.4837,
"predicted_SO": 1.3419
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.172,
"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": 3.8403,
"after": 3.8403,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2148,
"after": 0.225,
"delta": 0.0102,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5532,
"after": 0.56,
"delta": 0.0068,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8281,
"after": 0.864,
"delta": 0.0359,
"percent_delta": 0.0434,
"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.2407,
"after": 0.2518,
"delta": 0.0111,
"percent_delta": 0.0461,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2965,
"after": 0.3236,
"delta": 0.0271,
"percent_delta": 0.0914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6811,
"after": 0.731,
"delta": 0.0499,
"percent_delta": 0.0733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5572,
"after": 0.598,
"delta": 0.0408,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4605,
"after": 0.4837,
"delta": 0.0232,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3586,
"after": 1.3419,
"delta": -0.0167,
"percent_delta": -0.0123,
"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.2965,
"after": 0.3236,
"delta": 0.0271,
"percent_delta": 0.0914,
"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.90), rates preserved: AVG=0.222 HR/AB=0.065",
"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.172,
"after": 0.0,
"delta": -0.172,
"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.8403,
"after": 4.0,
"delta": 0.1597,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.864,
"after": 1.0,
"delta": 0.136,
"percent_delta": 0.1574,
"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.2518,
"after": 0.0,
"delta": -0.2518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.598,
"after": 1.0,
"delta": 0.402,
"percent_delta": 0.6722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3419,
"after": 1.0,
"delta": -0.3419,
"percent_delta": -0.2548,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.56,
"after": 1.0,
"delta": 0.44,
"percent_delta": 0.7857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3419,
"after": 1.0,
"delta": -0.3419,
"percent_delta": -0.2548,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.731,
"after": 1.0,
"delta": 0.269,
"percent_delta": 0.368,
"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.731,
"after": 1.0,
"delta": 0.269,
"percent_delta": 0.368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.225,
"after": 0.25,
"delta": 0.025,
"percent_delta": 0.1111,
"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.3236,
"after": 0.4,
"delta": 0.0764,
"percent_delta": 0.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4837,
"after": 0.25,
"delta": -0.2337,
"percent_delta": -0.4832,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3236,
"after": 0.4,
"delta": 0.0764,
"percent_delta": 0.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4837,
"after": 0.25,
"delta": -0.2337,
"percent_delta": -0.4832,
"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": 2.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": 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": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.225,
"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.3236,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4837,
"predicted_SO": 1.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": 4.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.225,
"delta": -0.025,
"percent_delta": -0.1001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3236,
"delta": -0.0764,
"percent_delta": -0.191,
"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.4837,
"delta": 0.2337,
"percent_delta": 0.9347,
"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.4837,
"delta": 0.2337,
"percent_delta": 0.9347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3236,
"delta": -0.0764,
"percent_delta": -0.191,
"direction": "deboost",
"projection_effect": "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": 2.0,
"delta": 1.806,
"percent_delta": 9.3093,
"direction": "boost",
"projection_effect": "better",
"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.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.225,
"delta": 0.003,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.612,
"after": 0.0,
"delta": -0.612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 2.0,
"delta": 1.13,
"percent_delta": 1.2989,
"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.299,
"after": 0.3236,
"delta": 0.0246,
"percent_delta": 0.0823,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.687,
"after": 1.0,
"delta": 0.313,
"percent_delta": 0.4556,
"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.448,
"after": 0.4837,
"delta": 0.0357,
"percent_delta": 0.0797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.373,
"after": 1.0,
"delta": -0.373,
"percent_delta": -0.2717,
"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_2B",
"before": 0.194,
"after": 2.0,
"delta": 1.806,
"percent_delta": 9.3093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.612,
"after": 0.0,
"delta": -0.612,
"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.194 | - |
| predicted_3B | 0.030 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.612 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.687 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.448 | - |
| predicted_SO | 1.373 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | -0.022 |
| predicted_3B | 0.033 | 0.003 |
| predicted_AB | 3.840 | -0.060 |
| predicted_AVG | 0.215 | -0.007 |
| predicted_BB | 0.553 | -0.059 |
| predicted_H | 0.828 | -0.042 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.241 | 0.021 |
| predicted_OBP | 0.296 | -0.003 |
| predicted_R | 0.681 | -0.006 |
| predicted_RBI | 0.557 | 0.007 |
| predicted_SLG | 0.461 | 0.013 |
| predicted_SO | 1.359 | -0.014 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.840 | 0.000 |
| predicted_AVG | 0.225 | 0.010 |
| predicted_BB | 0.560 | 0.007 |
| predicted_H | 0.864 | 0.036 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.252 | 0.011 |
| predicted_OBP | 0.324 | 0.027 |
| predicted_R | 0.731 | 0.050 |
| predicted_RBI | 0.598 | 0.041 |
| predicted_SLG | 0.484 | 0.023 |
| predicted_SO | 1.342 | -0.017 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.222 HR/AB=0.065
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.172 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | 0.160 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 1.000 | 0.440 |
| predicted_H | 1.000 | 0.136 |
| predicted_HR | 0.000 | -0.252 |
| predicted_OBP | 0.400 | 0.076 |
| predicted_R | 1.000 | 0.269 |
| predicted_RBI | 1.000 | 0.402 |
| predicted_SLG | 0.250 | -0.234 |
| predicted_SO | 1.000 | -0.342 |
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 | 4.000 | 0.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 | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 4.000 | 1.000 | 7.000 | 0.1500 | 0.1818 | 0.4500 | 0.1500 | 0.1000 | 0.1500 | 0.0500 | 0.3500 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 1.000 | 1.000 | 3.000 | 6.000 | 6.000 | 4.000 | 14.000 | 0.1714 | 0.2500 | 0.5143 | 0.1714 | 0.0857 | 0.1714 | 0.1143 | 0.4000 |
| season | 0.60 | 67 | - | 251.000 | 57.000 | 13.000 | 2.000 | 16.000 | 37.000 | 46.000 | 41.000 | 92.000 | 0.2271 | 0.3412 | 0.4861 | 0.2271 | 0.0638 | 0.1474 | 0.1633 | 0.3665 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1420 |
| predicted_3B | 0.0370 |
| predicted_AB | 3.7590 |
| predicted_AVG | 0.2051 |
| predicted_BB | 0.4730 |
| predicted_H | 0.7710 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.2690 |
| predicted_OBP | 0.2931 |
| predicted_R | 0.6730 |
| predicted_RBI | 0.5670 |
| predicted_SLG | 0.4776 |
| predicted_SO | 1.3390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1940 | 0.1420 | 0.1720 | model_form_blend |
| predicted_3B | 0.0300 | 0.0370 | 0.0330 | model_form_blend |
| predicted_AB | 3.9000 | 3.7590 | 3.8403 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2051 | 0.2148 | model_form_blend |
| predicted_BB | 0.6120 | 0.4730 | 0.5532 | model_form_blend |
| predicted_H | 0.8700 | 0.7710 | 0.8281 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.2200 | 0.2690 | 0.2407 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2931 | 0.2965 | model_form_blend |
| predicted_R | 0.6870 | 0.6730 | 0.6811 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5670 | 0.5572 | model_form_blend |
| predicted_SLG | 0.4480 | 0.4776 | 0.4605 | model_form_blend |
| predicted_SO | 1.3730 | 1.3390 | 1.3586 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260614_CHC@SF |
| game_type | full |
| mlbID | 664023 |
| playerID | 664023 |
| playerName | Ian Happ |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-14 |
| sl_k_percent | 31.8 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.358 |
| sl_xwoba | 0.338 |
| sl_xba | 0.21 |
| sl_xslg | 0.454 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 46.8 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 31.8 |
| sl_swing_percent | 44.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.217 | 0.000 | 0.000 | Hitting_2B | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.100 | 4.000 | 4.000 | Hitting_AB | 4.198 | 5.000 | -0.198 | -1.000 |
| predicted_AVG | 0.229 | 0.250 | 0.250 | Hitting_AVG | 0.254 | 0.000 | -0.004 | 0.250 |
| predicted_BB | 0.435 | 0.000 | 0.000 | Hitting_BB | 0.515 | 0.000 | -0.515 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 1.067 | 0.000 | -0.067 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_OBP | 0.274 | 0.250 | 0.250 | Hitting_OBP | 0.337 | 0.000 | -0.087 | 0.250 |
| predicted_R | 0.377 | 1.000 | 0.000 | Hitting_R | 0.466 | 0.000 | 0.534 | 1.000 |
| predicted_RBI | 0.410 | 1.000 | 0.000 | Hitting_RBI | 0.608 | 0.000 | 0.392 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_SLG | 0.336 | 0.250 | 0.250 | Hitting_SLG | 0.364 | 0.000 | -0.114 | 0.250 |
| predicted_SO | 0.290 | 1.000 | 0.000 | Hitting_SO | 0.321 | 1.000 | 0.679 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.2900 -> 1.0000 (boost 0.7100, worse) |
| Biggest Deboost | predicted_BB: 0.4350 -> 0.0000 (deboost -0.4350, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_BB: 0.4350 -> 0.3696 (deboost -0.0654, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2677 -> 0.2958 (boost 0.0281, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_H: 0.9342 -> 1.0000 (boost 0.0658, better) | predicted_RBI: 0.4209 -> 0.0000 (deboost -0.4209, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.228 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3549 -> 0.0000 (deboost -0.3549, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2308 -> 0.2500 (boost 0.0192, better) | predicted_SLG: 0.3290 -> 0.2500 (deboost -0.0790, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3290 (boost 0.0790, better) | predicted_AVG: 0.2500 -> 0.2308 (deboost -0.0192, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663538",
"player_name": "Nico Hoerner",
"position": "2B",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.217,
"predicted_3B": 0.0,
"predicted_AB": 4.1,
"predicted_AVG": 0.229,
"predicted_BB": 0.435,
"predicted_H": 0.94,
"predicted_HR": 0.07,
"predicted_OBP": 0.274,
"predicted_R": 0.377,
"predicted_RBI": 0.41,
"predicted_SLG": 0.336,
"predicted_SO": 0.29
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2132,
"predicted_3B": 0.0004,
"predicted_AB": 4.0482,
"predicted_AVG": 0.2209,
"predicted_BB": 0.3696,
"predicted_H": 0.8954,
"predicted_HBP": 0.019,
"predicted_HR": 0.0585,
"predicted_OBP": 0.2677,
"predicted_R": 0.3307,
"predicted_RBI": 0.3922,
"predicted_SLG": 0.3189,
"predicted_SO": 0.2896
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.2132,
"delta": -0.0038,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 4.0482,
"delta": -0.0518,
"percent_delta": -0.0126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2209,
"delta": -0.0081,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.435,
"after": 0.3696,
"delta": -0.0654,
"percent_delta": -0.1503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.8954,
"delta": -0.0446,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0585,
"delta": -0.0115,
"percent_delta": -0.1643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2677,
"delta": -0.0063,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.3307,
"delta": -0.0463,
"percent_delta": -0.1228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3922,
"delta": -0.0178,
"percent_delta": -0.0434,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3189,
"delta": -0.0171,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.29,
"after": 0.2896,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.435,
"after": 0.3696,
"delta": -0.0654,
"percent_delta": -0.1503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2132,
"predicted_3B": 0.0004,
"predicted_AB": 4.0482,
"predicted_AVG": 0.2308,
"predicted_BB": 0.3741,
"predicted_H": 0.9342,
"predicted_HBP": 0.019,
"predicted_HR": 0.0612,
"predicted_OBP": 0.2958,
"predicted_R": 0.3549,
"predicted_RBI": 0.4209,
"predicted_SLG": 0.329,
"predicted_SO": 0.286
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2132,
"after": 0.2132,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0482,
"after": 4.0482,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2209,
"after": 0.2308,
"delta": 0.0099,
"percent_delta": 0.0448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3696,
"after": 0.3741,
"delta": 0.0045,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8954,
"after": 0.9342,
"delta": 0.0388,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0585,
"after": 0.0612,
"delta": 0.0027,
"percent_delta": 0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2677,
"after": 0.2958,
"delta": 0.0281,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3307,
"after": 0.3549,
"delta": 0.0242,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3922,
"after": 0.4209,
"delta": 0.0287,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3189,
"after": 0.329,
"delta": 0.0101,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2896,
"after": 0.286,
"delta": -0.0036,
"percent_delta": -0.0124,
"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.2677,
"after": 0.2958,
"delta": 0.0281,
"percent_delta": 0.105,
"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=4.10), rates preserved: AVG=0.228 HR/AB=0.015",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2132,
"after": 0.0,
"delta": -0.2132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0482,
"after": 4.0,
"delta": -0.0482,
"percent_delta": -0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3741,
"after": 0.0,
"delta": -0.3741,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9342,
"after": 1.0,
"delta": 0.0658,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0612,
"after": 0.0,
"delta": -0.0612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4209,
"after": 0.0,
"delta": -0.4209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9342,
"after": 1.0,
"delta": 0.0658,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4209,
"after": 0.0,
"delta": -0.4209,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3549,
"after": 0.0,
"delta": -0.3549,
"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.3549,
"after": 0.0,
"delta": -0.3549,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2308,
"after": 0.25,
"delta": 0.0192,
"percent_delta": 0.0832,
"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.2958,
"after": 0.25,
"delta": -0.0458,
"percent_delta": -0.1548,
"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.329,
"after": 0.25,
"delta": -0.079,
"percent_delta": -0.2401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2308,
"after": 0.25,
"delta": 0.0192,
"percent_delta": 0.0832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.25,
"delta": -0.079,
"percent_delta": -0.2401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2308,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2958,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.329,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2308,
"delta": -0.0192,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2958,
"delta": 0.0458,
"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_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.329,
"delta": 0.079,
"percent_delta": 0.3159,
"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.329,
"delta": 0.079,
"percent_delta": 0.3159,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2308,
"delta": -0.0192,
"percent_delta": -0.077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 4.0,
"delta": -0.1,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2308,
"delta": 0.0018,
"percent_delta": 0.0079,
"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": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"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.274,
"after": 0.2958,
"delta": 0.0218,
"percent_delta": 0.0796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 1.0,
"delta": 0.623,
"percent_delta": 1.6525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.329,
"delta": -0.007,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"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.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.435,
"after": 0.0,
"delta": -0.435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.435 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.377 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.336 | - |
| predicted_SO | 0.290 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | -0.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.048 | -0.052 |
| predicted_AVG | 0.221 | -0.008 |
| predicted_BB | 0.370 | -0.065 |
| predicted_H | 0.895 | -0.045 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.059 | -0.012 |
| predicted_OBP | 0.268 | -0.006 |
| predicted_R | 0.331 | -0.046 |
| predicted_RBI | 0.392 | -0.018 |
| predicted_SLG | 0.319 | -0.017 |
| predicted_SO | 0.290 | -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.213 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.048 | 0.000 |
| predicted_AVG | 0.231 | 0.010 |
| predicted_BB | 0.374 | 0.005 |
| predicted_H | 0.934 | 0.039 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.061 | 0.003 |
| predicted_OBP | 0.296 | 0.028 |
| predicted_R | 0.355 | 0.024 |
| predicted_RBI | 0.421 | 0.029 |
| predicted_SLG | 0.329 | 0.010 |
| predicted_SO | 0.286 | -0.004 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.228 HR/AB=0.015
| 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 | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.213 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.048 |
| predicted_AVG | 0.250 | 0.019 |
| predicted_BB | 0.000 | -0.374 |
| predicted_H | 1.000 | 0.066 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.250 | -0.046 |
| predicted_R | 0.000 | -0.355 |
| predicted_RBI | 0.000 | -0.421 |
| predicted_SLG | 0.250 | -0.079 |
| predicted_SO | 0.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 | 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 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.1500 | 0.1500 | 0.2000 | 0.1500 | 0.0000 | 0.0500 | 0.0000 | 0.0500 |
| last_10 | 0.20 | 10 | - | 39.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.1538 | 0.1707 | 0.2051 | 0.1538 | 0.0000 | 0.0256 | 0.0256 | 0.0256 |
| season | 0.60 | 69 | - | 277.000 | 67.000 | 15.000 | 0.000 | 4.000 | 34.000 | 26.000 | 30.000 | 20.000 | 0.2419 | 0.3163 | 0.3394 | 0.2419 | 0.0144 | 0.1227 | 0.1083 | 0.0722 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2080 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9780 |
| predicted_AVG | 0.2098 |
| predicted_BB | 0.2810 |
| predicted_H | 0.8350 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0430 |
| predicted_OBP | 0.2591 |
| predicted_R | 0.2680 |
| predicted_RBI | 0.3680 |
| predicted_SLG | 0.2956 |
| predicted_SO | 0.2890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.2080 | 0.2132 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1000 | 3.9780 | 4.0482 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2098 | 0.2209 | model_form_blend |
| predicted_BB | 0.4350 | 0.2810 | 0.3696 | model_form_blend |
| predicted_H | 0.9400 | 0.8350 | 0.8954 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0700 | 0.0430 | 0.0585 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2591 | 0.2677 | model_form_blend |
| predicted_R | 0.3770 | 0.2680 | 0.3307 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3680 | 0.3922 | model_form_blend |
| predicted_SLG | 0.3360 | 0.2956 | 0.3189 | model_form_blend |
| predicted_SO | 0.2900 | 0.2890 | 0.2896 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 268 |
| Season rows before report date | 268 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| 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 | 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 | 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 | 2B |
| gameID | 20260613_CHC@SF |
| game_type | full |
| mlbID | 663538 |
| playerID | 663538 |
| playerName | Nico Hoerner |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-13 |
| sl_k_percent | 6.6 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.297 |
| sl_xwoba | 0.332 |
| sl_xba | 0.294 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 1.2 |
| sl_hard_hit_percent | 28.2 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 10.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_2B | 0.107 | 0.000 | 0.000 | Hitting_2B | 0.099 | 1.000 | -0.099 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.732 | 4.000 | 3.000 | Hitting_AB | 3.059 | 3.000 | 0.941 | 1.000 |
| predicted_AVG | 0.259 | 0.250 | 0.333 | Hitting_AVG | 0.211 | 0.333 | 0.039 | -0.083 |
| predicted_BB | 0.268 | 0.000 | 0.000 | Hitting_BB | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 1.000 | 1.000 | Hitting_H | 0.645 | 1.000 | 0.355 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.151 | 0.000 | -0.151 | 0.000 |
| predicted_OBP | 0.290 | 0.250 | 0.333 | Hitting_OBP | 0.287 | 0.333 | -0.037 | -0.083 |
| predicted_R | 0.268 | 1.000 | 0.000 | Hitting_R | 0.368 | 0.000 | 0.632 | 1.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.370 | 0.250 | 0.333 | Hitting_SLG | 0.391 | 0.667 | -0.141 | -0.417 |
| predicted_SO | 0.643 | 0.000 | 1.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_AB: 2.7320 -> 4.0000 (boost 1.2680, better) |
| Biggest Deboost | predicted_SO: 0.6430 -> 0.0000 (deboost -0.6430, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.7320 -> 2.8242 (boost 0.0922, better) | predicted_AVG: 0.2590 -> 0.2489 (deboost -0.0101, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.2863 -> 0.3144 (boost 0.0281, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.6631 -> 1.0000 (boost 0.3369, worse) | predicted_RBI: 0.3941 -> 0.0000 (deboost -0.3941, worse) | AB rounded to 3 (raw=2.82), rates preserved: AVG=0.255 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2601 -> 0.0000 (deboost -0.2601, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2553 -> 0.3330 (boost 0.0777, better) | predicted_SLG: 0.3902 -> 0.3330 (deboost -0.0572, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 4.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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3902 (boost 0.0572, better) | predicted_AVG: 0.3330 -> 0.2553 (deboost -0.0777, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"position": "C",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.107,
"predicted_3B": 0.0,
"predicted_AB": 2.732,
"predicted_AVG": 0.259,
"predicted_BB": 0.268,
"predicted_H": 0.69,
"predicted_HR": 0.09,
"predicted_OBP": 0.29,
"predicted_R": 0.268,
"predicted_RBI": 0.37,
"predicted_SLG": 0.37,
"predicted_SO": 0.643
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1172,
"predicted_3B": 0.0008,
"predicted_AB": 2.8242,
"predicted_AVG": 0.2489,
"predicted_BB": 0.2404,
"predicted_H": 0.6912,
"predicted_HBP": 0.004,
"predicted_HR": 0.0835,
"predicted_OBP": 0.2863,
"predicted_R": 0.2424,
"predicted_RBI": 0.3672,
"predicted_SLG": 0.3641,
"predicted_SO": 0.6714
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.1172,
"delta": 0.0102,
"percent_delta": 0.0953,
"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.732,
"after": 2.8242,
"delta": 0.0922,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2489,
"delta": -0.0101,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.268,
"after": 0.2404,
"delta": -0.0276,
"percent_delta": -0.103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.6912,
"delta": 0.0012,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0835,
"delta": -0.0065,
"percent_delta": -0.0722,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2863,
"delta": -0.0037,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 0.2424,
"delta": -0.0256,
"percent_delta": -0.0955,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3672,
"delta": -0.0028,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3641,
"delta": -0.0059,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.643,
"after": 0.6714,
"delta": 0.0284,
"percent_delta": 0.0442,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.732,
"after": 2.8242,
"delta": 0.0922,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2489,
"delta": -0.0101,
"percent_delta": -0.039,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1172,
"predicted_3B": 0.0008,
"predicted_AB": 2.8242,
"predicted_AVG": 0.2553,
"predicted_BB": 0.2434,
"predicted_H": 0.7211,
"predicted_HBP": 0.004,
"predicted_HR": 0.0874,
"predicted_OBP": 0.3144,
"predicted_R": 0.2601,
"predicted_RBI": 0.3941,
"predicted_SLG": 0.3902,
"predicted_SO": 0.6631
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1172,
"after": 0.1172,
"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": 2.8242,
"after": 2.8242,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2489,
"after": 0.2553,
"delta": 0.0064,
"percent_delta": 0.0257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2404,
"after": 0.2434,
"delta": 0.003,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6912,
"after": 0.7211,
"delta": 0.0299,
"percent_delta": 0.0433,
"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.0835,
"after": 0.0874,
"delta": 0.0039,
"percent_delta": 0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2863,
"after": 0.3144,
"delta": 0.0281,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2424,
"after": 0.2601,
"delta": 0.0177,
"percent_delta": 0.073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3672,
"after": 0.3941,
"delta": 0.0269,
"percent_delta": 0.0733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3641,
"after": 0.3902,
"delta": 0.0261,
"percent_delta": 0.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6714,
"after": 0.6631,
"delta": -0.0083,
"percent_delta": -0.0124,
"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.2863,
"after": 0.3144,
"delta": 0.0281,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.82), rates preserved: AVG=0.255 HR/AB=0.031",
"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.1172,
"after": 0.0,
"delta": -0.1172,
"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": 2.8242,
"after": 3.0,
"delta": 0.1758,
"percent_delta": 0.0622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2434,
"after": 0.0,
"delta": -0.2434,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7211,
"after": 1.0,
"delta": 0.2789,
"percent_delta": 0.3868,
"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.0874,
"after": 0.0,
"delta": -0.0874,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3941,
"after": 0.0,
"delta": -0.3941,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6631,
"after": 1.0,
"delta": 0.3369,
"percent_delta": 0.5081,
"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": 0.6631,
"after": 1.0,
"delta": 0.3369,
"percent_delta": 0.5081,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3941,
"after": 0.0,
"delta": -0.3941,
"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.2601,
"after": 0.0,
"delta": -0.2601,
"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.2601,
"after": 0.0,
"delta": -0.2601,
"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.2553,
"after": 0.333,
"delta": 0.0777,
"percent_delta": 0.3043,
"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.3144,
"after": 0.333,
"delta": 0.0186,
"percent_delta": 0.0592,
"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.3902,
"after": 0.333,
"delta": -0.0572,
"percent_delta": -0.1466,
"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.2553,
"after": 0.333,
"delta": 0.0777,
"percent_delta": 0.3043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3902,
"after": 0.333,
"delta": -0.0572,
"percent_delta": -0.1466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 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.2553,
"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.3144,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3902,
"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.2553,
"delta": -0.0777,
"percent_delta": -0.2332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3144,
"delta": -0.0186,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3902,
"delta": 0.0572,
"percent_delta": 0.1718,
"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.3902,
"delta": 0.0572,
"percent_delta": 0.1718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2553,
"delta": -0.0777,
"percent_delta": -0.2332,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.732,
"after": 4.0,
"delta": 1.268,
"percent_delta": 0.4641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2553,
"delta": -0.0037,
"percent_delta": -0.0143,
"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": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"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.29,
"after": 0.3144,
"delta": 0.0244,
"percent_delta": 0.0841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 1.0,
"delta": 0.732,
"percent_delta": 2.7313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3902,
"delta": 0.0202,
"percent_delta": 0.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.643,
"after": 0.0,
"delta": -0.643,
"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_AB",
"before": 2.732,
"after": 4.0,
"delta": 1.268,
"percent_delta": 0.4641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.643,
"after": 0.0,
"delta": -0.643,
"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.107 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.732 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.268 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.268 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.370 | - |
| predicted_SO | 0.643 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.117 | 0.010 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.824 | 0.092 |
| predicted_AVG | 0.249 | -0.010 |
| predicted_BB | 0.240 | -0.028 |
| predicted_H | 0.691 | 0.001 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.084 | -0.006 |
| predicted_OBP | 0.286 | -0.004 |
| predicted_R | 0.242 | -0.026 |
| predicted_RBI | 0.367 | -0.003 |
| predicted_SLG | 0.364 | -0.006 |
| predicted_SO | 0.671 | 0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.117 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.824 | 0.000 |
| predicted_AVG | 0.255 | 0.006 |
| predicted_BB | 0.243 | 0.003 |
| predicted_H | 0.721 | 0.030 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.087 | 0.004 |
| predicted_OBP | 0.314 | 0.028 |
| predicted_R | 0.260 | 0.018 |
| predicted_RBI | 0.394 | 0.027 |
| predicted_SLG | 0.390 | 0.026 |
| predicted_SO | 0.663 | -0.008 |
AB rounded to 3 (raw=2.82), rates preserved: AVG=0.255 HR/AB=0.031
| 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.117 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.176 |
| predicted_AVG | 0.333 | 0.078 |
| predicted_BB | 0.000 | -0.243 |
| predicted_H | 1.000 | 0.279 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.333 | 0.019 |
| predicted_R | 0.000 | -0.260 |
| predicted_RBI | 0.000 | -0.394 |
| predicted_SLG | 0.333 | -0.057 |
| predicted_SO | 1.000 | 0.337 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 4.000 | 0.2000 | 0.2000 | 0.2667 | 0.2000 | 0.0000 | 0.0667 | 0.0000 | 0.2667 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 1.000 | 0.000 | 0.000 | 3.000 | 0.000 | 1.000 | 7.000 | 0.2500 | 0.2759 | 0.2857 | 0.2500 | 0.0000 | 0.1071 | 0.0357 | 0.2500 |
| season | 0.60 | 56 | - | 153.000 | 36.000 | 6.000 | 0.000 | 6.000 | 22.000 | 15.000 | 15.000 | 36.000 | 0.2353 | 0.3000 | 0.3922 | 0.2353 | 0.0392 | 0.1438 | 0.0980 | 0.2353 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1320 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9590 |
| predicted_AVG | 0.2341 |
| predicted_BB | 0.2000 |
| predicted_H | 0.6930 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.2809 |
| predicted_R | 0.2050 |
| predicted_RBI | 0.3630 |
| predicted_SLG | 0.3554 |
| predicted_SO | 0.7130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1070 | 0.1320 | 0.1172 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.7320 | 2.9590 | 2.8242 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2341 | 0.2489 | model_form_blend |
| predicted_BB | 0.2680 | 0.2000 | 0.2404 | model_form_blend |
| predicted_H | 0.6900 | 0.6930 | 0.6912 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0900 | 0.0740 | 0.0835 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2809 | 0.2863 | model_form_blend |
| predicted_R | 0.2680 | 0.2050 | 0.2424 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3630 | 0.3672 | model_form_blend |
| predicted_SLG | 0.3700 | 0.3554 | 0.3641 | model_form_blend |
| predicted_SO | 0.6430 | 0.7130 | 0.6714 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 56 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_CHC@SF |
| game_type | full |
| mlbID | 694208 |
| playerID | 694208 |
| playerName | Moisés Ballesteros |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.306 |
| sl_xwoba | 0.312 |
| sl_xba | 0.241 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 45.8 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 10.9 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 50.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.158 | 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 | 2.526 | 4.000 | 3.000 | Hitting_AB | 2.839 | 1.000 | 1.161 | 3.000 |
| predicted_AVG | 0.266 | 0.250 | 0.333 | Hitting_AVG | 0.258 | 1.000 | -0.008 | -0.750 |
| predicted_BB | 0.132 | 0.000 | 0.000 | Hitting_BB | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.540 | 1.000 | 1.000 | Hitting_H | 0.732 | 1.000 | 0.268 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.134 | 0.000 | -0.134 | 0.000 |
| predicted_OBP | 0.276 | 0.250 | 0.333 | Hitting_OBP | 0.312 | 1.000 | -0.062 | -0.750 |
| predicted_R | 0.263 | 1.000 | 0.000 | Hitting_R | 0.357 | 0.000 | 0.643 | 1.000 |
| predicted_RBI | 0.270 | 1.000 | 0.000 | Hitting_RBI | 0.438 | 0.000 | 0.562 | 1.000 |
| predicted_SLG | 0.340 | 0.250 | 0.333 | Hitting_SLG | 0.475 | 1.000 | -0.225 | -0.750 |
| predicted_SO | 0.500 | 1.000 | 1.000 | Hitting_SO | 0.607 | 0.000 | 0.393 | 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.5260 -> 4.0000 (boost 1.4740, better) |
| Biggest Deboost | predicted_2B: 0.1580 -> 0.0000 (deboost -0.1580, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2660 -> 0.2438 (deboost -0.0222, 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.3311 -> 0.3558 (boost 0.0247, better) | predicted_AVG: 0.2438 -> 0.2208 (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 | 3 | 5 | 2 | 6 | predicted_SO: 0.5052 -> 1.0000 (boost 0.4948, worse) | predicted_RBI: 0.2757 -> 0.0000 (deboost -0.2757, worse) | AB rounded to 3 (raw=2.55), rates preserved: AVG=0.221 HR/AB=0.027 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2567 -> 0.0000 (deboost -0.2567, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2208 -> 0.3330 (boost 0.1122, better) | predicted_SLG: 0.3558 -> 0.3330 (deboost -0.0228, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 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.3558 (boost 0.0228, better) | predicted_AVG: 0.3330 -> 0.2208 (deboost -0.1122, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "807713",
"player_name": "Matt Shaw",
"position": "RF",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.158,
"predicted_3B": 0.0,
"predicted_AB": 2.526,
"predicted_AVG": 0.266,
"predicted_BB": 0.132,
"predicted_H": 0.54,
"predicted_HR": 0.07,
"predicted_OBP": 0.276,
"predicted_R": 0.263,
"predicted_RBI": 0.27,
"predicted_SLG": 0.34,
"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.1373,
"predicted_3B": 0.0008,
"predicted_AB": 2.5498,
"predicted_AVG": 0.2438,
"predicted_BB": 0.1228,
"predicted_H": 0.5396,
"predicted_HBP": 0.089,
"predicted_HR": 0.0654,
"predicted_OBP": 0.2713,
"predicted_R": 0.2392,
"predicted_RBI": 0.2569,
"predicted_SLG": 0.3311,
"predicted_SO": 0.5115
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.1373,
"delta": -0.0207,
"percent_delta": -0.131,
"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.526,
"after": 2.5498,
"delta": 0.0238,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2438,
"delta": -0.0222,
"percent_delta": -0.0835,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.132,
"after": 0.1228,
"delta": -0.0092,
"percent_delta": -0.0697,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.5396,
"delta": -0.0004,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0654,
"delta": -0.0046,
"percent_delta": -0.0657,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2713,
"delta": -0.0047,
"percent_delta": -0.017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.263,
"after": 0.2392,
"delta": -0.0238,
"percent_delta": -0.0905,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2569,
"delta": -0.0131,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3311,
"delta": -0.0089,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5115,
"delta": 0.0115,
"percent_delta": 0.023,
"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.266,
"after": 0.2438,
"delta": -0.0222,
"percent_delta": -0.0835,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1373,
"predicted_3B": 0.0008,
"predicted_AB": 2.5498,
"predicted_AVG": 0.2208,
"predicted_BB": 0.1243,
"predicted_H": 0.563,
"predicted_HBP": 0.089,
"predicted_HR": 0.0684,
"predicted_OBP": 0.257,
"predicted_R": 0.2567,
"predicted_RBI": 0.2757,
"predicted_SLG": 0.3558,
"predicted_SO": 0.5052
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1373,
"after": 0.1373,
"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": 2.5498,
"after": 2.5498,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.2208,
"delta": -0.023,
"percent_delta": -0.0943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1228,
"after": 0.1243,
"delta": 0.0015,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5396,
"after": 0.563,
"delta": 0.0234,
"percent_delta": 0.0434,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.089,
"after": 0.089,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0654,
"after": 0.0684,
"delta": 0.003,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2713,
"after": 0.257,
"delta": -0.0143,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2392,
"after": 0.2567,
"delta": 0.0175,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2569,
"after": 0.2757,
"delta": 0.0188,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3311,
"after": 0.3558,
"delta": 0.0247,
"percent_delta": 0.0746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5115,
"after": 0.5052,
"delta": -0.0063,
"percent_delta": -0.0123,
"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.3311,
"after": 0.3558,
"delta": 0.0247,
"percent_delta": 0.0746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.2208,
"delta": -0.023,
"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 3 (raw=2.55), rates preserved: AVG=0.221 HR/AB=0.027",
"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.1373,
"after": 0.0,
"delta": -0.1373,
"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": 2.5498,
"after": 3.0,
"delta": 0.4502,
"percent_delta": 0.1766,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1243,
"after": 0.0,
"delta": -0.1243,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.563,
"after": 1.0,
"delta": 0.437,
"percent_delta": 0.7762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"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.2757,
"after": 0.0,
"delta": -0.2757,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5052,
"after": 1.0,
"delta": 0.4948,
"percent_delta": 0.9794,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5052,
"after": 1.0,
"delta": 0.4948,
"percent_delta": 0.9794,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2757,
"after": 0.0,
"delta": -0.2757,
"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.2567,
"after": 0.0,
"delta": -0.2567,
"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.2567,
"after": 0.0,
"delta": -0.2567,
"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.2208,
"after": 0.333,
"delta": 0.1122,
"percent_delta": 0.5082,
"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.257,
"after": 0.333,
"delta": 0.076,
"percent_delta": 0.2957,
"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.3558,
"after": 0.333,
"delta": -0.0228,
"percent_delta": -0.0641,
"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.2208,
"after": 0.333,
"delta": 0.1122,
"percent_delta": 0.5082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3558,
"after": 0.333,
"delta": -0.0228,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 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.2208,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.257,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3558,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2208,
"delta": -0.1122,
"percent_delta": -0.337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.257,
"delta": -0.076,
"percent_delta": -0.2282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3558,
"delta": 0.0228,
"percent_delta": 0.0684,
"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.3558,
"delta": 0.0228,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2208,
"delta": -0.1122,
"percent_delta": -0.337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"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.526,
"after": 4.0,
"delta": 1.474,
"percent_delta": 0.5835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2208,
"delta": -0.0452,
"percent_delta": -0.1699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.276,
"after": 0.257,
"delta": -0.019,
"percent_delta": -0.0688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.263,
"after": 1.0,
"delta": 0.737,
"percent_delta": 2.8023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 1.0,
"delta": 0.73,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3558,
"delta": 0.0158,
"percent_delta": 0.0465,
"direction": "boost",
"projection_effect": "better",
"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": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.526,
"after": 4.0,
"delta": 1.474,
"percent_delta": 0.5835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"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.158 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.526 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.132 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.276 | - |
| predicted_R | 0.263 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.340 | - |
| 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.137 | -0.021 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.550 | 0.024 |
| predicted_AVG | 0.244 | -0.022 |
| predicted_BB | 0.123 | -0.009 |
| predicted_H | 0.540 | -0.000 |
| predicted_HBP | 0.089 | - |
| predicted_HR | 0.065 | -0.005 |
| predicted_OBP | 0.271 | -0.005 |
| predicted_R | 0.239 | -0.024 |
| predicted_RBI | 0.257 | -0.013 |
| predicted_SLG | 0.331 | -0.009 |
| predicted_SO | 0.511 | 0.011 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.137 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.550 | 0.000 |
| predicted_AVG | 0.221 | -0.023 |
| predicted_BB | 0.124 | 0.001 |
| predicted_H | 0.563 | 0.023 |
| predicted_HBP | 0.089 | 0.000 |
| predicted_HR | 0.068 | 0.003 |
| predicted_OBP | 0.257 | -0.014 |
| predicted_R | 0.257 | 0.017 |
| predicted_RBI | 0.276 | 0.019 |
| predicted_SLG | 0.356 | 0.025 |
| predicted_SO | 0.505 | -0.006 |
AB rounded to 3 (raw=2.55), rates preserved: AVG=0.221 HR/AB=0.027
| 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.137 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.450 |
| predicted_AVG | 0.333 | 0.112 |
| predicted_BB | 0.000 | -0.124 |
| predicted_H | 1.000 | 0.437 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.333 | 0.076 |
| predicted_R | 0.000 | -0.257 |
| predicted_RBI | 0.000 | -0.276 |
| predicted_SLG | 0.333 | -0.023 |
| predicted_SO | 1.000 | 0.495 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 8.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.1250 | 0.2222 | 0.1250 | 0.1250 | 0.0000 | 0.0000 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 19.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 3.000 | 0.1053 | 0.1500 | 0.1053 | 0.1053 | 0.0000 | 0.0526 | 0.0000 | 0.1579 |
| season | 0.60 | 38 | - | 96.000 | 24.000 | 6.000 | 0.000 | 3.000 | 11.000 | 10.000 | 5.000 | 19.000 | 0.2500 | 0.2913 | 0.4062 | 0.2500 | 0.0312 | 0.1146 | 0.0521 | 0.1979 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1040 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.5880 |
| predicted_AVG | 0.2083 |
| predicted_BB | 0.1080 |
| predicted_H | 0.5390 |
| predicted_HBP | 0.0890 |
| predicted_HR | 0.0580 |
| predicted_OBP | 0.2637 |
| predicted_R | 0.2010 |
| predicted_RBI | 0.2360 |
| predicted_SLG | 0.3168 |
| predicted_SO | 0.5300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1580 | 0.1040 | 0.1373 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5260 | 2.5880 | 2.5498 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2083 | 0.2438 | model_form_blend |
| predicted_BB | 0.1320 | 0.1080 | 0.1228 | model_form_blend |
| predicted_H | 0.5400 | 0.5390 | 0.5396 | model_form_blend |
| predicted_HBP | - | 0.0890 | 0.0890 | form_only |
| predicted_HR | 0.0700 | 0.0580 | 0.0654 | model_form_blend |
| predicted_OBP | 0.2760 | 0.2637 | 0.2713 | model_form_blend |
| predicted_R | 0.2630 | 0.2010 | 0.2392 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2360 | 0.2569 | model_form_blend |
| predicted_SLG | 0.3400 | 0.3168 | 0.3311 | model_form_blend |
| predicted_SO | 0.5000 | 0.5300 | 0.5115 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 112 |
| Season rows before report date | 112 |
| Report year | 2026 |
| Profile rows used | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| 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 | RF |
| gameID | 20260613_CHC@SF |
| game_type | short |
| mlbID | 807713 |
| playerID | 807713 |
| playerName | Matt Shaw |
| pos | RF |
| started | False |
| startingPosition | RF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-13 |
| sl_k_percent | 17.6 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.307 |
| sl_xwoba | 0.3 |
| sl_xba | 0.251 |
| sl_xslg | 0.378 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 35.8 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 19.7 |
| 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.106 | 0.000 | 0.000 | Hitting_2B | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.333 | 3.000 | 3.000 | Hitting_AB | 3.445 | 3.000 | -0.445 | 0.000 |
| predicted_AVG | 0.220 | 0.333 | 0.333 | Hitting_AVG | 0.198 | 0.333 | 0.135 | 0.000 |
| predicted_BB | 0.500 | 1.000 | 0.000 | Hitting_BB | 0.533 | 0.000 | 0.467 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.640 | 1.000 | 1.000 | Hitting_H | 0.683 | 1.000 | 0.317 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.287 | 0.500 | 0.333 | Hitting_OBP | 0.304 | 0.333 | 0.196 | 0.167 |
| predicted_R | 0.576 | 1.000 | 1.000 | Hitting_R | 0.670 | 1.000 | 0.330 | 0.000 |
| predicted_RBI | 0.310 | 1.000 | 0.000 | Hitting_RBI | 0.520 | 0.000 | 0.480 | 1.000 |
| predicted_SLG | 0.314 | 0.333 | 0.333 | Hitting_SLG | 0.362 | 0.333 | -0.029 | 0.000 |
| predicted_SO | 0.955 | 0.000 | 1.000 | Hitting_SO | 0.903 | 0.000 | -0.903 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.3100 -> 1.0000 (boost 0.6900, better) |
| Biggest Deboost | predicted_SO: 0.9550 -> 0.0000 (deboost -0.9550, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.9550 -> 1.0083 (boost 0.0533, worse) | predicted_AVG: 0.2200 -> 0.2011 (deboost -0.0189, 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_OBP: 0.2828 -> 0.2969 (boost 0.0141, better) | predicted_AVG: 0.2011 -> 0.1928 (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 | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.6419 -> 1.0000 (boost 0.3581, better) | predicted_BB: 0.4926 -> 0.0000 (deboost -0.4926, worse) | AB rounded to 3 (raw=3.33), rates preserved: AVG=0.193 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6038 -> 1.0000 (boost 0.3962, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1928 -> 0.3330 (boost 0.1402, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 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.1928 (deboost -0.1402, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621020",
"player_name": "Dansby Swanson",
"position": "SS",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.106,
"predicted_3B": 0.015,
"predicted_AB": 3.333,
"predicted_AVG": 0.22,
"predicted_BB": 0.5,
"predicted_H": 0.64,
"predicted_HR": 0.08,
"predicted_OBP": 0.287,
"predicted_R": 0.576,
"predicted_RBI": 0.31,
"predicted_SLG": 0.314,
"predicted_SO": 0.955
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1077,
"predicted_3B": 0.0125,
"predicted_AB": 3.3288,
"predicted_AVG": 0.2011,
"predicted_BB": 0.4866,
"predicted_H": 0.6153,
"predicted_HBP": 0.011,
"predicted_HR": 0.0754,
"predicted_OBP": 0.2828,
"predicted_R": 0.5626,
"predicted_RBI": 0.302,
"predicted_SLG": 0.2979,
"predicted_SO": 1.0083
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.106,
"after": 0.1077,
"delta": 0.0017,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0125,
"delta": -0.0025,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.3288,
"delta": -0.0042,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2011,
"delta": -0.0189,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4866,
"delta": -0.0134,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6153,
"delta": -0.0247,
"percent_delta": -0.0386,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0754,
"delta": -0.0046,
"percent_delta": -0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2828,
"delta": -0.0042,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.5626,
"delta": -0.0134,
"percent_delta": -0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.302,
"delta": -0.008,
"percent_delta": -0.0258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.2979,
"delta": -0.0161,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.955,
"after": 1.0083,
"delta": 0.0533,
"percent_delta": 0.0558,
"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.955,
"after": 1.0083,
"delta": 0.0533,
"percent_delta": 0.0558,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2011,
"delta": -0.0189,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1077,
"predicted_3B": 0.0125,
"predicted_AB": 3.3288,
"predicted_AVG": 0.1928,
"predicted_BB": 0.4926,
"predicted_H": 0.6419,
"predicted_HBP": 0.011,
"predicted_HR": 0.0789,
"predicted_OBP": 0.2969,
"predicted_R": 0.6038,
"predicted_RBI": 0.3241,
"predicted_SLG": 0.3038,
"predicted_SO": 0.9959
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1077,
"after": 0.1077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0125,
"after": 0.0125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3288,
"after": 3.3288,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2011,
"after": 0.1928,
"delta": -0.0083,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4866,
"after": 0.4926,
"delta": 0.006,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6153,
"after": 0.6419,
"delta": 0.0266,
"percent_delta": 0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0754,
"after": 0.0789,
"delta": 0.0035,
"percent_delta": 0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2828,
"after": 0.2969,
"delta": 0.0141,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5626,
"after": 0.6038,
"delta": 0.0412,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.302,
"after": 0.3241,
"delta": 0.0221,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2979,
"after": 0.3038,
"delta": 0.0059,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0083,
"after": 0.9959,
"delta": -0.0124,
"percent_delta": -0.0123,
"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.2828,
"after": 0.2969,
"delta": 0.0141,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2011,
"after": 0.1928,
"delta": -0.0083,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.33), rates preserved: AVG=0.193 HR/AB=0.024",
"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.1077,
"after": 0.0,
"delta": -0.1077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0125,
"after": 0.0,
"delta": -0.0125,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3288,
"after": 3.0,
"delta": -0.3288,
"percent_delta": -0.0988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4926,
"after": 0.0,
"delta": -0.4926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6419,
"after": 1.0,
"delta": 0.3581,
"percent_delta": 0.5579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0789,
"after": 0.0,
"delta": -0.0789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3241,
"after": 0.0,
"delta": -0.3241,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9959,
"after": 1.0,
"delta": 0.0041,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6419,
"after": 1.0,
"delta": 0.3581,
"percent_delta": 0.5579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4926,
"after": 0.0,
"delta": -0.4926,
"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.6038,
"after": 1.0,
"delta": 0.3962,
"percent_delta": 0.6562,
"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.6038,
"after": 1.0,
"delta": 0.3962,
"percent_delta": 0.6562,
"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.1928,
"after": 0.333,
"delta": 0.1402,
"percent_delta": 0.7272,
"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.2969,
"after": 0.333,
"delta": 0.0361,
"percent_delta": 0.1216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.333,
"delta": 0.0292,
"percent_delta": 0.0961,
"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.1928,
"after": 0.333,
"delta": 0.1402,
"percent_delta": 0.7272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 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": 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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"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.1928,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2969,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3038,
"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.333,
"after": 0.1928,
"delta": -0.1402,
"percent_delta": -0.4209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2969,
"delta": -0.0361,
"percent_delta": -0.1084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3038,
"delta": -0.0292,
"percent_delta": -0.0877,
"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.1928,
"delta": -0.1402,
"percent_delta": -0.4209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.0,
"delta": -0.333,
"percent_delta": -0.0999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1928,
"delta": -0.0272,
"percent_delta": -0.1236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.2969,
"delta": 0.0099,
"percent_delta": 0.0345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 1.0,
"delta": 0.424,
"percent_delta": 0.7361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.314,
"after": 0.3038,
"delta": -0.0102,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.955,
"after": 0.0,
"delta": -0.955,
"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.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.955,
"after": 0.0,
"delta": -0.955,
"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.106 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.576 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.314 | - |
| predicted_SO | 0.955 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | 0.002 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.329 | -0.004 |
| predicted_AVG | 0.201 | -0.019 |
| predicted_BB | 0.487 | -0.013 |
| predicted_H | 0.615 | -0.025 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.075 | -0.005 |
| predicted_OBP | 0.283 | -0.004 |
| predicted_R | 0.563 | -0.013 |
| predicted_RBI | 0.302 | -0.008 |
| predicted_SLG | 0.298 | -0.016 |
| predicted_SO | 1.008 | 0.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.108 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.329 | 0.000 |
| predicted_AVG | 0.193 | -0.008 |
| predicted_BB | 0.493 | 0.006 |
| predicted_H | 0.642 | 0.027 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.079 | 0.004 |
| predicted_OBP | 0.297 | 0.014 |
| predicted_R | 0.604 | 0.041 |
| predicted_RBI | 0.324 | 0.022 |
| predicted_SLG | 0.304 | 0.006 |
| predicted_SO | 0.996 | -0.012 |
AB rounded to 3 (raw=3.33), rates preserved: AVG=0.193 HR/AB=0.024
| 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.108 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.329 |
| predicted_AVG | 0.333 | 0.140 |
| predicted_BB | 0.000 | -0.493 |
| predicted_H | 1.000 | 0.358 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.333 | 0.036 |
| predicted_R | 1.000 | 0.396 |
| predicted_RBI | 0.000 | -0.324 |
| predicted_SLG | 0.333 | 0.029 |
| predicted_SO | 1.000 | 0.004 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 7.000 | 0.1333 | 0.2778 | 0.1333 | 0.1333 | 0.0000 | 0.0000 | 0.2000 | 0.4667 |
| last_10 | 0.20 | 10 | - | 33.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 12.000 | 0.1515 | 0.2222 | 0.2121 | 0.1515 | 0.0000 | 0.0303 | 0.0909 | 0.3636 |
| season | 0.60 | 66 | - | 220.000 | 40.000 | 7.000 | 1.000 | 7.000 | 28.000 | 38.000 | 33.000 | 63.000 | 0.1818 | 0.2879 | 0.3182 | 0.1818 | 0.0318 | 0.1273 | 0.1500 | 0.2864 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1100 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.3230 |
| predicted_AVG | 0.1749 |
| predicted_BB | 0.4680 |
| predicted_H | 0.5810 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0690 |
| predicted_OBP | 0.2770 |
| predicted_R | 0.5440 |
| predicted_RBI | 0.2910 |
| predicted_SLG | 0.2756 |
| predicted_SO | 1.0820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1060 | 0.1100 | 0.1077 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0125 | model_form_blend |
| predicted_AB | 3.3330 | 3.3230 | 3.3288 | model_form_blend |
| predicted_AVG | 0.2200 | 0.1749 | 0.2011 | model_form_blend |
| predicted_BB | 0.5000 | 0.4680 | 0.4866 | model_form_blend |
| predicted_H | 0.6400 | 0.5810 | 0.6153 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0800 | 0.0690 | 0.0754 | model_form_blend |
| predicted_OBP | 0.2870 | 0.2770 | 0.2828 | model_form_blend |
| predicted_R | 0.5760 | 0.5440 | 0.5626 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2910 | 0.3020 | model_form_blend |
| predicted_SLG | 0.3140 | 0.2756 | 0.2979 | model_form_blend |
| predicted_SO | 0.9550 | 1.0820 | 1.0083 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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.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 | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_CHC@SF |
| game_type | full |
| mlbID | 621020 |
| playerID | 621020 |
| playerName | Dansby Swanson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.7 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.272 |
| sl_xwoba | 0.285 |
| sl_xba | 0.191 |
| sl_xslg | 0.333 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 40.4 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 31.5 |
| sl_swing_percent | 44.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.500 | 2.000 | 2.500 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.857 | 0.000 | 0.143 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.643 | 2.000 | 0.357 | 3.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.736 | 5.000 | -0.536 | 0.200 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.786 | 7.000 | -0.786 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 3.0000 -> 5.0000 (boost 2.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 | 2 | 1 | 1 | 1 | 1 | predicted_SO: 3.0000 -> 5.0000 (boost 2.0000, better) | 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": "684007",
"player_name": "Shota Imanaga",
"position": "Starter",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"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": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"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
}
},
"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": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"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": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"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 | 4.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 3.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 5.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.200 | 26.000 | 29.000 | 8.000 | 22.000 | 12.000 | 8.7750 | 1.3875 | 0.9750 | 1.0875 | 0.3000 | 0.8250 | 0.4500 |
| last_10 | 0.35 | 10 | 59.000 | 34.000 | 53.000 | 16.000 | 50.000 | 15.000 | 5.1864 | 1.1695 | 0.5763 | 0.8983 | 0.2712 | 0.8475 | 0.2542 |
| season | 0.20 | 14 | 81.000 | 40.000 | 65.000 | 21.000 | 81.000 | 17.000 | 4.4444 | 1.0617 | 0.4938 | 0.8025 | 0.2593 | 1.0000 | 0.2099 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7070 |
| predicted_ER | 3.8100 |
| predicted_ERA | 6.0779 |
| predicted_H | 5.4520 |
| predicted_HR | 1.6020 |
| predicted_IP | 5.2000 |
| predicted_SO | 4.9940 |
| predicted_WHIP | 1.2690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.7070 | 2.7645 | model_form_blend |
| predicted_ER | 3.0000 | 3.8100 | 3.4364 | model_form_blend |
| predicted_ERA | - | 6.0779 | 6.0779 | form_only |
| predicted_H | 5.0000 | 5.4520 | 5.2435 | model_form_blend |
| predicted_HR | 1.0000 | 1.6020 | 1.3244 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 3.0000 | 4.9940 | 4.0744 | model_form_blend |
| predicted_WHIP | - | 1.2690 | 1.2690 | 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 | 5.2 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 4 |
| SO | 5 |
| HR | 1 |
| BF | 26 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 19 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.44 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 90 |
| Pitching_R | 0 |
| Pitching_SO | 7 |
| Pitching_Strikes | 59 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260610_CHC@COL |
| game_type | full |
| mlbID | 684007 |
| playerID | 684007 |
| playerName | Shota Imanaga |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-10 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.309 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 40.1 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 51.1 |
| sl_avg_best_speed | 77.977845182 |
| sl_avg_hyper_speed | 94.071302455 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.400 | 0.000 | 0.600 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.650 | 0.000 | -0.650 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.725 | 1.200 | 0.275 | -0.200 |
| 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 | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "573204",
"player_name": "Caleb Thielbar",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 3.000 | 4.000 | 0.000 | 5.000 | 2.000 | 5.0625 | 0.7500 | 0.5625 | 0.7500 | 0.0000 | 0.9375 | 0.3750 |
| last_10 | 0.35 | 10 | 10.000 | 4.000 | 7.000 | 3.000 | 9.000 | 2.000 | 3.6000 | 1.0000 | 0.4000 | 0.7000 | 0.3000 | 0.9000 | 0.2000 |
| season | 0.20 | 19 | 18.000 | 6.000 | 12.000 | 7.000 | 20.000 | 3.000 | 3.0000 | 1.0556 | 0.3333 | 0.6667 | 0.3889 | 1.1111 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2870 |
| predicted_ER | 0.4810 |
| predicted_ERA | 4.3309 |
| predicted_H | 0.8660 |
| predicted_HR | 0.1980 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9440 |
| predicted_WHIP | 1.1523 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2870 | 0.7124 | model_form_blend |
| predicted_ER | 0.0000 | 0.4810 | 0.1940 | model_form_blend |
| predicted_ERA | - | 4.3309 | 4.3309 | form_only |
| predicted_H | 0.0000 | 0.8660 | 0.3493 | model_form_blend |
| predicted_HR | 0.0000 | 0.1980 | 0.0799 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9440 | 0.3808 | model_form_blend |
| predicted_WHIP | - | 1.1523 | 1.1523 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.50 |
| 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.2 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260613_CHC@SF |
| game_type | full |
| mlbID | 573204 |
| playerID | 573204 |
| playerName | Caleb Thielbar |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-13 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.29 |
| sl_xwoba | 0.307 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 36.2 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 53.4 |
| sl_avg_best_speed | 75.912344348 |
| sl_avg_hyper_speed | 94.390574889 |
| 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.278 | 1.000 | -0.278 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.278 | 1.000 | -0.278 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.944 | 2.000 | -0.944 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.806 | 0.000 | 0.194 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.889 | 0.000 | 0.111 | 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": "694037",
"player_name": "Daniel Palencia",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 4.000 | 0.000 | 4.000 | 0.000 | 1.8000 | 0.8000 | 0.2000 | 0.8000 | 0.0000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 4.000 | 11.000 | 2.000 | 10.000 | 2.000 | 3.8571 | 1.3929 | 0.4286 | 1.1786 | 0.2143 | 1.0714 | 0.2143 |
| season | 0.20 | 17 | 15.200 | 4.000 | 15.000 | 4.000 | 16.000 | 2.000 | 2.2979 | 1.2128 | 0.2553 | 0.9575 | 0.2553 | 1.0213 | 0.1277 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2710 |
| predicted_ER | 0.4180 |
| predicted_ERA | 3.7605 |
| predicted_H | 0.9690 |
| predicted_HR | 0.1280 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9360 |
| predicted_WHIP | 1.2401 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2710 | 0.1055 | model_form_blend |
| predicted_ER | 0.0000 | 0.4180 | 0.1627 | model_form_blend |
| predicted_ERA | - | 3.7605 | 3.7605 | form_only |
| predicted_H | 0.0000 | 0.9690 | 0.3772 | model_form_blend |
| predicted_HR | 0.0000 | 0.1280 | 0.0498 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9360 | 0.9751 | model_form_blend |
| predicted_WHIP | - | 1.2401 | 1.2401 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 17 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.87 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 18 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260610_CHC@COL |
| game_type | full |
| mlbID | 694037 |
| playerID | 694037 |
| playerName | Daniel Palencia |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-10 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.32 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 54.3 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 30.4 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 51.7 |
| sl_avg_best_speed | 80.245551739 |
| sl_avg_hyper_speed | 93.258805217 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.967 | 0.000 | -0.967 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.880 | 0.100 | 0.120 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.167 | 0.000 | -1.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": "657097",
"player_name": "Jacob Webb",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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 | 4.000 | 1.000 | 3.6000 | 1.2000 | 0.4000 | 1.0000 | 0.2000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 9.000 | 2.000 | 12.000 | 1.000 | 1.8000 | 1.1000 | 0.2000 | 0.9000 | 0.2000 | 1.2000 | 0.1000 |
| season | 0.20 | 30 | 29.200 | 9.000 | 29.000 | 10.000 | 35.000 | 4.000 | 2.7303 | 1.3146 | 0.3034 | 0.9775 | 0.3371 | 1.1798 | 0.1348 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2890 |
| predicted_ER | 0.3960 |
| predicted_ERA | 3.5650 |
| predicted_H | 0.9660 |
| predicted_HR | 0.1490 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9780 |
| predicted_WHIP | 1.2547 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2890 | 0.1317 | model_form_blend |
| predicted_ER | 0.0000 | 0.3960 | 0.1805 | model_form_blend |
| predicted_ERA | - | 3.5650 | 3.5650 | form_only |
| predicted_H | 0.0000 | 0.9660 | 0.4402 | model_form_blend |
| predicted_HR | 0.0000 | 0.1490 | 0.0679 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9780 | 0.4457 | model_form_blend |
| predicted_WHIP | - | 1.2547 | 1.2547 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| 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 | 1 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.73 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260614_CHC@SF |
| game_type | full |
| mlbID | 657097 |
| playerID | 657097 |
| playerName | Jacob Webb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-14 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.305 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 48.1 |
| sl_whiff_percent | 31.5 |
| sl_swing_percent | 52.9 |
| sl_avg_best_speed | 80.58316325 |
| sl_avg_hyper_speed | 95.082536962 |
| 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.206 | 0.000 | -0.206 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.853 | 1.000 | -0.853 | -1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.750 | 1.000 | -0.650 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.441 | 0.000 | 0.559 | 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: 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": "571948",
"player_name": "Hoby Milner",
"position": "Middle Reliever",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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 | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 6.000 | 9.000 | 1.000 | 1.000 | 1.000 | 14.7273 | 2.7273 | 1.6364 | 2.4545 | 0.2727 | 0.2727 | 0.2727 |
| last_10 | 0.35 | 10 | 8.000 | 8.000 | 13.000 | 1.000 | 5.000 | 1.000 | 9.0000 | 1.7500 | 1.0000 | 1.6250 | 0.1250 | 0.6250 | 0.1250 |
| season | 0.20 | 33 | 31.100 | 13.000 | 29.000 | 7.000 | 15.000 | 3.000 | 3.7340 | 1.1489 | 0.4149 | 0.9255 | 0.2234 | 0.4787 | 0.0957 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1540 |
| predicted_ER | 0.4820 |
| predicted_ERA | 7.8220 |
| predicted_H | 0.8120 |
| predicted_HR | 0.0930 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.3660 |
| predicted_WHIP | 1.7410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1540 | 0.0711 | model_form_blend |
| predicted_ER | 0.0000 | 0.4820 | 0.2224 | model_form_blend |
| predicted_ERA | - | 7.8220 | 7.8220 | form_only |
| predicted_H | 0.0000 | 0.8120 | 0.3747 | model_form_blend |
| predicted_HR | 0.0000 | 0.0930 | 0.0429 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 3.0000 | 0.3660 | 1.7845 | model_form_blend |
| predicted_WHIP | - | 1.7410 | 1.7410 | 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 | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 33 |
| 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 | 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.73 |
| Pitching_Flyouts | 0 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_CHC@SF |
| game_type | full |
| mlbID | 571948 |
| playerID | 571948 |
| playerName | Hoby Milner |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-06-14 |
| sl_k_percent | 11.8 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.295 |
| sl_xwoba | 0.354 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 17.6 |
| sl_swing_percent | 45.8 |
| sl_avg_best_speed | 78.61644902 |
| sl_avg_hyper_speed | 93.705563069 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | DET 3 - 1 HOU | DET | 0.574 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | DET 4 - 2 HOU | DET | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5742 |
| 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.467 | 3.019 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 3 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 1 | 0.5742 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 3 | 1 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 3 | 1 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 4 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46613562231759664,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.050684978540772585,
"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": 4,
"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": 35,
"near_bucket_sample_size": 35,
"medium_bucket_sample_size": 130,
"wide_bucket_sample_size": 214,
"global_sample_size": 214,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5714,
"bayesian_hit_rate": 0.5472,
"sample_weight": 0.5613,
"prior_strength": 18.0,
"reliability": 0.6604,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.5742,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "HOU",
"games": 73,
"wins": 33,
"losses": 40,
"win_pct": 0.4520547945205479,
"runs_scored": 333,
"runs_allowed": 372,
"run_differential": -39,
"run_differential_per_game": -0.5342465753424658,
"available": true
},
"away": {
"team": "DET",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4084507042253521,
"runs_scored": 288,
"runs_allowed": 300,
"run_differential": -12,
"run_differential_per_game": -0.16901408450704225,
"available": true
},
"run_differential_edge_per_game": -0.3652,
"win_pct_edge": 0.0436,
"quality_edge": -0.2998,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "DET",
"guardrail_predicted_team": "DET",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "DET",
"output_opponent_team": "HOU",
"final_score_winner": "DET",
"pre_simulation_winner": "DET",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "DET 3 - 1 HOU",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "DET 4 - 2 HOU",
"winner": "DET"
},
"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": "HOU",
"games": 73,
"wins": 33,
"losses": 40,
"win_pct": 0.4520547945205479,
"runs_scored": 333,
"runs_allowed": 372,
"run_differential": -39,
"run_differential_per_game": -0.5342465753424658,
"available": true
},
"away": {
"team": "DET",
"games": 71,
"wins": 29,
"losses": 42,
"win_pct": 0.4084507042253521,
"runs_scored": 288,
"runs_allowed": 300,
"run_differential": -12,
"run_differential_per_game": -0.16901408450704225,
"available": true
}
}
}{
"applied": true,
"raw_margin": -1.7628,
"final_margin": -1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.2998,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 2.785,
"home_runs": 1.285
}
}{
"applied": false,
"raw_confidence": 0.574168,
"final_confidence": 0.574168,
"confidence_cap": 0.63,
"score_gap": 1.5,
"calibration_sample_size": 35,
"calibration_empirical_hit_rate": 0.5714,
"calibration_bayesian_hit_rate": 0.5472,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.2998,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 1,
"score_text": "DET 3 - 1 HOU",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "DET 4 - 2 HOU",
"winner": "DET"
},
"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": 3,
"home_runs": 1,
"confidence": 0.574168,
"home_win_probability": 0.425832,
"away_win_probability": 0.574168,
"predicted_score_text": "DET 3 - 1 HOU",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "DET",
"original_runs": 3,
"run_delta": 0.1512,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.25213764397222005,
"contact": 0.06073482770980737,
"power": 0.16765755810106162,
"discipline": 0.1607355696866864,
"xwoba": 0.32522580645161286,
"recent_xwoba": 0.32522580645161286,
"barrel": 9.141935483870968,
"ab_hard_contact": 0.23194686094596292,
"ab_bat_speed": 70.24662060918511,
"ab_strikeout_rate": 0.24167857050249622,
"available_players": 9,
"top_players": [
{
"player_id": "693307",
"player_name": "Dillon Dingler",
"position": "C",
"weight": 4.0,
"quality": 1.190156531747961,
"contact": 1.483665332789058,
"power": 1.5601270474576858,
"discipline": 0.07981674424155646,
"xwoba": 0.396,
"recent_xwoba": 0.396,
"barrel": 13.3,
"ab_hard_contact": 0.8562552348679948,
"ab_bat_speed": 70.76914492225461,
"ab_strikeout_rate": 0.22267573696145126,
"available": 1.0
},
{
"player_id": "682985",
"player_name": "Riley Greene",
"position": "LF",
"weight": 4.0,
"quality": 0.7208067399049739,
"contact": 0.7536034604799612,
"power": 1.0481923208911381,
"discipline": 0.04163533834586475,
"xwoba": 0.359,
"recent_xwoba": 0.359,
"barrel": 13.2,
"ab_hard_contact": 0.6994654654418024,
"ab_bat_speed": 73.88058946608946,
"ab_strikeout_rate": 0.275,
"available": 1.0
},
{
"player_id": "656716",
"player_name": "Zach McKinstry",
"position": "RF",
"weight": 3.0,
"quality": -0.4956440549579397,
"contact": -1.261894394363113,
"power": -1.4428447186012887,
"discipline": 0.799358552631579,
"xwoba": 0.259,
"recent_xwoba": 0.259,
"barrel": 2.7,
"ab_hard_contact": -0.7144181815495849,
"ab_bat_speed": 67.8376129032258,
"ab_strikeout_rate": 0.1765625,
"available": 1.0
},
{
"player_id": "681546",
"player_name": "James Outman",
"position": "CF",
"weight": 3.0,
"quality": -0.45808774235402416,
"contact": -2.0,
"power": -1.4813731070890612,
"discipline": -1.2627725291489598,
"xwoba": 0.221,
"recent_xwoba": 0.221,
"barrel": 2.7,
"ab_hard_contact": -1.2244145227336023,
"ab_bat_speed": 70.11527777777778,
"ab_strikeout_rate": 0.39855072463768115,
"available": 1.0
},
{
"player_id": "805808",
"player_name": "Kevin McGonigle",
"position": "SS",
"weight": 4.0,
"quality": 0.5744958615038053,
"contact": 0.7123831453475046,
"power": 0.2507624483746056,
"discipline": 1.3061359373275958,
"xwoba": 0.363,
"recent_xwoba": 0.363,
"barrel": 8.4,
"ab_hard_contact": 0.4422965865397238,
"ab_bat_speed": 70.23888689228312,
"ab_strikeout_rate": 0.13228511530398324,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "678906",
"player_name": "Kai-Wei Teng",
"quality": -0.058701281082709326,
"contact": -0.18555106628214282,
"command": -0.030999999999999972,
"movement": 0.08605102232045586,
"xwoba": 0.314,
"whiff": 25.3,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "HOU",
"original_runs": 1,
"run_delta": -0.1186,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.1618036162345398,
"contact": 0.012221782196437013,
"power": 0.0808749477111819,
"discipline": -0.006738840796868924,
"xwoba": 0.3289090909090909,
"recent_xwoba": 0.3289090909090909,
"barrel": 8.854545454545455,
"ab_hard_contact": 0.25516722982234086,
"ab_bat_speed": 70.29219672675617,
"ab_strikeout_rate": 0.20962309689165143,
"available_players": 9,
"top_players": [
{
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"weight": 4.0,
"quality": 1.8333326453056886,
"contact": 2.0,
"power": 2.0,
"discipline": 1.089390749601276,
"xwoba": 0.492,
"recent_xwoba": 0.492,
"barrel": 18.6,
"ab_hard_contact": 1.753525178451178,
"ab_bat_speed": 75.27407611832611,
"ab_strikeout_rate": 0.17303030303030303,
"available": 1.0
},
{
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"weight": 3.0,
"quality": -0.6327588148346335,
"contact": -1.3846531165144733,
"power": -1.4889299402154934,
"discipline": 0.23365914786967423,
"xwoba": 0.238,
"recent_xwoba": 0.238,
"barrel": 1.7,
"ab_hard_contact": -0.9919321376432029,
"ab_bat_speed": 62.39205555555556,
"ab_strikeout_rate": 0.19047619047619047,
"available": 1.0
},
{
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"weight": 4.0,
"quality": 0.45101349974128757,
"contact": 0.2598918946790954,
"power": 0.8235327490797704,
"discipline": -0.332100592390066,
"xwoba": 0.336,
"recent_xwoba": 0.336,
"barrel": 13.5,
"ab_hard_contact": 1.1034168863573066,
"ab_bat_speed": 75.12562626262627,
"ab_strikeout_rate": 0.2678787878787879,
"available": 1.0
},
{
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"weight": 4.0,
"quality": -0.30535542530742926,
"contact": -0.39313316186594727,
"power": -0.5267455044313869,
"discipline": 0.17304803675856317,
"xwoba": 0.301,
"recent_xwoba": 0.301,
"barrel": 6.3,
"ab_hard_contact": -0.3375767552944017,
"ab_bat_speed": 66.86883267195768,
"ab_strikeout_rate": 0.1908730158730159,
"available": 1.0
},
{
"player_id": "666211",
"player_name": "Taylor Trammell",
"position": "LF",
"weight": 3.0,
"quality": -0.19910092934456852,
"contact": -1.1690896627162872,
"power": -0.801469021155319,
"discipline": -1.1722456140350876,
"xwoba": 0.26,
"recent_xwoba": 0.26,
"barrel": 4.4,
"ab_hard_contact": -0.2221423278682818,
"ab_bat_speed": 71.8291087962963,
"ab_strikeout_rate": 0.30416666666666664,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "623454",
"player_name": "Drew Anderson",
"quality": 0.19036363419009397,
"contact": 0.2599004552965871,
"command": 0.4988571428571428,
"movement": 0.19756823856827643,
"xwoba": 0.274,
"whiff": 28.9,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"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": 1,
"predicted_score_text": "DET 3 - 1 HOU",
"confidence": 0.574168,
"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": 1,
"score_text": "DET 3 - 1 HOU",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "DET 4 - 2 HOU",
"winner": "DET"
},
"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 DET | True | 1.0261 | 1.0261 | 1 | 9 | 0 |
| Home HOU | True | 1.0155 | 1.0155 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Kerry Carpenter | 331 | 1.0070 | 0.0932 | negative_batter_regression | 0.3110 | 0.2140 | 0.4020 | 11.50 | 46.10 | 91 | 22 | 30.90 | 31.60 | 8.40 | -1.0286 |
| SS | Kevin McGonigle | 3 | 1.0631 | 0.8415 | neutral | 0.3630 | 0.2680 | 0.4460 | 8.40 | 36.70 | 87.90 | 21.80 | 14.40 | 13.30 | 14 | 0.2000 |
| 2B | Gleyber Torres | 52 | 1.0170 | 0.2270 | neutral | 0.3450 | 0.2570 | 0.3940 | 7.90 | 31.70 | 85.30 | 7.10 | 21.20 | 16.90 | 15.30 | -0.4000 |
| LF | Riley Greene | 82 | 1.0764 | 1.0181 | neutral | 0.3590 | 0.2600 | 0.4600 | 13.20 | 50.60 | 91.40 | 16.40 | 30.40 | 28.30 | 12.50 | -0.4000 |
| C | Dillon Dingler | 35 | 1.1220 | 1.6261 | neutral | 0.3960 | 0.2910 | 0.5590 | 13.30 | 51.60 | 90.90 | 17.40 | 21.20 | 20.70 | 8.30 | 0.7714 |
| 3B | Colt Keith | 477 | 1.0126 | 0.1681 | neutral | 0.3060 | 0.2610 | 0.3970 | 6.70 | 41.30 | 88.60 | 13.40 | 22.30 | 20.60 | 5.40 | 0.6286 |
| 1B | Spencer Torkelson | 515 | 1.0285 | 0.3803 | neutral | 0.3130 | 0.2070 | 0.4000 | 13.80 | 45.20 | 90.50 | 20 | 30.90 | 33.30 | 11.10 | -0.1429 |
| RF | Zach McKinstry | 549 | 0.9628 | -0.4956 | neutral | 0.2590 | 0.1990 | 0.2740 | 2.70 | 21.60 | 84.80 | 14 | 15.40 | 17.80 | 11.50 | 0.4286 |
| CF | James Outman | 470 | 0.9451 | -0.7323 | neutral | 0.2210 | 0.1550 | 0.2430 | 2.70 | 29.70 | 85.50 | 18.90 | 40.70 | 40.50 | 8.10 | -0.6857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Christian Walker | 70 | 1.0205 | 0.2730 | negative_batter_regression | 0.3170 | 0.2370 | 0.4240 | 11.80 | 45.60 | 90.60 | 14.70 | 30.30 | 21.70 | 7.80 | -1.0286 |
| SS | Jeremy Peña | 94 | 1.0264 | 0.3518 | neutral | 0.3640 | 0.3100 | 0.4510 | 4.50 | 32.70 | 85.80 | 14.20 | 25.20 | 13.80 | 8.30 | 0.7429 |
| DH | Yordan Alvarez | 8 | 1.1500 | 2 | positive_batter_regression | 0.4920 | 0.3490 | 0.7390 | 18.60 | 52.90 | 94.60 | 19.30 | 19.60 | 17.10 | 14.80 | 1 |
| 3B | Isaac Paredes | 131 | 1.0073 | 0.0973 | neutral | 0.3230 | 0.2410 | 0.3750 | 6.80 | 31.30 | 87.10 | 24.20 | 16.40 | 16.70 | 9.80 | -0.0857 |
| 2B | Jose Altuve | 309 | 0.9862 | -0.1835 | neutral | 0.3010 | 0.2380 | 0.3530 | 6.30 | 35.20 | 86 | 8.20 | 26.10 | 21.50 | 10.30 | -0.3714 |
| LF | Taylor Trammell | 275 | 0.9628 | -0.4965 | negative_batter_regression | 0.2600 | 0.2050 | 0.2950 | 4.40 | 33.30 | 89.30 | 9 | 41.70 | 35 | 7.50 | -2 |
| CF | Brice Matthews | 224 | 0.9826 | -0.2323 | neutral | 0.2760 | 0.2020 | 0.3720 | 9.30 | 39.40 | 88.30 | 11.20 | 36.40 | 31.40 | 6.30 | -0.0286 |
| RF | Cam Smith | 128 | 1.0585 | 0.7795 | positive_batter_regression | 0.3360 | 0.2430 | 0.4440 | 13.50 | 45.10 | 89.40 | 11.30 | 31.90 | 27.50 | 9.70 | 1.1429 |
| C | Christian Vázquez | 176 | 0.9448 | -0.7359 | negative_batter_regression | 0.2380 | 0.1990 | 0.2690 | 1.70 | 23.30 | 85.60 | 13.70 | 18.70 | 15.90 | 7.60 | -1.2286 |
{
"home": {
"applied": true,
"offense_factor": 1.0155,
"raw_average_factor": 1.0155,
"team_espn_average_rank": 157.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "572233",
"player_name": "Christian Walker",
"offense_factor": 1.0205,
"quality_score": 0.273,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "572233",
"espn_id": 32758,
"player_name": "Christian Walker",
"team": "HOU",
"role": "batter",
"espn_rank": 70,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 70,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 271.0,
"ab_rank": 21,
"r_value": 41.0,
"r_rank": 42,
"h_value": 67.0,
"h_rank": 58,
"avg_value": 0.2472324,
"avg_rank": 92.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 18.0,
"hr_rank": 9,
"rbi_value": 52.0,
"rbi_rank": 5,
"tb_value": 136.0,
"tb_rank": 270,
"bb_value": 23.0,
"bb_rank": 98,
"so_value": 64.0,
"so_rank": 58,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3143812,
"obp_rank": "111",
"slg_value": 0.501845,
"slg_rank": "27",
"ops_value": 0.8162262,
"ops_rank": 84.0,
"war_value": 1.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 21.7,
"bb_percent": 7.8,
"woba": 0.353,
"xwoba": 0.317,
"xba": 0.237,
"xslg": 0.424,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 45.6,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 14.7,
"whiff_percent": 30.3,
"swing_percent": 50.1
},
"components": {
"expected_quality": 0.4849,
"regression_edge": -1.0286,
"xwoba_edge": 0.3429,
"xba_edge": -0.0286,
"xslg_edge": 0.7,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.0,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "665161",
"player_name": "Jeremy Peña",
"offense_factor": 1.0264,
"quality_score": 0.3518,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665161",
"espn_id": 41273,
"player_name": "Jeremy Pena",
"team": "HOU",
"role": "batter",
"espn_rank": 94,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 94,
"gp_value": 35.0,
"gp_rank": 327,
"ab_value": 133.0,
"ab_rank": 254,
"r_value": 25.0,
"r_rank": 160,
"h_value": 36.0,
"h_rank": 219,
"avg_value": 0.2706766,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 12.0,
"rbi_rank": 286,
"tb_value": 52.0,
"tb_rank": 1497,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 20.0,
"so_rank": 342,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3422818,
"obp_rank": "-",
"slg_value": 0.3909774,
"slg_rank": "-",
"ops_value": 0.7332592,
"ops_rank": null,
"war_value": 1.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 86.0,
"k_percent": 13.8,
"bb_percent": 8.3,
"woba": 0.338,
"xwoba": 0.364,
"xba": 0.31,
"xslg": 0.451,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 32.7,
"exit_velocity_avg": 85.8,
"launch_angle_avg": 14.2,
"whiff_percent": 25.2,
"swing_percent": 51.8
},
"components": {
"expected_quality": 0.788,
"regression_edge": 0.7429,
"xwoba_edge": 1.6857,
"xba_edge": 2.0571,
"xslg_edge": 1.0857,
"barrel_edge": -0.5333,
"hard_hit_edge": -0.8429,
"exit_velocity_edge": -1.2,
"sweet_spot_edge": -0.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"offense_factor": 1.15,
"quality_score": 2.0,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670541",
"espn_id": 36018,
"player_name": "Yordan Alvarez",
"team": "HOU",
"role": "batter",
"espn_rank": 8,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 8,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 261.0,
"ab_rank": 37,
"r_value": 49.0,
"r_rank": 8,
"h_value": 85.0,
"h_rank": 3,
"avg_value": 0.3256704,
"avg_rank": 3.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 24.0,
"hr_rank": 1,
"rbi_value": 54.0,
"rbi_rank": 3,
"tb_value": 170.0,
"tb_rank": 431,
"bb_value": 46.0,
"bb_rank": 9,
"so_value": 54.0,
"so_rank": 104,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.433121,
"obp_rank": "2",
"slg_value": 0.6513409,
"slg_rank": "1",
"ops_value": 1.0844619,
"ops_rank": 3.0,
"war_value": 3.37,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 235.0,
"k_percent": 17.1,
"bb_percent": 14.8,
"woba": 0.457,
"xwoba": 0.492,
"xba": 0.349,
"xslg": 0.739,
"sweet_spot_percent": 46.1,
"barrel_batted_rate": 18.6,
"hard_hit_percent": 52.9,
"exit_velocity_avg": 94.6,
"launch_angle_avg": 19.3,
"whiff_percent": 19.6,
"swing_percent": 42.8
},
"components": {
"expected_quality": 2.3929,
"regression_edge": 1.0,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.0429,
"exit_velocity_edge": 2.32,
"sweet_spot_edge": 2.1333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "670623",
"player_name": "Isaac Paredes",
"offense_factor": 1.0073,
"quality_score": 0.0973,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670623",
"espn_id": 39706,
"player_name": "Isaac Paredes",
"team": "HOU",
"role": "batter",
"espn_rank": 131,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 131,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 236.0,
"ab_rank": 101,
"r_value": 28.0,
"r_rank": 130,
"h_value": 54.0,
"h_rank": 113,
"avg_value": 0.2288135,
"avg_rank": 121.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 33.0,
"rbi_rank": 77,
"tb_value": 93.0,
"tb_rank": 794,
"bb_value": 27.0,
"bb_rank": 69,
"so_value": 46.0,
"so_rank": 144,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.330909,
"obp_rank": "85",
"slg_value": 0.3940677,
"slg_rank": "110",
"ops_value": 0.7249767,
"ops_rank": 25.0,
"war_value": 0.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 16.7,
"bb_percent": 9.8,
"woba": 0.326,
"xwoba": 0.323,
"xba": 0.241,
"xslg": 0.375,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 31.3,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 24.2,
"whiff_percent": 16.4,
"swing_percent": 43.3
},
"components": {
"expected_quality": 0.133,
"regression_edge": -0.0857,
"xwoba_edge": 0.5143,
"xba_edge": 0.0857,
"xslg_edge": 0.0,
"barrel_edge": -0.0222,
"hard_hit_edge": -1.0429,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "514888",
"player_name": "Jose Altuve",
"offense_factor": 0.9862,
"quality_score": -0.1835,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "514888",
"espn_id": 31662,
"player_name": "Jose Altuve",
"team": "HOU",
"role": "batter",
"espn_rank": 309,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 309,
"gp_value": 50.0,
"gp_rank": 229,
"ab_value": 189.0,
"ab_rank": 165,
"r_value": 31.0,
"r_rank": 98,
"h_value": 45.0,
"h_rank": 170,
"avg_value": 0.2380952,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 15.0,
"rbi_rank": 254,
"tb_value": 73.0,
"tb_rank": 1109,
"bb_value": 22.0,
"bb_rank": 118,
"so_value": 46.0,
"so_rank": 144,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3192488,
"obp_rank": "-",
"slg_value": 0.3862433,
"slg_rank": "-",
"ops_value": 0.7054921,
"ops_rank": null,
"war_value": 0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 21.5,
"bb_percent": 10.3,
"woba": 0.314,
"xwoba": 0.301,
"xba": 0.238,
"xslg": 0.353,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 35.2,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 8.2,
"whiff_percent": 26.1,
"swing_percent": 46.0
},
"components": {
"expected_quality": -0.2003,
"regression_edge": -0.3714,
"xwoba_edge": -0.1143,
"xba_edge": 0.0,
"xslg_edge": -0.3143,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.4857,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "666211",
"player_name": "Taylor Trammell",
"offense_factor": 0.9628,
"quality_score": -0.4965,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666211",
"espn_id": 37773,
"player_name": "Taylor Trammell",
"team": "HOU",
"role": "batter",
"espn_rank": 275,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 275,
"gp_value": 26.0,
"gp_rank": 375,
"ab_value": 73.0,
"ab_rank": 369,
"r_value": 9.0,
"r_rank": 348,
"h_value": 21.0,
"h_rank": 324,
"avg_value": 0.2876712,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 7.0,
"rbi_rank": 358,
"tb_value": 28.0,
"tb_rank": 2025,
"bb_value": 6.0,
"bb_rank": 350,
"so_value": 29.0,
"so_rank": 271,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.35,
"obp_rank": "-",
"slg_value": 0.3835616,
"slg_rank": "-",
"ops_value": 0.7335616,
"ops_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 42.0,
"k_percent": 35.0,
"bb_percent": 7.5,
"woba": 0.333,
"xwoba": 0.26,
"xba": 0.205,
"xslg": 0.295,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 9.0,
"whiff_percent": 41.7,
"swing_percent": 46.6
},
"components": {
"expected_quality": -0.9575,
"regression_edge": -2.0,
"xwoba_edge": -1.2857,
"xba_edge": -0.9429,
"xslg_edge": -1.1429,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.7571,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.7333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "694728",
"player_name": "Brice Matthews",
"offense_factor": 0.9826,
"quality_score": -0.2323,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694728",
"espn_id": 4838117,
"player_name": "Brice Matthews",
"team": "HOU",
"role": "batter",
"espn_rank": 224,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 224,
"gp_value": 60.0,
"gp_rank": 163,
"ab_value": 164.0,
"ab_rank": 208,
"r_value": 18.0,
"r_rank": 227,
"h_value": 36.0,
"h_rank": 219,
"avg_value": 0.2195121,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 18.0,
"rbi_rank": 222,
"tb_value": 61.0,
"tb_rank": 1050,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 56.0,
"so_rank": 91,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.2711864,
"obp_rank": "-",
"slg_value": 0.3719512,
"slg_rank": "-",
"ops_value": 0.6431376,
"ops_rank": null,
"war_value": 0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 31.4,
"bb_percent": 6.3,
"woba": 0.277,
"xwoba": 0.276,
"xba": 0.202,
"xslg": 0.372,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 39.4,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 11.2,
"whiff_percent": 36.4,
"swing_percent": 46.3
},
"components": {
"expected_quality": -0.3942,
"regression_edge": -0.0286,
"xwoba_edge": -0.8286,
"xba_edge": -1.0286,
"xslg_edge": -0.0429,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.1143,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -0.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "701358",
"player_name": "Cam Smith",
"offense_factor": 1.0585,
"quality_score": 0.7795,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701358",
"espn_id": 5080766,
"player_name": "Cam Smith",
"team": "HOU",
"role": "batter",
"espn_rank": 128,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 128,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 239.0,
"ab_rank": 95,
"r_value": 28.0,
"r_rank": 130,
"h_value": 52.0,
"h_rank": 124,
"avg_value": 0.2175732,
"avg_rank": 140.0,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 85.0,
"tb_rank": 718,
"bb_value": 26.0,
"bb_rank": 77,
"so_value": 74.0,
"so_rank": 27,
"sb_value": 8.0,
"sb_rank": 52,
"obp_value": 0.302583,
"obp_rank": "125",
"slg_value": 0.3556485,
"slg_rank": "128",
"ops_value": 0.6582315,
"ops_rank": 253.0,
"war_value": 0.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 27.5,
"bb_percent": 9.7,
"woba": 0.296,
"xwoba": 0.336,
"xba": 0.243,
"xslg": 0.444,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 13.5,
"hard_hit_percent": 45.1,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 11.3,
"whiff_percent": 31.9,
"swing_percent": 46.6
},
"components": {
"expected_quality": 0.7635,
"regression_edge": 1.1429,
"xwoba_edge": 0.8857,
"xba_edge": 0.1429,
"xslg_edge": 0.9857,
"barrel_edge": 1.4667,
"hard_hit_edge": 0.9286,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "543877",
"player_name": "Christian Vázquez",
"offense_factor": 0.9448,
"quality_score": -0.7359,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "543877",
"espn_id": 31389,
"player_name": "Christian Vazquez",
"team": "HOU",
"role": "batter",
"espn_rank": 176,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 176,
"gp_value": 49.0,
"gp_rank": 231,
"ab_value": 143.0,
"ab_rank": 243,
"r_value": 15.0,
"r_rank": 259,
"h_value": 32.0,
"h_rank": 247,
"avg_value": 0.2237762,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 19.0,
"rbi_rank": 210,
"tb_value": 50.0,
"tb_rank": 1450,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 25.0,
"so_rank": 301,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2838709,
"obp_rank": "-",
"slg_value": 0.3496503,
"slg_rank": "-",
"ops_value": 0.6335212,
"ops_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 115.0,
"k_percent": 15.9,
"bb_percent": 7.6,
"woba": 0.281,
"xwoba": 0.238,
"xba": 0.199,
"xslg": 0.269,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 1.7,
"hard_hit_percent": 23.3,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 13.7,
"whiff_percent": 18.7,
"swing_percent": 46.5
},
"components": {
"expected_quality": -1.4369,
"regression_edge": -1.2286,
"xwoba_edge": -1.9143,
"xba_edge": -1.1143,
"xslg_edge": -1.5143,
"barrel_edge": -1.1556,
"hard_hit_edge": -2.1857,
"exit_velocity_edge": -1.28,
"sweet_spot_edge": -0.55,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0261,
"raw_average_factor": 1.0261,
"team_espn_average_rank": 279.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "681481",
"player_name": "Kerry Carpenter",
"offense_factor": 1.007,
"quality_score": 0.0932,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "681481",
"espn_id": 42714,
"player_name": "Kerry Carpenter",
"team": "DET",
"role": "batter",
"espn_rank": 331,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 331,
"gp_value": 48.0,
"gp_rank": 237,
"ab_value": 135.0,
"ab_rank": 249,
"r_value": 15.0,
"r_rank": 259,
"h_value": 32.0,
"h_rank": 247,
"avg_value": 0.237037,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 66.0,
"tb_rank": 849,
"bb_value": 13.0,
"bb_rank": 228,
"so_value": 49.0,
"so_rank": 134,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.316129,
"obp_rank": "-",
"slg_value": 0.4888888,
"slg_rank": "-",
"ops_value": 0.8050178,
"ops_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 116.0,
"k_percent": 31.6,
"bb_percent": 8.4,
"woba": 0.347,
"xwoba": 0.311,
"xba": 0.214,
"xslg": 0.402,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 22.0,
"whiff_percent": 30.9,
"swing_percent": 50.5
},
"components": {
"expected_quality": 0.3729,
"regression_edge": -1.0286,
"xwoba_edge": 0.1714,
"xba_edge": -0.6857,
"xslg_edge": 0.3857,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.0714,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 1.0,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "SS",
"player_id": "805808",
"player_name": "Kevin McGonigle",
"offense_factor": 1.0631,
"quality_score": 0.8415,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805808",
"espn_id": 5149072,
"player_name": "Kevin McGonigle",
"team": "DET",
"role": "batter",
"espn_rank": 3,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 3,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 256.0,
"ab_rank": 49,
"r_value": 44.0,
"r_rank": 25,
"h_value": 71.0,
"h_rank": 34,
"avg_value": 0.2773437,
"avg_rank": 40.0,
"2b_value": 15.0,
"2b_rank": 24,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 24.0,
"rbi_rank": 163,
"tb_value": 104.0,
"tb_rank": 662,
"bb_value": 42.0,
"bb_rank": 14,
"so_value": 40.0,
"so_rank": 186,
"sb_value": 9.0,
"sb_rank": 44,
"obp_value": 0.3833333,
"obp_rank": "15",
"slg_value": 0.40625,
"slg_rank": "96",
"ops_value": 0.7895833,
"ops_rank": 81.0,
"war_value": 3.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 13.3,
"bb_percent": 14.0,
"woba": 0.356,
"xwoba": 0.363,
"xba": 0.268,
"xslg": 0.446,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 36.7,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 21.8,
"whiff_percent": 14.4,
"swing_percent": 41.9
},
"components": {
"expected_quality": 0.9459,
"regression_edge": 0.2,
"xwoba_edge": 1.6571,
"xba_edge": 0.8571,
"xslg_edge": 1.0143,
"barrel_edge": 0.3333,
"hard_hit_edge": -0.2714,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "650402",
"player_name": "Gleyber Torres",
"offense_factor": 1.017,
"quality_score": 0.227,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "650402",
"espn_id": 33804,
"player_name": "Gleyber Torres",
"team": "DET",
"role": "batter",
"espn_rank": 52,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 52,
"gp_value": 42.0,
"gp_rank": 279,
"ab_value": 156.0,
"ab_rank": 221,
"r_value": 26.0,
"r_rank": 149,
"h_value": 44.0,
"h_rank": 175,
"avg_value": 0.2820512,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 18.0,
"rbi_rank": 222,
"tb_value": 62.0,
"tb_rank": 1378,
"bb_value": 29.0,
"bb_rank": 59,
"so_value": 32.0,
"so_rank": 250,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3968253,
"obp_rank": "-",
"slg_value": 0.3974358,
"slg_rank": "-",
"ops_value": 0.7942611,
"ops_rank": null,
"war_value": 1.92,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 144.0,
"k_percent": 16.9,
"bb_percent": 15.3,
"woba": 0.359,
"xwoba": 0.345,
"xba": 0.257,
"xslg": 0.394,
"sweet_spot_percent": 37.3,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 31.7,
"exit_velocity_avg": 85.3,
"launch_angle_avg": 7.1,
"whiff_percent": 21.2,
"swing_percent": 39.2
},
"components": {
"expected_quality": 0.4684,
"regression_edge": -0.4,
"xwoba_edge": 1.1429,
"xba_edge": 0.5429,
"xslg_edge": 0.2714,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.9857,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": 0.6667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "682985",
"player_name": "Riley Greene",
"offense_factor": 1.0764,
"quality_score": 1.0181,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682985",
"espn_id": 42179,
"player_name": "Riley Greene",
"team": "DET",
"role": "batter",
"espn_rank": 82,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 82,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 256.0,
"ab_rank": 49,
"r_value": 36.0,
"r_rank": 62,
"h_value": 76.0,
"h_rank": 13,
"avg_value": 0.296875,
"avg_rank": 16.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 33.0,
"rbi_rank": 77,
"tb_value": 116.0,
"tb_rank": 686,
"bb_value": 37.0,
"bb_rank": 26,
"so_value": 84.0,
"so_rank": 12,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3872053,
"obp_rank": "12",
"slg_value": 0.453125,
"slg_rank": "52",
"ops_value": 0.8403303,
"ops_rank": 40.0,
"war_value": 1.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 232.0,
"k_percent": 28.3,
"bb_percent": 12.5,
"woba": 0.373,
"xwoba": 0.359,
"xba": 0.26,
"xslg": 0.46,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 13.2,
"hard_hit_percent": 50.6,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 16.4,
"whiff_percent": 30.4,
"swing_percent": 45.9
},
"components": {
"expected_quality": 1.2489,
"regression_edge": -0.4,
"xwoba_edge": 1.5429,
"xba_edge": 0.6286,
"xslg_edge": 1.2143,
"barrel_edge": 1.4,
"hard_hit_edge": 1.7143,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "693307",
"player_name": "Dillon Dingler",
"offense_factor": 1.122,
"quality_score": 1.6261,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693307",
"espn_id": 4345620,
"player_name": "Dillon Dingler",
"team": "DET",
"role": "batter",
"espn_rank": 35,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 35,
"gp_value": 64.0,
"gp_rank": 132,
"ab_value": 236.0,
"ab_rank": 101,
"r_value": 33.0,
"r_rank": 80,
"h_value": 60.0,
"h_rank": 86,
"avg_value": 0.2542372,
"avg_rank": 80.0,
"2b_value": 14.0,
"2b_rank": 37,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 16.0,
"hr_rank": 15,
"rbi_value": 50.0,
"rbi_rank": 10,
"tb_value": 124.0,
"tb_rank": 302,
"bb_value": 22.0,
"bb_rank": 118,
"so_value": 55.0,
"so_rank": 99,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3295454,
"obp_rank": "87",
"slg_value": 0.5254237,
"slg_rank": "19",
"ops_value": 0.8549691,
"ops_rank": 68.0,
"war_value": 2.27,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 203.0,
"k_percent": 20.7,
"bb_percent": 8.3,
"woba": 0.369,
"xwoba": 0.396,
"xba": 0.291,
"xslg": 0.559,
"sweet_spot_percent": 41.8,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 51.6,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 17.4,
"whiff_percent": 21.2,
"swing_percent": 48.0
},
"components": {
"expected_quality": 1.9236,
"regression_edge": 0.7714,
"xwoba_edge": 2.5,
"xba_edge": 1.5143,
"xslg_edge": 2.5,
"barrel_edge": 1.4222,
"hard_hit_edge": 1.8571,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 1.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "690993",
"player_name": "Colt Keith",
"offense_factor": 1.0126,
"quality_score": 0.1681,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690993",
"espn_id": 4683384,
"player_name": "Colt Keith",
"team": "DET",
"role": "batter",
"espn_rank": 477,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 477,
"gp_value": 65.0,
"gp_rank": 120,
"ab_value": 191.0,
"ab_rank": 163,
"r_value": 24.0,
"r_rank": 168,
"h_value": 49.0,
"h_rank": 143,
"avg_value": 0.2565445,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 183,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 10.0,
"rbi_rank": 315,
"tb_value": 64.0,
"tb_rank": 1433,
"bb_value": 11.0,
"bb_rank": 262,
"so_value": 42.0,
"so_rank": 169,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.2990196,
"obp_rank": "-",
"slg_value": 0.3350785,
"slg_rank": "-",
"ops_value": 0.6340981,
"ops_rank": null,
"war_value": -0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 160.0,
"k_percent": 20.6,
"bb_percent": 5.4,
"woba": 0.284,
"xwoba": 0.306,
"xba": 0.261,
"xslg": 0.397,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 41.3,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 13.4,
"whiff_percent": 22.3,
"swing_percent": 43.3
},
"components": {
"expected_quality": 0.1665,
"regression_edge": 0.6286,
"xwoba_edge": 0.0286,
"xba_edge": 0.6571,
"xslg_edge": 0.3143,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.3857,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.45,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "679529",
"player_name": "Spencer Torkelson",
"offense_factor": 1.0285,
"quality_score": 0.3803,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679529",
"espn_id": 4424286,
"player_name": "Spencer Torkelson",
"team": "DET",
"role": "batter",
"espn_rank": 515,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 515,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 234.0,
"ab_rank": 105,
"r_value": 25.0,
"r_rank": 160,
"h_value": 49.0,
"h_rank": 143,
"avg_value": 0.2094017,
"avg_rank": 147.0,
"2b_value": 14.0,
"2b_rank": 37,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 11.0,
"hr_rank": 51,
"rbi_value": 28.0,
"rbi_rank": 120,
"tb_value": 96.0,
"tb_rank": 713,
"bb_value": 30.0,
"bb_rank": 54,
"so_value": 90.0,
"so_rank": 10,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3074074,
"obp_rank": "121",
"slg_value": 0.4102564,
"slg_rank": "90",
"ops_value": 0.7176638,
"ops_rank": 31.0,
"war_value": -0.46,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 33.3,
"bb_percent": 11.1,
"woba": 0.318,
"xwoba": 0.313,
"xba": 0.207,
"xslg": 0.4,
"sweet_spot_percent": 45.9,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 20.0,
"whiff_percent": 30.9,
"swing_percent": 42.6
},
"components": {
"expected_quality": 0.48,
"regression_edge": -0.1429,
"xwoba_edge": 0.2286,
"xba_edge": -0.8857,
"xslg_edge": 0.3571,
"barrel_edge": 1.5333,
"hard_hit_edge": 0.9429,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 2.1,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "656716",
"player_name": "Zach McKinstry",
"offense_factor": 0.9628,
"quality_score": -0.4956,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656716",
"espn_id": 38420,
"player_name": "Zach McKinstry",
"team": "DET",
"role": "batter",
"espn_rank": 549,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 549,
"gp_value": 47.0,
"gp_rank": 244,
"ab_value": 135.0,
"ab_rank": 249,
"r_value": 8.0,
"r_rank": 369,
"h_value": 24.0,
"h_rank": 298,
"avg_value": 0.1777777,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 10.0,
"rbi_rank": 315,
"tb_value": 35.0,
"tb_rank": 1658,
"bb_value": 18.0,
"bb_rank": 168,
"so_value": 28.0,
"so_rank": 279,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.2709677,
"obp_rank": "-",
"slg_value": 0.2592592,
"slg_rank": "-",
"ops_value": 0.5302269,
"ops_rank": null,
"war_value": -0.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 111.0,
"k_percent": 17.8,
"bb_percent": 11.5,
"woba": 0.244,
"xwoba": 0.259,
"xba": 0.199,
"xslg": 0.274,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 21.6,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 14.0,
"whiff_percent": 15.4,
"swing_percent": 48.8
},
"components": {
"expected_quality": -1.212,
"regression_edge": 0.4286,
"xwoba_edge": -1.3143,
"xba_edge": -1.1143,
"xslg_edge": -1.4429,
"barrel_edge": -0.9333,
"hard_hit_edge": -2.4286,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": -0.75,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "681546",
"player_name": "James Outman",
"offense_factor": 0.9451,
"quality_score": -0.7323,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681546",
"espn_id": 41802,
"player_name": "James Outman",
"team": "DET",
"role": "batter",
"espn_rank": 470,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 470,
"gp_value": 51.0,
"gp_rank": 219,
"ab_value": 67.0,
"ab_rank": 381,
"r_value": 10.0,
"r_rank": 334,
"h_value": 11.0,
"h_rank": 401,
"avg_value": 0.1641791,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 4.0,
"rbi_rank": 424,
"tb_value": 20.0,
"tb_rank": 1907,
"bb_value": 6.0,
"bb_rank": 350,
"so_value": 30.0,
"so_rank": 264,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.2432432,
"obp_rank": "-",
"slg_value": 0.2985074,
"slg_rank": "-",
"ops_value": 0.5417506,
"ops_rank": null,
"war_value": -0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 62.0,
"k_percent": 40.5,
"bb_percent": 8.1,
"woba": 0.245,
"xwoba": 0.221,
"xba": 0.155,
"xslg": 0.243,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 29.7,
"exit_velocity_avg": 85.5,
"launch_angle_avg": 18.9,
"whiff_percent": 40.7,
"swing_percent": 54.0
},
"components": {
"expected_quality": -1.7807,
"regression_edge": -0.6857,
"xwoba_edge": -2.4,
"xba_edge": -2.3714,
"xslg_edge": -1.8857,
"barrel_edge": -0.9333,
"hard_hit_edge": -1.2714,
"exit_velocity_edge": -1.32,
"sweet_spot_edge": -0.15,
"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 | 157 | 0.2516 | 0.5240 | 0.9786 | 1.0269 | 1.0052 | 0.9830 | positive_pitcher_regression | 0.2740 | 0.3130 | 28.30 | 9.60 | 28.90 | 7 | 40 | |
| Home HOU | True | 170 | -0.0279 | 0.5800 | 1.0024 | 0.9997 | 1.0244 | 0.9811 | neutral | 0.3140 | 0.3120 | 22.80 | 11.20 | 25.30 | 5.10 | 39.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away DET | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home HOU | True | None | 76 | 89.25 | 2518 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0268 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0014 |
| home_runs_vs_away_pitcher | 0.9888 |
| home_pitcher_quality_edge | -0.2795 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "678906",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 145.0,
"k_percent": 22.8,
"bb_percent": 11.2,
"woba": 0.312,
"xwoba": 0.314,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 39.9,
"avg_best_speed": 80.5707,
"avg_hyper_speed": 94.4691,
"whiff_percent": 25.3,
"swing_percent": 43.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0215,
"command_and_miss": -0.1086,
"regression_edge": -0.0571,
"xwoba_edge": 0.0286,
"barrel_edge": 0.4889,
"hard_hit_edge": -0.1857,
"whiff_edge": -0.0286,
"bb_edge": -0.525,
"pitch_design_score": -0.0268
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678906",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2497,
"release_spin_rate": 2518.2918,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0268,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1913,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0279,
"sample_weight": 0.58,
"run_prevention_factor": 1.0024,
"strikeout_factor": 0.9997,
"walk_factor": 1.0244,
"homer_factor": 0.9811,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678906",
"espn_id": 42242,
"player_name": "Kai-Wei Teng",
"team": "HOU",
"role": "pitcher",
"espn_rank": 170,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 170,
"gp_value": 20.0,
"gp_rank": 171,
"gs_value": 7.0,
"gs_rank": 145,
"qs_value": 1.0,
"qs_rank": 132,
"era_value": 3.7058,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 3.0,
"hld_rank": 139,
"ip_value": 51.0,
"ip_rank": 127,
"h_value": 41.0,
"h_rank": 135,
"er_value": 21.0,
"er_rank": 136,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 24.0,
"bb_rank": 59,
"k_value": 49.0,
"k_rank": 112,
"k_per_9_value": 8.647059,
"k_per_9_rank": 23,
"whip_value": 1.2745,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"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": 28.3,
"bb_percent": 9.6,
"woba": 0.313,
"xwoba": 0.274,
"sweet_spot_percent": 27.0,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 40.0,
"avg_best_speed": 81.035,
"avg_hyper_speed": 94.4741,
"whiff_percent": 28.9,
"swing_percent": 49.5
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.424,
"command_and_miss": 0.505,
"regression_edge": 1.1143,
"xwoba_edge": 1.1714,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.2,
"whiff_edge": 0.4857,
"bb_edge": -0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623454",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2516,
"sample_weight": 0.524,
"run_prevention_factor": 0.9786,
"strikeout_factor": 1.0269,
"walk_factor": 1.0052,
"homer_factor": 0.983,
"woba_minus_xwoba": 0.039,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "623454",
"espn_id": 28617,
"player_name": "Drew Anderson",
"team": "MIL",
"role": "pitcher",
"espn_rank": 157,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 157,
"gp_value": 25.0,
"gp_rank": 121,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.916,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 4.0,
"hld_rank": 113,
"ip_value": 43.2,
"ip_rank": 145,
"h_value": 39.0,
"h_rank": 143,
"er_value": 19.0,
"er_rank": 154,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 17.0,
"bb_rank": 151,
"k_value": 53.0,
"k_rank": 93,
"k_per_9_value": 10.923664,
"k_per_9_rank": 17,
"whip_value": 1.2824,
"whip_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0014,
"home_runs_vs_away_pitcher": 0.9888,
"home_pitcher_quality_edge": -0.2795
},
"score_before": {
"away_runs": 2.9124,
"home_runs": 1.1667
},
"score_after": {
"away_runs": 2.9165,
"home_runs": 1.1537,
"home_win_probability": 0.3451
},
"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 | 19-43 | 0.306 | 1.20 | 3.10 | -116 | cold | strong | |
| Home HOU | 23-40 | 0.365 | 1.30 | 4.40 | -195 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away DET | 29-42 | 0.408 | -12 | -0.169 | True |
| Home HOU | 33-40 | 0.452 | -39 | -0.534 | True |
| Signal | - | - | -0.365 | -0.300 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target DET | - | - | 3 | - | - | - | - |
| Game target HOU | - | - | 1 | - | - | - | - |
| Player finalized DET | 31 | 9 | 4 | 0 | 4 | 3 | 9 |
| Player finalized HOU | 33 | 9 | 4 | 0 | 3 | 1 | 9 |
| Player model fractional DET | 30.77 | 7.24 | 3.99 | 1.27 | 4.06 | 3.51 | 8.29 |
| Player model fractional HOU | 31.97 | 7.27 | 4.35 | 1.28 | 4.04 | 3.15 | 7.60 |
| Simulation box DET | 34 | 7 | 4 | 0 | 4 | 5 | 7 |
| Simulation box HOU | 31 | 4 | 2 | 2 | 2 | 1 | 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 DET | Starter | Drew Anderson | 5 | 2 | 4 | 4 | 0 | 3.64 | 1.32 | True |
| Away DET | Middle Reliever | Kyle Finnegan | 1.10 | 0 | 0 | 0 | 0 | 2.97 | 1.27 | True |
| Away DET | Middle Reliever | Tyler Holton | 1.20 | 0 | 2 | 0 | 0 | 3.61 | 1.46 | True |
| Away DET | Middle Reliever | Will Vest | 1 | 0 | 1 | 0 | 1 | 6.06 | 1.47 | True |
| Home HOU | Starter | Kai-Wei Teng | 5 | 0 | 4 | 4 | 0 | 4.37 | 1.41 | True |
| Home HOU | Middle Reliever | Bryan Abreu | 1 | 1 | 1 | 0 | 0 | 4.85 | 1.35 | True |
| Home HOU | Middle Reliever | Bryan King | 1 | 0 | 0 | 1 | 0 | 2.47 | 1.20 | True |
| Home HOU | Middle Reliever | Enyel De Los Santos | 1 | 1 | 1 | 1 | 2 | 6.38 | 1.49 | True |
| Home HOU | Middle Reliever | Josh Hader | 1 | 2 | 1 | 1 | 3 | 3.73 | 1.15 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | DET | batter | 3B | Colt Keith | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 1.6500 | boost | better |
| home | HOU | batter | RF | Cam Smith | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | -1.4140 | deboost | worse |
| away | DET | batter | 1B | Spencer Torkelson | better | 10 | 5 | 5 | 6 | 4 | predicted_SO | -1.3040 | deboost | better |
| home | HOU | batter | 2B | Jose Altuve | worse | 8 | 1 | 7 | 0 | 8 | predicted_SO | 1.0800 | boost | worse |
| home | HOU | batter | 1B | Christian Walker | better | 10 | 6 | 4 | 7 | 3 | predicted_H | 1.0400 | boost | better |
| away | DET | batter | C | Dillon Dingler | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -1.0200 | deboost | worse |
| away | DET | batter | SS | Kevin McGonigle | worse | 9 | 2 | 7 | 1 | 8 | predicted_H | -1.0000 | deboost | worse |
| home | HOU | batter | SS | Jeremy Peña | worse | 10 | 1 | 9 | 0 | 10 | predicted_H | -1.0000 | deboost | worse |
| home | HOU | batter | CF | Brice Matthews | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -0.9820 | deboost | better |
| away | DET | batter | DH | Kerry Carpenter | worse | 9 | 4 | 5 | 4 | 5 | predicted_AB | 0.9400 | boost | better |
| away | DET | batter | 2B | Gleyber Torres | boosted | 10 | 6 | 4 | 5 | 5 | predicted_2B | 0.8570 | boost | better |
| away | DET | batter | CF | James Outman | worse | 10 | 2 | 8 | 3 | 7 | predicted_BB | 0.8510 | boost | better |
| home | HOU | batter | 3B | Isaac Paredes | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8400 | deboost | worse |
| away | DET | batter | RF | Zach McKinstry | boosted | 10 | 6 | 4 | 5 | 5 | predicted_R | 0.8220 | boost | better |
| away | DET | batter | LF | Riley Greene | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -0.8100 | deboost | worse |
| home | HOU | batter | DH | Yordan Alvarez | boosted | 8 | 5 | 3 | 4 | 4 | predicted_HR | 0.7200 | boost | better |
| home | HOU | batter | C | Christian Vázquez | worse | 10 | 0 | 10 | 1 | 9 | predicted_H | -0.5900 | deboost | worse |
| home | HOU | batter | LF | Taylor Trammell | worse | 10 | 1 | 9 | 2 | 8 | predicted_R | -0.3600 | deboost | worse |
| away | DET | pitcher | Middle Reliever | Tyler Holton | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | DET | pitcher | Middle Reliever | Kyle Finnegan | 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 | Drew Anderson |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2516 |
| ESPN Rank | 157 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 5 |
| Pre ER | 2 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 4 |
| Season ERA | 3.9160 |
| Season WHIP | 1.2824 |
| Role Avg IP | 4.6670 |
| Recent Avg IP | 4.6670 |
| Last Start IP | 4.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"opponent": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"edges": {
"quality_edge": 0.0034,
"offense_edge": -0.1087,
"opponent_offense_edge": 0.0013,
"defense_strength": 0.0872,
"opponent_defense_weakness": 0.0979,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9913,
"strikeout": 1.0
},
"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": 28.3,
"bb_percent": 9.6,
"woba": 0.313,
"xwoba": 0.274,
"sweet_spot_percent": 27.0,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 40.0,
"avg_best_speed": 81.035,
"avg_hyper_speed": 94.4741,
"whiff_percent": 28.9,
"swing_percent": 49.5
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.424,
"command_and_miss": 0.505,
"regression_edge": 1.1143,
"xwoba_edge": 1.1714,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.2,
"whiff_edge": 0.4857,
"bb_edge": -0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623454",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2516,
"sample_weight": 0.524,
"run_prevention_factor": 0.9786,
"strikeout_factor": 1.0269,
"walk_factor": 1.0052,
"homer_factor": 0.983,
"woba_minus_xwoba": 0.039,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "623454",
"espn_id": 28617,
"player_name": "Drew Anderson",
"team": "MIL",
"role": "pitcher",
"espn_rank": 157,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 157,
"gp_value": 25.0,
"gp_rank": 121,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.916,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 4.0,
"hld_rank": 113,
"ip_value": 43.2,
"ip_rank": 145,
"h_value": 39.0,
"h_rank": 143,
"er_value": 19.0,
"er_rank": 154,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 17.0,
"bb_rank": 151,
"k_value": 53.0,
"k_rank": 93,
"k_per_9_value": 10.923664,
"k_per_9_rank": 17,
"whip_value": 1.2824,
"whip_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9888,
"adjusted": 0
},
"predicted_H": {
"original": 2.0,
"factor": 0.9888,
"adjusted": 2
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0027,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9911,
"adjusted": 0
},
"predicted_SO": {
"original": 8.0,
"factor": 1.0141,
"adjusted": 8
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 16.2,
"ER": 5,
"H": 15,
"BB": 5,
"SO": 22,
"HR": 3,
"ERA": 2.6999999999999997,
"WHIP": 1.2,
"K9": 11.879999999999999,
"HR9": 1.6199999999999999,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "623454",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.647,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6336,
"prior_weight": 0.3664
},
"role": "pitcher",
"player_id": "623454",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 1.0,
"SO": 7.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.2,
"SO": 1.4,
"HR": 0.2,
"BF": 5.0,
"Pitches": 18.0
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.4118,
"ER_per_IP": 0.35294,
"H_per_IP": 1.23529,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 16.2,
"ER": 5.0,
"R": 6.0,
"H": 15.0,
"BB": 5.0,
"SO": 22.0,
"HR": 3.0,
"BF": 70.0,
"Pitches": 268.0
},
"per_game": {
"IP": 1.2,
"ER": 0.5,
"R": 0.6,
"H": 1.5,
"BB": 0.5,
"SO": 2.2,
"HR": 0.3,
"BF": 7.0,
"Pitches": 26.8
},
"rates": {
"ERA": 2.7,
"WHIP": 1.2,
"ER_per_IP": 0.3,
"H_per_IP": 0.9,
"BB_per_IP": 0.3,
"SO_per_IP": 1.32,
"HR_per_IP": 0.18
}
},
"season": {
"games": 25,
"totals": {
"IP": 43.2,
"ER": 19.0,
"R": 21.0,
"H": 39.0,
"BB": 17.0,
"SO": 53.0,
"HR": 6.0,
"BF": 186.0,
"Pitches": 727.0
},
"per_game": {
"IP": 1.2,
"ER": 0.76,
"R": 0.84,
"H": 1.56,
"BB": 0.68,
"SO": 2.12,
"HR": 0.24,
"BF": 7.44,
"Pitches": 29.08
},
"rates": {
"ERA": 3.916,
"WHIP": 1.2824,
"ER_per_IP": 0.43511,
"H_per_IP": 0.89313,
"BB_per_IP": 0.38931,
"SO_per_IP": 1.21374,
"HR_per_IP": 0.1374
}
}
},
"weighted_prediction": {
"predicted_IP": 2.2,
"predicted_ER": 1.091,
"predicted_H": 2.755,
"predicted_BB": 0.805,
"predicted_SO": 3.078,
"predicted_HR": 0.434,
"predicted_ERA": 3.6379,
"predicted_WHIP": 1.3196
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5048,
"form_weight": 0.4952,
"form_reliability": 0.6336,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.647,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6336,
"prior_weight": 0.3664
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 2.2,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.091,
"final": 1.5499,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 2.755,
"final": 3.3835,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.805,
"final": 0.3986,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.078,
"final": 3.5434,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.434,
"final": 1.2245,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6379,
"final": 3.6379,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3196,
"final": 1.3196,
"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.0858 |
| ESPN Rank | 49 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.3776 |
| Season WHIP | 1.3469 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"opponent": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"edges": {
"quality_edge": 0.0034,
"offense_edge": -0.1087,
"opponent_offense_edge": 0.0013,
"defense_strength": 0.0872,
"opponent_defense_weakness": 0.0979,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9913,
"strikeout": 1.0
},
"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": 14.7,
"bb_percent": 15.4,
"woba": 0.325,
"xwoba": 0.317,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 38.9,
"avg_best_speed": 78.4141,
"avg_hyper_speed": 94.1961,
"whiff_percent": 24.2,
"swing_percent": 45.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0339,
"command_and_miss": -0.8943,
"regression_edge": 0.2286,
"xwoba_edge": -0.0571,
"barrel_edge": 0.4444,
"hard_hit_edge": -0.0429,
"whiff_edge": -0.1857,
"bb_edge": -1.575,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "640448",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0858,
"sample_weight": 0.45,
"run_prevention_factor": 1.0073,
"strikeout_factor": 0.9761,
"walk_factor": 1.0567,
"homer_factor": 0.9855,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "640448",
"espn_id": 36543,
"player_name": "Kyle Finnegan",
"team": "DET",
"role": "pitcher",
"espn_rank": 49,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 49,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.9285,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 9.0,
"hld_rank": 27,
"ip_value": 32.2,
"ip_rank": 200,
"h_value": 27.0,
"h_rank": 236,
"er_value": 7.0,
"er_rank": 416,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 21.0,
"bb_rank": 98,
"k_value": 20.0,
"k_rank": 345,
"k_per_9_value": 5.5102043,
"k_per_9_rank": 46,
"whip_value": 1.4693,
"whip_rank": null,
"war_value": 1.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0033,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0033,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0255,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9892,
"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": 11,
"BB": 5,
"SO": 6,
"HR": 0,
"ERA": 2.4545454545454546,
"WHIP": 1.4545454545454546,
"K9": 4.909090909090909,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "640448",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.469,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"role": "pitcher",
"player_id": "640448",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 15.8
},
"rates": {
"ERA": 1.5,
"WHIP": 1.0,
"ER_per_IP": 0.16667,
"H_per_IP": 0.66667,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.83333,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 3.0,
"R": 3.0,
"H": 11.0,
"BB": 5.0,
"SO": 6.0,
"HR": 0.0,
"BF": 47.0,
"Pitches": 167.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.1,
"BB": 0.5,
"SO": 0.6,
"HR": 0.0,
"BF": 4.7,
"Pitches": 16.7
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.4545,
"ER_per_IP": 0.27273,
"H_per_IP": 1.0,
"BB_per_IP": 0.45455,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.0
}
},
"season": {
"games": 30,
"totals": {
"IP": 32.2,
"ER": 5.0,
"R": 5.0,
"H": 24.0,
"BB": 20.0,
"SO": 20.0,
"HR": 2.0,
"BF": 132.0,
"Pitches": 495.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1667,
"H": 0.8,
"BB": 0.6667,
"SO": 0.6667,
"HR": 0.0667,
"BF": 4.4,
"Pitches": 16.5
},
"rates": {
"ERA": 1.3776,
"WHIP": 1.3469,
"ER_per_IP": 0.15306,
"H_per_IP": 0.73469,
"BB_per_IP": 0.61224,
"SO_per_IP": 0.61224,
"HR_per_IP": 0.06122
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.358,
"predicted_H": 0.947,
"predicted_BB": 0.435,
"predicted_SO": 0.863,
"predicted_HR": 0.076,
"predicted_ERA": 2.9688,
"predicted_WHIP": 1.2741
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5342,
"form_weight": 0.4658,
"form_reliability": 0.564,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.469,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"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.1668,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.947,
"final": 0.4411,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.435,
"final": 0.2026,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.863,
"final": 0.402,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.076,
"final": 0.0354,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9688,
"final": 2.9688,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2741,
"final": 1.2741,
"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 Holton |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0158 |
| ESPN Rank | 230 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 4.0213 |
| Season WHIP | 1.4362 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"opponent": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"edges": {
"quality_edge": 0.0034,
"offense_edge": -0.1087,
"opponent_offense_edge": 0.0013,
"defense_strength": 0.0872,
"opponent_defense_weakness": 0.0979,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9913,
"strikeout": 1.0
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663947",
"profile": {
"available": true,
"pitcher_id": "663947",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 104.0,
"k_percent": 20.1,
"bb_percent": 6.0,
"woba": 0.36,
"xwoba": 0.312,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 39.2,
"avg_best_speed": 77.5147,
"avg_hyper_speed": 93.791,
"whiff_percent": 24.9,
"swing_percent": 47.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.1626,
"command_and_miss": -0.0421,
"regression_edge": 1.3714,
"xwoba_edge": 0.0857,
"barrel_edge": 0.4667,
"hard_hit_edge": -0.0857,
"whiff_edge": -0.0857,
"bb_edge": 0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663947",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0158,
"sample_weight": 0.45,
"run_prevention_factor": 0.9987,
"strikeout_factor": 0.9918,
"walk_factor": 0.9721,
"homer_factor": 0.9836,
"woba_minus_xwoba": 0.048,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663947",
"espn_id": 3983833,
"player_name": "Tyler Holton",
"team": "DET",
"role": "pitcher",
"espn_rank": 230,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 230,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.0212,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 4.0,
"l_rank": 59,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 31.1,
"ip_rank": 214,
"h_value": 37.0,
"h_rank": 151,
"er_value": 14.0,
"er_rank": 222,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 27.0,
"k_rank": 266,
"k_per_9_value": 7.755319,
"k_per_9_rank": 33,
"whip_value": 1.4361,
"whip_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9994,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9994,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9926,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9963,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 3,
"H": 11,
"BB": 0,
"SO": 10,
"HR": 1,
"ERA": 2.892857142857143,
"WHIP": 1.1785714285714286,
"K9": 9.642857142857142,
"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-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "663947",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.205,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5538,
"prior_weight": 0.4462
},
"role": "pitcher",
"player_id": "663947",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 0.0,
"SO": 3.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 71.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 1.4,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.2
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.9091,
"ER_per_IP": 0.27273,
"H_per_IP": 1.90909,
"BB_per_IP": 0.0,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 3.0,
"R": 4.0,
"H": 11.0,
"BB": 0.0,
"SO": 10.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 1.1,
"BB": 0.0,
"SO": 1.0,
"HR": 0.1,
"BF": 3.7,
"Pitches": 16.2
},
"rates": {
"ERA": 2.8929,
"WHIP": 1.1786,
"ER_per_IP": 0.32143,
"H_per_IP": 1.17857,
"BB_per_IP": 0.0,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 31,
"totals": {
"IP": 31.1,
"ER": 14.0,
"R": 16.0,
"H": 37.0,
"BB": 8.0,
"SO": 27.0,
"HR": 4.0,
"BF": 134.0,
"Pitches": 530.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4516,
"R": 0.5161,
"H": 1.1935,
"BB": 0.2581,
"SO": 0.871,
"HR": 0.129,
"BF": 4.3226,
"Pitches": 17.0968
},
"rates": {
"ERA": 4.0213,
"WHIP": 1.4362,
"ER_per_IP": 0.44681,
"H_per_IP": 1.18085,
"BB_per_IP": 0.25532,
"SO_per_IP": 0.8617,
"HR_per_IP": 0.12766
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.368,
"predicted_H": 1.163,
"predicted_BB": 0.174,
"predicted_SO": 0.847,
"predicted_HR": 0.091,
"predicted_ERA": 3.6116,
"predicted_WHIP": 1.4582
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5385,
"form_weight": 0.4615,
"form_reliability": 0.5538,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.205,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5538,
"prior_weight": 0.4462
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.368,
"final": 0.1698,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.163,
"final": 0.5367,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.174,
"final": 0.0803,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.847,
"final": 1.4679,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.091,
"final": 0.042,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6116,
"final": 3.6116,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4582,
"final": 1.4582,
"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.1554 |
| ESPN Rank | 643 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1652 |
| Avg Velo | 92.6782 |
| Avg Spin | 2287.3980 |
| 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 | 6.5323 |
| Season WHIP | 1.4516 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"opponent": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"edges": {
"quality_edge": 0.0034,
"offense_edge": -0.1087,
"opponent_offense_edge": 0.0013,
"defense_strength": 0.0872,
"opponent_defense_weakness": 0.0979,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9913,
"strikeout": 1.0
},
"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": 25.3,
"bb_percent": 8.8,
"woba": 0.332,
"xwoba": 0.299,
"sweet_spot_percent": 20.3,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 37.3,
"avg_best_speed": 78.2896,
"avg_hyper_speed": 94.4198,
"whiff_percent": 29.7,
"swing_percent": 47.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.2428,
"command_and_miss": 0.3921,
"regression_edge": 0.9429,
"xwoba_edge": 0.4571,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.1857,
"whiff_edge": 0.6,
"bb_edge": 0.075,
"pitch_design_score": 0.1652
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676684",
"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": 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": 24,
"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.1652,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1801,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1554,
"sample_weight": 0.45,
"run_prevention_factor": 0.9868,
"strikeout_factor": 1.0175,
"walk_factor": 0.9973,
"homer_factor": 0.9873,
"woba_minus_xwoba": 0.033,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676684",
"espn_id": 41606,
"player_name": "Will Vest",
"team": "DET",
"role": "pitcher",
"espn_rank": 643,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 643,
"gp_value": 21.0,
"gp_rank": 159,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 6.5322,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 4.0,
"l_rank": 59,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 20.2,
"ip_rank": 361,
"h_value": 22.0,
"h_rank": 290,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 23.0,
"k_rank": 312,
"k_per_9_value": 10.016129,
"k_per_9_rank": 23,
"whip_value": 1.4516,
"whip_rank": null,
"war_value": -0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9941,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9941,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9943,
"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": 10.2,
"ER": 9,
"H": 13,
"BB": 3,
"SO": 12,
"HR": 2,
"ERA": 7.59375,
"WHIP": 1.5,
"K9": 10.125,
"HR9": 1.6875,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-07T00:00:00"
}{
"available": true,
"pitcher_id": "676684",
"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": 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": 24,
"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.1652,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1801,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.092,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4501,
"prior_weight": 0.5499
},
"role": "pitcher",
"player_id": "676684",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 28.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.1,
"ER": 1.2,
"R": 1.2,
"H": 1.8,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 5.6,
"Pitches": 22.6
},
"rates": {
"ERA": 9.0,
"WHIP": 1.8333,
"ER_per_IP": 1.0,
"H_per_IP": 1.5,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 9.0,
"R": 10.0,
"H": 13.0,
"BB": 3.0,
"SO": 12.0,
"HR": 2.0,
"BF": 47.0,
"Pitches": 189.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 1.0,
"H": 1.3,
"BB": 0.3,
"SO": 1.2,
"HR": 0.2,
"BF": 4.7,
"Pitches": 18.9
},
"rates": {
"ERA": 7.5938,
"WHIP": 1.5,
"ER_per_IP": 0.84375,
"H_per_IP": 1.21875,
"BB_per_IP": 0.28125,
"SO_per_IP": 1.125,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 21,
"totals": {
"IP": 20.2,
"ER": 15.0,
"R": 17.0,
"H": 22.0,
"BB": 8.0,
"SO": 23.0,
"HR": 2.0,
"BF": 91.0,
"Pitches": 389.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7143,
"R": 0.8095,
"H": 1.0476,
"BB": 0.381,
"SO": 1.0952,
"HR": 0.0952,
"BF": 4.3333,
"Pitches": 18.5238
},
"rates": {
"ERA": 6.5323,
"WHIP": 1.4516,
"ER_per_IP": 0.72581,
"H_per_IP": 1.06452,
"BB_per_IP": 0.3871,
"SO_per_IP": 1.1129,
"HR_per_IP": 0.09677
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.719,
"predicted_H": 1.202,
"predicted_BB": 0.368,
"predicted_SO": 1.097,
"predicted_HR": 0.162,
"predicted_ERA": 6.0644,
"predicted_WHIP": 1.4714
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5823,
"form_weight": 0.4177,
"form_reliability": 0.4501,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.092,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4501,
"prior_weight": 0.5499
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.719,
"final": 0.3003,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.202,
"final": 0.502,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.368,
"final": 0.736,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.097,
"final": 1.0405,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.162,
"final": 0.0677,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0644,
"final": 6.0644,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4714,
"final": 1.4714,
"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.062 | 0.000 | 0.000 | Hitting_2B | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_AB | 3.060 | 4.000 | 3.000 | Hitting_AB | 3.164 | 1.000 | 0.836 | 3.000 |
| predicted_AVG | 0.258 | 0.250 | 0.333 | Hitting_AVG | 0.225 | 1.000 | 0.025 | -0.750 |
| predicted_BB | 0.271 | 1.000 | 0.000 | Hitting_BB | 0.328 | 0.000 | 0.672 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.790 | 1.000 | 1.000 | Hitting_H | 0.711 | 1.000 | 0.289 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_OBP | 0.330 | 0.400 | 0.333 | Hitting_OBP | 0.305 | 1.000 | 0.095 | -0.600 |
| predicted_R | 0.312 | 0.000 | 0.000 | Hitting_R | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_RBI | 0.590 | 0.000 | 1.000 | Hitting_RBI | 0.570 | 0.000 | -0.570 | 0.000 |
| predicted_SLG | 0.458 | 0.250 | 0.333 | Hitting_SLG | 0.479 | 1.000 | -0.229 | -0.750 |
| predicted_SO | 1.021 | 1.000 | 1.000 | Hitting_SO | 1.234 | 0.000 | -0.234 | 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 | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.0600 -> 4.0000 (boost 0.9400, better) |
| Biggest Deboost | predicted_RBI: 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 | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4580 -> 0.4744 (boost 0.0164, better) | - | Final model input calibrated with local 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.4744 -> 0.4817 (boost 0.0073, better) | predicted_OBP: 0.3337 -> 0.3156 (deboost -0.0181, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_RBI: 0.6109 -> 1.0000 (boost 0.3891, better) | predicted_BB: 0.2627 -> 0.0000 (deboost -0.2627, worse) | AB rounded to 3 (raw=3.06), rates preserved: AVG=0.256 HR/AB=0.060 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3340 -> 0.0000 (deboost -0.3340, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2566 -> 0.3330 (boost 0.0764, better) | predicted_SLG: 0.4817 -> 0.3330 (deboost -0.1487, 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_AB: 3.0000 -> 4.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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4817 (boost 0.1487, better) | predicted_AVG: 0.3330 -> 0.2566 (deboost -0.0764, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681481",
"player_name": "Kerry Carpenter",
"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.062,
"predicted_3B": 0.042,
"predicted_AB": 3.06,
"predicted_AVG": 0.258,
"predicted_BB": 0.271,
"predicted_H": 0.79,
"predicted_HR": 0.17,
"predicted_OBP": 0.33,
"predicted_R": 0.312,
"predicted_RBI": 0.59,
"predicted_SLG": 0.458,
"predicted_SO": 1.021
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0668,
"predicted_3B": 0.0348,
"predicted_AB": 3.0475,
"predicted_AVG": 0.2573,
"predicted_BB": 0.2638,
"predicted_H": 0.7844,
"predicted_HBP": 0.155,
"predicted_HR": 0.1837,
"predicted_OBP": 0.3337,
"predicted_R": 0.3358,
"predicted_RBI": 0.6142,
"predicted_SLG": 0.4744,
"predicted_SO": 0.9727
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.062,
"after": 0.0668,
"delta": 0.0048,
"percent_delta": 0.0774,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0348,
"delta": -0.0072,
"percent_delta": -0.1714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.06,
"after": 3.0475,
"delta": -0.0125,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2573,
"delta": -0.0007,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.2638,
"delta": -0.0072,
"percent_delta": -0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.7844,
"delta": -0.0056,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1837,
"delta": 0.0137,
"percent_delta": 0.0806,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3337,
"delta": 0.0037,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.3358,
"delta": 0.0238,
"percent_delta": 0.0763,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6142,
"delta": 0.0242,
"percent_delta": 0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4744,
"delta": 0.0164,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.021,
"after": 0.9727,
"delta": -0.0483,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_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.458,
"after": 0.4744,
"delta": 0.0164,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0668,
"predicted_3B": 0.0348,
"predicted_AB": 3.0475,
"predicted_AVG": 0.2566,
"predicted_BB": 0.2627,
"predicted_H": 0.7821,
"predicted_HBP": 0.155,
"predicted_HR": 0.1831,
"predicted_OBP": 0.3156,
"predicted_R": 0.334,
"predicted_RBI": 0.6109,
"predicted_SLG": 0.4817,
"predicted_SO": 0.9768
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0668,
"after": 0.0668,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0348,
"after": 0.0348,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0475,
"after": 3.0475,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2573,
"after": 0.2566,
"delta": -0.0007,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2638,
"after": 0.2627,
"delta": -0.0011,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7844,
"after": 0.7821,
"delta": -0.0023,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.155,
"after": 0.155,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1837,
"after": 0.1831,
"delta": -0.0006,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3337,
"after": 0.3156,
"delta": -0.0181,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3358,
"after": 0.334,
"delta": -0.0018,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6142,
"after": 0.6109,
"delta": -0.0033,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4744,
"after": 0.4817,
"delta": 0.0073,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9727,
"after": 0.9768,
"delta": 0.0041,
"percent_delta": 0.0042,
"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.4744,
"after": 0.4817,
"delta": 0.0073,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3337,
"after": 0.3156,
"delta": -0.0181,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.06), rates preserved: AVG=0.256 HR/AB=0.060",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0668,
"after": 0.0,
"delta": -0.0668,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0348,
"after": 0.0,
"delta": -0.0348,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0475,
"after": 3.0,
"delta": -0.0475,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2627,
"after": 0.0,
"delta": -0.2627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7821,
"after": 1.0,
"delta": 0.2179,
"percent_delta": 0.2786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1831,
"after": 0.0,
"delta": -0.1831,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6109,
"after": 1.0,
"delta": 0.3891,
"percent_delta": 0.6369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9768,
"after": 1.0,
"delta": 0.0232,
"percent_delta": 0.0238,
"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_RBI",
"before": 0.6109,
"after": 1.0,
"delta": 0.3891,
"percent_delta": 0.6369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2627,
"after": 0.0,
"delta": -0.2627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.334,
"after": 0.0,
"delta": -0.334,
"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.334,
"after": 0.0,
"delta": -0.334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2566,
"after": 0.333,
"delta": 0.0764,
"percent_delta": 0.2977,
"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.3156,
"after": 0.333,
"delta": 0.0174,
"percent_delta": 0.0551,
"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.4817,
"after": 0.333,
"delta": -0.1487,
"percent_delta": -0.3087,
"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.2566,
"after": 0.333,
"delta": 0.0764,
"percent_delta": 0.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4817,
"after": 0.333,
"delta": -0.1487,
"percent_delta": -0.3087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2566,
"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.3156,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4817,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2566,
"delta": -0.0764,
"percent_delta": -0.2293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.3156,
"delta": -0.0174,
"percent_delta": -0.0521,
"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.4817,
"delta": 0.1487,
"percent_delta": 0.4465,
"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.4817,
"delta": 0.1487,
"percent_delta": 0.4465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2566,
"delta": -0.0764,
"percent_delta": -0.2293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.062,
"after": 0.0,
"delta": -0.062,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.06,
"after": 4.0,
"delta": 0.94,
"percent_delta": 0.3072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2566,
"delta": -0.0014,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 1.0,
"delta": 0.729,
"percent_delta": 2.69,
"direction": "boost",
"projection_effect": "better",
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3156,
"delta": -0.0144,
"percent_delta": -0.0436,
"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.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4817,
"delta": 0.0237,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.021,
"after": 1.0,
"delta": -0.021,
"percent_delta": -0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.06,
"after": 4.0,
"delta": 0.94,
"percent_delta": 0.3072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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.062 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 3.060 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.271 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.312 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.458 | - |
| predicted_SO | 1.021 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.067 | 0.005 |
| predicted_3B | 0.035 | -0.007 |
| predicted_AB | 3.047 | -0.013 |
| predicted_AVG | 0.257 | -0.001 |
| predicted_BB | 0.264 | -0.007 |
| predicted_H | 0.784 | -0.006 |
| predicted_HBP | 0.155 | - |
| predicted_HR | 0.184 | 0.014 |
| predicted_OBP | 0.334 | 0.004 |
| predicted_R | 0.336 | 0.024 |
| predicted_RBI | 0.614 | 0.024 |
| predicted_SLG | 0.474 | 0.016 |
| predicted_SO | 0.973 | -0.048 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.067 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 3.047 | 0.000 |
| predicted_AVG | 0.257 | -0.001 |
| predicted_BB | 0.263 | -0.001 |
| predicted_H | 0.782 | -0.002 |
| predicted_HBP | 0.155 | 0.000 |
| predicted_HR | 0.183 | -0.001 |
| predicted_OBP | 0.316 | -0.018 |
| predicted_R | 0.334 | -0.002 |
| predicted_RBI | 0.611 | -0.003 |
| predicted_SLG | 0.482 | 0.007 |
| predicted_SO | 0.977 | 0.004 |
AB rounded to 3 (raw=3.06), rates preserved: AVG=0.256 HR/AB=0.060
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.067 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 3.000 | -0.047 |
| predicted_AVG | 0.333 | 0.076 |
| predicted_BB | 0.000 | -0.263 |
| predicted_H | 1.000 | 0.218 |
| predicted_HR | 0.000 | -0.183 |
| predicted_OBP | 0.333 | 0.017 |
| predicted_R | 0.000 | -0.334 |
| predicted_RBI | 1.000 | 0.389 |
| predicted_SLG | 0.333 | -0.149 |
| predicted_SO | 1.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 | 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 | 5.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 | 5 | - | 14.000 | 4.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 3.000 | 0.2857 | 0.4118 | 0.5000 | 0.2857 | 0.0714 | 0.2857 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 31.000 | 9.000 | 1.000 | 0.000 | 3.000 | 9.000 | 4.000 | 2.000 | 8.000 | 0.2903 | 0.3611 | 0.6129 | 0.2903 | 0.0968 | 0.2903 | 0.0645 | 0.2581 |
| season | 0.60 | 48 | - | 135.000 | 32.000 | 3.000 | 2.000 | 9.000 | 26.000 | 15.000 | 13.000 | 49.000 | 0.2370 | 0.3161 | 0.4889 | 0.2370 | 0.0667 | 0.1926 | 0.0963 | 0.3630 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0740 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.0290 |
| predicted_AVG | 0.2563 |
| predicted_BB | 0.2530 |
| predicted_H | 0.7760 |
| predicted_HBP | 0.1550 |
| predicted_HR | 0.2040 |
| predicted_OBP | 0.3393 |
| predicted_R | 0.3710 |
| predicted_RBI | 0.6500 |
| predicted_SLG | 0.4987 |
| predicted_SO | 0.9010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0620 | 0.0740 | 0.0668 | model_form_blend |
| predicted_3B | 0.0420 | 0.0240 | 0.0348 | model_form_blend |
| predicted_AB | 3.0600 | 3.0290 | 3.0475 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2563 | 0.2573 | model_form_blend |
| predicted_BB | 0.2710 | 0.2530 | 0.2638 | model_form_blend |
| predicted_H | 0.7900 | 0.7760 | 0.7844 | model_form_blend |
| predicted_HBP | - | 0.1550 | 0.1550 | form_only |
| predicted_HR | 0.1700 | 0.2040 | 0.1837 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3393 | 0.3337 | model_form_blend |
| predicted_R | 0.3120 | 0.3710 | 0.3358 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6500 | 0.6142 | model_form_blend |
| predicted_SLG | 0.4580 | 0.4987 | 0.4744 | model_form_blend |
| predicted_SO | 1.0210 | 0.9010 | 0.9727 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 128 |
| Season rows before report date | 128 |
| Report year | 2026 |
| Profile rows used | 48 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.237 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260613_DET@CLE |
| game_type | ph |
| mlbID | 681481 |
| note | Hit by pitch for Jones, Jah in the 6th. |
| playerID | 681481 |
| playerName | Kerry Carpenter |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 31.6 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.347 |
| sl_xwoba | 0.311 |
| sl_xba | 0.214 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 22.0 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 50.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.224 | 0.000 | 0.000 | Hitting_2B | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_3B | 0.045 | 0.000 | 0.000 | Hitting_3B | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_AB | 4.290 | 5.000 | 4.000 | Hitting_AB | 3.833 | 5.000 | 1.167 | 0.000 |
| predicted_AVG | 0.233 | 0.000 | 0.250 | Hitting_AVG | 0.296 | 0.200 | -0.296 | -0.200 |
| predicted_BB | 0.627 | 0.000 | 1.000 | Hitting_BB | 0.603 | 0.000 | -0.603 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.135 | 1.000 | -1.135 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_OBP | 0.339 | 0.000 | 0.400 | Hitting_OBP | 0.397 | 0.200 | -0.397 | -0.200 |
| predicted_R | 0.642 | 0.000 | 1.000 | Hitting_R | 0.655 | 0.000 | -0.655 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.437 | 0.000 | -0.437 | 0.000 |
| predicted_SLG | 0.382 | 0.000 | 0.250 | Hitting_SLG | 0.432 | 0.200 | -0.432 | -0.200 |
| predicted_SO | 0.582 | 1.000 | 1.000 | Hitting_SO | 0.560 | 0.000 | 0.440 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 4.2900 -> 5.0000 (boost 0.7100, better) |
| 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.2900 -> 4.0806 (deboost -0.2094, 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.3436 -> 0.3361 (deboost -0.0075, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6057 -> 1.0000 (boost 0.3943, worse) | predicted_RBI: 0.3430 -> 0.0000 (deboost -0.3430, worse) | AB rounded to 4 (raw=4.29), rates preserved: AVG=0.222 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6570 -> 1.0000 (boost 0.3430, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3361 -> 0.4000 (boost 0.0639, better) | predicted_SLG: 0.3690 -> 0.2500 (deboost -0.1190, 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_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3690 (boost 0.1190, better) | predicted_OBP: 0.4000 -> 0.3361 (deboost -0.0639, 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.224,
"predicted_3B": 0.045,
"predicted_AB": 4.29,
"predicted_AVG": 0.233,
"predicted_BB": 0.627,
"predicted_H": 1.0,
"predicted_HR": 0.1,
"predicted_OBP": 0.339,
"predicted_R": 0.642,
"predicted_RBI": 0.38,
"predicted_SLG": 0.382,
"predicted_SO": 0.582
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2265,
"predicted_3B": 0.037,
"predicted_AB": 4.0806,
"predicted_AVG": 0.2343,
"predicted_BB": 0.6329,
"predicted_H": 0.956,
"predicted_HBP": 0.02,
"predicted_HR": 0.0843,
"predicted_OBP": 0.3436,
"predicted_R": 0.6606,
"predicted_RBI": 0.3449,
"predicted_SLG": 0.3726,
"predicted_SO": 0.6032
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.224,
"after": 0.2265,
"delta": 0.0025,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.037,
"delta": -0.008,
"percent_delta": -0.1778,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.0806,
"delta": -0.2094,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2343,
"delta": 0.0013,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.627,
"after": 0.6329,
"delta": 0.0059,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.956,
"delta": -0.044,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0843,
"delta": -0.0157,
"percent_delta": -0.157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3436,
"delta": 0.0046,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.642,
"after": 0.6606,
"delta": 0.0186,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3449,
"delta": -0.0351,
"percent_delta": -0.0924,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3726,
"delta": -0.0094,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.582,
"after": 0.6032,
"delta": 0.0212,
"percent_delta": 0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.29,
"after": 4.0806,
"delta": -0.2094,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2265,
"predicted_3B": 0.037,
"predicted_AB": 4.0806,
"predicted_AVG": 0.2336,
"predicted_BB": 0.6302,
"predicted_H": 0.9532,
"predicted_HBP": 0.02,
"predicted_HR": 0.084,
"predicted_OBP": 0.3361,
"predicted_R": 0.657,
"predicted_RBI": 0.343,
"predicted_SLG": 0.369,
"predicted_SO": 0.6057
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2265,
"after": 0.2265,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0806,
"after": 4.0806,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2343,
"after": 0.2336,
"delta": -0.0007,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6329,
"after": 0.6302,
"delta": -0.0027,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.956,
"after": 0.9532,
"delta": -0.0028,
"percent_delta": -0.0029,
"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.0843,
"after": 0.084,
"delta": -0.0003,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3436,
"after": 0.3361,
"delta": -0.0075,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6606,
"after": 0.657,
"delta": -0.0036,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3449,
"after": 0.343,
"delta": -0.0019,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3726,
"after": 0.369,
"delta": -0.0036,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6032,
"after": 0.6057,
"delta": 0.0025,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3436,
"after": 0.3361,
"delta": -0.0075,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.29), rates preserved: AVG=0.222 HR/AB=0.020",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2265,
"after": 0.0,
"delta": -0.2265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0806,
"after": 4.0,
"delta": -0.0806,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6302,
"after": 1.0,
"delta": 0.3698,
"percent_delta": 0.5868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9532,
"after": 1.0,
"delta": 0.0468,
"percent_delta": 0.0491,
"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.084,
"after": 0.0,
"delta": -0.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.343,
"after": 0.0,
"delta": -0.343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6057,
"after": 1.0,
"delta": 0.3943,
"percent_delta": 0.651,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6057,
"after": 1.0,
"delta": 0.3943,
"percent_delta": 0.651,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.657,
"after": 1.0,
"delta": 0.343,
"percent_delta": 0.5221,
"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.657,
"after": 1.0,
"delta": 0.343,
"percent_delta": 0.5221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 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.2336,
"after": 0.25,
"delta": 0.0164,
"percent_delta": 0.0702,
"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.3361,
"after": 0.4,
"delta": 0.0639,
"percent_delta": 0.1901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.25,
"delta": -0.119,
"percent_delta": -0.3225,
"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.3361,
"after": 0.4,
"delta": 0.0639,
"percent_delta": 0.1901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.25,
"delta": -0.119,
"percent_delta": -0.3225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 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": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.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.3361,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.369,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2336,
"delta": -0.0164,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3361,
"delta": -0.0639,
"percent_delta": -0.1597,
"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.369,
"delta": 0.119,
"percent_delta": 0.4761,
"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.369,
"delta": 0.119,
"percent_delta": 0.4761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3361,
"delta": -0.0639,
"percent_delta": -0.1597,
"direction": "deboost",
"projection_effect": "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.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 5.0,
"delta": 0.71,
"percent_delta": 0.1655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2336,
"delta": 0.0006,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3361,
"delta": -0.0029,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.369,
"delta": -0.013,
"percent_delta": -0.034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.582,
"after": 1.0,
"delta": 0.418,
"percent_delta": 0.7182,
"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.29,
"after": 5.0,
"delta": 0.71,
"percent_delta": 0.1655,
"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
},
"has_material_change": true,
"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.045 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.627 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.642 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.382 | - |
| predicted_SO | 0.582 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.227 | 0.003 |
| predicted_3B | 0.037 | -0.008 |
| predicted_AB | 4.081 | -0.209 |
| predicted_AVG | 0.234 | 0.001 |
| predicted_BB | 0.633 | 0.006 |
| predicted_H | 0.956 | -0.044 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.084 | -0.016 |
| predicted_OBP | 0.344 | 0.005 |
| predicted_R | 0.661 | 0.019 |
| predicted_RBI | 0.345 | -0.035 |
| predicted_SLG | 0.373 | -0.009 |
| predicted_SO | 0.603 | 0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.227 | 0.000 |
| predicted_3B | 0.037 | 0.000 |
| predicted_AB | 4.081 | 0.000 |
| predicted_AVG | 0.234 | -0.001 |
| predicted_BB | 0.630 | -0.003 |
| predicted_H | 0.953 | -0.003 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.084 | -0.000 |
| predicted_OBP | 0.336 | -0.008 |
| predicted_R | 0.657 | -0.004 |
| predicted_RBI | 0.343 | -0.002 |
| predicted_SLG | 0.369 | -0.004 |
| predicted_SO | 0.606 | 0.003 |
AB rounded to 4 (raw=4.29), rates preserved: AVG=0.222 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.227 |
| predicted_3B | 0.000 | -0.037 |
| predicted_AB | 4.000 | -0.081 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 1.000 | 0.370 |
| predicted_H | 1.000 | 0.047 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.400 | 0.064 |
| predicted_R | 1.000 | 0.343 |
| predicted_RBI | 0.000 | -0.343 |
| predicted_SLG | 0.250 | -0.119 |
| predicted_SO | 1.000 | 0.394 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 4.000 | 0.1053 | 0.2609 | 0.1579 | 0.1053 | 0.0000 | 0.0000 | 0.2105 | 0.2105 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 3.000 | 0.000 | 1.000 | 3.000 | 8.000 | 7.000 | 5.000 | 0.2308 | 0.3478 | 0.3846 | 0.2308 | 0.0256 | 0.0769 | 0.1795 | 0.1282 |
| season | 0.60 | 67 | - | 251.000 | 70.000 | 15.000 | 3.000 | 4.000 | 24.000 | 43.000 | 42.000 | 39.000 | 0.2789 | 0.3864 | 0.4104 | 0.2789 | 0.0159 | 0.0956 | 0.1673 | 0.1554 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2300 |
| predicted_3B | 0.0260 |
| predicted_AB | 3.7950 |
| predicted_AVG | 0.2360 |
| predicted_BB | 0.6410 |
| predicted_H | 0.8960 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.3499 |
| predicted_R | 0.6860 |
| predicted_RBI | 0.2970 |
| predicted_SLG | 0.3598 |
| predicted_SO | 0.6320 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2240 | 0.2300 | 0.2265 | model_form_blend |
| predicted_3B | 0.0450 | 0.0260 | 0.0370 | model_form_blend |
| predicted_AB | 4.2900 | 3.7950 | 4.0806 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2360 | 0.2343 | model_form_blend |
| predicted_BB | 0.6270 | 0.6410 | 0.6329 | model_form_blend |
| predicted_H | 1.0000 | 0.8960 | 0.9560 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1000 | 0.0630 | 0.0843 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3499 | 0.3436 | model_form_blend |
| predicted_R | 0.6420 | 0.6860 | 0.6606 | model_form_blend |
| predicted_RBI | 0.3800 | 0.2970 | 0.3449 | model_form_blend |
| predicted_SLG | 0.3820 | 0.3598 | 0.3726 | model_form_blend |
| predicted_SO | 0.5820 | 0.6320 | 0.6032 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 252 |
| Season rows before report date | 252 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.279 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS-3B |
| gameID | 20260613_DET@CLE |
| game_type | full |
| mlbID | 805808 |
| playerID | 805808 |
| playerName | Kevin McGonigle |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.356 |
| sl_xwoba | 0.363 |
| sl_xba | 0.268 |
| sl_xslg | 0.446 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 36.7 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 21.8 |
| sl_whiff_percent | 14.4 |
| 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.143 | 1.000 | 0.000 | Hitting_2B | 0.090 | 1.000 | 0.910 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.140 | 4.000 | 4.000 | Hitting_AB | 3.697 | 4.000 | 0.303 | 0.000 |
| predicted_AVG | 0.261 | 0.250 | 0.250 | Hitting_AVG | 0.262 | 0.500 | -0.012 | -0.250 |
| predicted_BB | 0.690 | 1.000 | 1.000 | Hitting_BB | 0.806 | 1.000 | 0.194 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.080 | 1.000 | 1.000 | Hitting_H | 0.968 | 2.000 | 0.032 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.376 | 0.400 | 0.400 | Hitting_OBP | 0.393 | 0.600 | 0.007 | -0.200 |
| predicted_R | 0.619 | 1.000 | 1.000 | Hitting_R | 0.632 | 1.000 | 0.368 | 0.000 |
| predicted_RBI | 0.540 | 1.000 | 1.000 | Hitting_RBI | 0.374 | 0.000 | 0.626 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.441 | 0.500 | 0.250 | Hitting_SLG | 0.349 | 0.750 | 0.151 | -0.250 |
| predicted_SO | 0.762 | 1.000 | 1.000 | Hitting_SO | 0.735 | 0.000 | 0.265 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.1430 -> 1.0000 (boost 0.8570, better) |
| Biggest Deboost | predicted_AB: 4.1400 -> 4.0000 (deboost -0.1400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2610 -> 0.2788 (boost 0.0178, better) | predicted_AB: 4.1400 -> 4.0002 (deboost -0.1398, 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.4547 -> 0.4258 (deboost -0.0289, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_RBI: 0.5404 -> 1.0000 (boost 0.4596, better) | predicted_2B: 0.1811 -> 0.0000 (deboost -0.1811, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.268 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6201 -> 1.0000 (boost 0.3799, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3767 -> 0.4000 (boost 0.0233, better) | predicted_SLG: 0.4258 -> 0.2500 (deboost -0.1758, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4258 (boost 0.1758, better) | predicted_OBP: 0.4000 -> 0.3767 (deboost -0.0233, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "650402",
"player_name": "Gleyber Torres",
"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.143,
"predicted_3B": 0.0,
"predicted_AB": 4.14,
"predicted_AVG": 0.261,
"predicted_BB": 0.69,
"predicted_H": 1.08,
"predicted_HR": 0.14,
"predicted_OBP": 0.376,
"predicted_R": 0.619,
"predicted_RBI": 0.54,
"predicted_SLG": 0.441,
"predicted_SO": 0.762
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1811,
"predicted_3B": 0.0008,
"predicted_AB": 4.0002,
"predicted_AVG": 0.2788,
"predicted_BB": 0.6429,
"predicted_H": 1.1112,
"predicted_HBP": 0.081,
"predicted_HR": 0.138,
"predicted_OBP": 0.3874,
"predicted_R": 0.6235,
"predicted_RBI": 0.5433,
"predicted_SLG": 0.4547,
"predicted_SO": 0.7718
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1811,
"delta": 0.0381,
"percent_delta": 0.2664,
"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": 4.14,
"after": 4.0002,
"delta": -0.1398,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2788,
"delta": 0.0178,
"percent_delta": 0.0682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.69,
"after": 0.6429,
"delta": -0.0471,
"percent_delta": -0.0683,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.1112,
"delta": 0.0312,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.138,
"delta": -0.002,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.376,
"after": 0.3874,
"delta": 0.0114,
"percent_delta": 0.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 0.6235,
"delta": 0.0045,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5433,
"delta": 0.0033,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4547,
"delta": 0.0137,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.762,
"after": 0.7718,
"delta": 0.0098,
"percent_delta": 0.0129,
"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_AVG",
"before": 0.261,
"after": 0.2788,
"delta": 0.0178,
"percent_delta": 0.0682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0002,
"delta": -0.1398,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1811,
"predicted_3B": 0.0008,
"predicted_AB": 4.0002,
"predicted_AVG": 0.277,
"predicted_BB": 0.6402,
"predicted_H": 1.108,
"predicted_HBP": 0.081,
"predicted_HR": 0.1376,
"predicted_OBP": 0.3767,
"predicted_R": 0.6201,
"predicted_RBI": 0.5404,
"predicted_SLG": 0.4258,
"predicted_SO": 0.775
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1811,
"after": 0.1811,
"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.0002,
"after": 4.0002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2788,
"after": 0.277,
"delta": -0.0018,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6429,
"after": 0.6402,
"delta": -0.0027,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1112,
"after": 1.108,
"delta": -0.0032,
"percent_delta": -0.0029,
"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.138,
"after": 0.1376,
"delta": -0.0004,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3874,
"after": 0.3767,
"delta": -0.0107,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6235,
"after": 0.6201,
"delta": -0.0034,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5433,
"after": 0.5404,
"delta": -0.0029,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4547,
"after": 0.4258,
"delta": -0.0289,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7718,
"after": 0.775,
"delta": 0.0032,
"percent_delta": 0.0041,
"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.4547,
"after": 0.4258,
"delta": -0.0289,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.14), rates preserved: AVG=0.268 HR/AB=0.033",
"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.1811,
"after": 0.0,
"delta": -0.1811,
"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.0002,
"after": 4.0,
"delta": -0.0002,
"percent_delta": -0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6402,
"after": 1.0,
"delta": 0.3598,
"percent_delta": 0.562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.108,
"after": 1.0,
"delta": -0.108,
"percent_delta": -0.0975,
"direction": "deboost",
"projection_effect": "worse",
"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.1376,
"after": 0.0,
"delta": -0.1376,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5404,
"after": 1.0,
"delta": 0.4596,
"percent_delta": 0.8505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.775,
"after": 1.0,
"delta": 0.225,
"percent_delta": 0.2903,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5404,
"after": 1.0,
"delta": 0.4596,
"percent_delta": 0.8505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1811,
"after": 0.0,
"delta": -0.1811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6201,
"after": 1.0,
"delta": 0.3799,
"percent_delta": 0.6126,
"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.6201,
"after": 1.0,
"delta": 0.3799,
"percent_delta": 0.6126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.277,
"after": 0.25,
"delta": -0.027,
"percent_delta": -0.0975,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3767,
"after": 0.4,
"delta": 0.0233,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4258,
"after": 0.25,
"delta": -0.1758,
"percent_delta": -0.4129,
"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.3767,
"after": 0.4,
"delta": 0.0233,
"percent_delta": 0.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4258,
"after": 0.25,
"delta": -0.1758,
"percent_delta": -0.4129,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.277,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3767,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4258,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.277,
"delta": 0.027,
"percent_delta": 0.1079,
"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.4,
"after": 0.3767,
"delta": -0.0233,
"percent_delta": -0.0582,
"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.4258,
"delta": 0.1758,
"percent_delta": 0.7033,
"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.4258,
"delta": 0.1758,
"percent_delta": 0.7033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3767,
"delta": -0.0233,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.857,
"percent_delta": 5.993,
"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.14,
"after": 4.0,
"delta": -0.14,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.277,
"delta": 0.016,
"percent_delta": 0.0613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.376,
"after": 0.3767,
"delta": 0.0007,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.619,
"after": 1.0,
"delta": 0.381,
"percent_delta": 0.6155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 1.0,
"delta": 0.46,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4258,
"delta": -0.0152,
"percent_delta": -0.0345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.762,
"after": 1.0,
"delta": 0.238,
"percent_delta": 0.3123,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.143,
"after": 1.0,
"delta": 0.857,
"percent_delta": 5.993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0,
"delta": -0.14,
"percent_delta": -0.0338,
"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.143 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.690 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.376 | - |
| predicted_R | 0.619 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.441 | - |
| predicted_SO | 0.762 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | 0.038 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.000 | -0.140 |
| predicted_AVG | 0.279 | 0.018 |
| predicted_BB | 0.643 | -0.047 |
| predicted_H | 1.111 | 0.031 |
| predicted_HBP | 0.081 | - |
| predicted_HR | 0.138 | -0.002 |
| predicted_OBP | 0.387 | 0.011 |
| predicted_R | 0.624 | 0.005 |
| predicted_RBI | 0.543 | 0.003 |
| predicted_SLG | 0.455 | 0.014 |
| predicted_SO | 0.772 | 0.010 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.000 | 0.000 |
| predicted_AVG | 0.277 | -0.002 |
| predicted_BB | 0.640 | -0.003 |
| predicted_H | 1.108 | -0.003 |
| predicted_HBP | 0.081 | 0.000 |
| predicted_HR | 0.138 | -0.000 |
| predicted_OBP | 0.377 | -0.011 |
| predicted_R | 0.620 | -0.003 |
| predicted_RBI | 0.540 | -0.003 |
| predicted_SLG | 0.426 | -0.029 |
| predicted_SO | 0.775 | 0.003 |
AB rounded to 4 (raw=4.14), rates preserved: AVG=0.268 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.181 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.000 |
| predicted_AVG | 0.250 | -0.027 |
| predicted_BB | 1.000 | 0.360 |
| predicted_H | 1.000 | -0.108 |
| predicted_HR | 0.000 | -0.138 |
| predicted_OBP | 0.400 | 0.023 |
| predicted_R | 1.000 | 0.380 |
| predicted_RBI | 1.000 | 0.460 |
| predicted_SLG | 0.250 | -0.176 |
| predicted_SO | 1.000 | 0.225 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 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 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 3.000 | 3.000 | 3.000 | 0.3684 | 0.4783 | 0.6316 | 0.3684 | 0.0526 | 0.2105 | 0.1579 | 0.1579 |
| last_10 | 0.20 | 10 | - | 40.000 | 14.000 | 4.000 | 0.000 | 2.000 | 7.000 | 8.000 | 4.000 | 10.000 | 0.3500 | 0.4222 | 0.6000 | 0.3500 | 0.0500 | 0.1750 | 0.1000 | 0.2500 |
| season | 0.60 | 42 | - | 156.000 | 44.000 | 6.000 | 0.000 | 4.000 | 18.000 | 26.000 | 29.000 | 32.000 | 0.2821 | 0.3968 | 0.3974 | 0.2821 | 0.0256 | 0.1154 | 0.1859 | 0.2051 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2360 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.7990 |
| predicted_AVG | 0.3044 |
| predicted_BB | 0.5750 |
| predicted_H | 1.1560 |
| predicted_HBP | 0.0810 |
| predicted_HR | 0.1350 |
| predicted_OBP | 0.4038 |
| predicted_R | 0.6300 |
| predicted_RBI | 0.5480 |
| predicted_SLG | 0.4745 |
| predicted_SO | 0.7860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.2360 | 0.1811 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.1400 | 3.7990 | 4.0002 | model_form_blend |
| predicted_AVG | 0.2610 | 0.3044 | 0.2788 | model_form_blend |
| predicted_BB | 0.6900 | 0.5750 | 0.6429 | model_form_blend |
| predicted_H | 1.0800 | 1.1560 | 1.1112 | model_form_blend |
| predicted_HBP | - | 0.0810 | 0.0810 | form_only |
| predicted_HR | 0.1400 | 0.1350 | 0.1380 | model_form_blend |
| predicted_OBP | 0.3760 | 0.4038 | 0.3874 | model_form_blend |
| predicted_R | 0.6190 | 0.6300 | 0.6235 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5480 | 0.5433 | model_form_blend |
| predicted_SLG | 0.4410 | 0.4745 | 0.4547 | model_form_blend |
| predicted_SO | 0.7620 | 0.7860 | 0.7718 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 42 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| 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 | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260613_DET@CLE |
| game_type | full |
| mlbID | 650402 |
| playerID | 650402 |
| playerName | Gleyber Torres |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.359 |
| sl_xwoba | 0.345 |
| sl_xba | 0.257 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 37.3 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 31.7 |
| sl_exit_velocity_avg | 85.3 |
| sl_launch_angle_avg | 7.1 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 39.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.229 | 0.000 | 0.000 | Hitting_2B | 0.266 | 0.000 | -0.266 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.810 | 3.000 | 4.000 | Hitting_AB | 3.645 | 4.000 | -0.645 | -1.000 |
| predicted_AVG | 0.247 | 0.333 | 0.250 | Hitting_AVG | 0.306 | 0.250 | 0.027 | 0.083 |
| predicted_BB | 0.529 | 1.000 | 1.000 | Hitting_BB | 0.560 | 0.000 | 0.440 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 1.117 | 1.000 | -0.117 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_OBP | 0.338 | 0.500 | 0.400 | Hitting_OBP | 0.403 | 0.250 | 0.097 | 0.250 |
| predicted_R | 0.514 | 0.000 | 1.000 | Hitting_R | 0.552 | 0.000 | -0.552 | 0.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_SLG | 0.445 | 0.333 | 0.250 | Hitting_SLG | 0.449 | 0.250 | -0.116 | 0.083 |
| predicted_SO | 1.186 | 1.000 | 1.000 | Hitting_SO | 1.210 | 2.000 | -0.210 | -1.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.5290 -> 1.0000 (boost 0.4710, better) |
| Biggest Deboost | predicted_AB: 3.8100 -> 3.0000 (deboost -0.8100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4450 -> 0.4557 (boost 0.0107, better) | predicted_AB: 3.8100 -> 3.7161 (deboost -0.0939, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4557 -> 0.4607 (boost 0.0050, 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 | 5 | 2 | predicted_BB: 0.5298 -> 1.0000 (boost 0.4702, better) | predicted_SO: 1.2215 -> 1.0000 (deboost -0.2215, better) | AB rounded to 4 (raw=3.81), rates preserved: AVG=0.245 HR/AB=0.051 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5167 -> 1.0000 (boost 0.4833, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3447 -> 0.4000 (boost 0.0553, better) | predicted_SLG: 0.4607 -> 0.2500 (deboost -0.2107, 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: 4.0000 -> 3.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.4607 (boost 0.2107, better) | predicted_OBP: 0.4000 -> 0.3447 (deboost -0.0553, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682985",
"player_name": "Riley Greene",
"position": "LF",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.229,
"predicted_3B": 0.0,
"predicted_AB": 3.81,
"predicted_AVG": 0.247,
"predicted_BB": 0.529,
"predicted_H": 0.94,
"predicted_HR": 0.19,
"predicted_OBP": 0.338,
"predicted_R": 0.514,
"predicted_RBI": 0.55,
"predicted_SLG": 0.445,
"predicted_SO": 1.186
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1914,
"predicted_3B": 0.0004,
"predicted_AB": 3.7161,
"predicted_AVG": 0.2524,
"predicted_BB": 0.532,
"predicted_H": 0.9366,
"predicted_HBP": 0.019,
"predicted_HR": 0.1959,
"predicted_OBP": 0.343,
"predicted_R": 0.5195,
"predicted_RBI": 0.547,
"predicted_SLG": 0.4557,
"predicted_SO": 1.2164
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.1914,
"delta": -0.0376,
"percent_delta": -0.1642,
"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.81,
"after": 3.7161,
"delta": -0.0939,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2524,
"delta": 0.0054,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.529,
"after": 0.532,
"delta": 0.003,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9366,
"delta": -0.0034,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1959,
"delta": 0.0059,
"percent_delta": 0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.343,
"delta": 0.005,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.5195,
"delta": 0.0055,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.547,
"delta": -0.003,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4557,
"delta": 0.0107,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.186,
"after": 1.2164,
"delta": 0.0304,
"percent_delta": 0.0256,
"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_SLG",
"before": 0.445,
"after": 0.4557,
"delta": 0.0107,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.81,
"after": 3.7161,
"delta": -0.0939,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1914,
"predicted_3B": 0.0004,
"predicted_AB": 3.7161,
"predicted_AVG": 0.2513,
"predicted_BB": 0.5298,
"predicted_H": 0.9339,
"predicted_HBP": 0.019,
"predicted_HR": 0.1953,
"predicted_OBP": 0.3447,
"predicted_R": 0.5167,
"predicted_RBI": 0.544,
"predicted_SLG": 0.4607,
"predicted_SO": 1.2215
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1914,
"after": 0.1914,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7161,
"after": 3.7161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2524,
"after": 0.2513,
"delta": -0.0011,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.532,
"after": 0.5298,
"delta": -0.0022,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9366,
"after": 0.9339,
"delta": -0.0027,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1959,
"after": 0.1953,
"delta": -0.0006,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3447,
"delta": 0.0017,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5195,
"after": 0.5167,
"delta": -0.0028,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.547,
"after": 0.544,
"delta": -0.003,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4557,
"after": 0.4607,
"delta": 0.005,
"percent_delta": 0.011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2164,
"after": 1.2215,
"delta": 0.0051,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_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.4557,
"after": 0.4607,
"delta": 0.005,
"percent_delta": 0.011,
"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.81), rates preserved: AVG=0.245 HR/AB=0.051",
"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.1914,
"after": 0.0,
"delta": -0.1914,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7161,
"after": 4.0,
"delta": 0.2839,
"percent_delta": 0.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5298,
"after": 1.0,
"delta": 0.4702,
"percent_delta": 0.8875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9339,
"after": 1.0,
"delta": 0.0661,
"percent_delta": 0.0708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1953,
"after": 0.0,
"delta": -0.1953,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.544,
"after": 1.0,
"delta": 0.456,
"percent_delta": 0.8382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2215,
"after": 1.0,
"delta": -0.2215,
"percent_delta": -0.1813,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 5,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5298,
"after": 1.0,
"delta": 0.4702,
"percent_delta": 0.8875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.2215,
"after": 1.0,
"delta": -0.2215,
"percent_delta": -0.1813,
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5167,
"after": 1.0,
"delta": 0.4833,
"percent_delta": 0.9354,
"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.5167,
"after": 1.0,
"delta": 0.4833,
"percent_delta": 0.9354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2513,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3447,
"after": 0.4,
"delta": 0.0553,
"percent_delta": 0.1604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4607,
"after": 0.25,
"delta": -0.2107,
"percent_delta": -0.4573,
"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.3447,
"after": 0.4,
"delta": 0.0553,
"percent_delta": 0.1604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4607,
"after": 0.25,
"delta": -0.2107,
"percent_delta": -0.4573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2513,
"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.3447,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4607,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2513,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3447,
"delta": -0.0553,
"percent_delta": -0.1382,
"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.4607,
"delta": 0.2107,
"percent_delta": 0.8428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4607,
"delta": 0.2107,
"percent_delta": 0.8428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3447,
"delta": -0.0553,
"percent_delta": -0.1382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.0,
"delta": -0.229,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.81,
"after": 3.0,
"delta": -0.81,
"percent_delta": -0.2126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2513,
"delta": 0.0043,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3447,
"delta": 0.0067,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4607,
"delta": 0.0157,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.186,
"after": 1.0,
"delta": -0.186,
"percent_delta": -0.1568,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.81,
"after": 3.0,
"delta": -0.81,
"percent_delta": -0.2126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.229 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.529 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.445 | - |
| predicted_SO | 1.186 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | -0.038 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.716 | -0.094 |
| predicted_AVG | 0.252 | 0.005 |
| predicted_BB | 0.532 | 0.003 |
| predicted_H | 0.937 | -0.003 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.196 | 0.006 |
| predicted_OBP | 0.343 | 0.005 |
| predicted_R | 0.519 | 0.005 |
| predicted_RBI | 0.547 | -0.003 |
| predicted_SLG | 0.456 | 0.011 |
| predicted_SO | 1.216 | 0.030 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 3.716 | 0.000 |
| predicted_AVG | 0.251 | -0.001 |
| predicted_BB | 0.530 | -0.002 |
| predicted_H | 0.934 | -0.003 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.195 | -0.001 |
| predicted_OBP | 0.345 | 0.002 |
| predicted_R | 0.517 | -0.003 |
| predicted_RBI | 0.544 | -0.003 |
| predicted_SLG | 0.461 | 0.005 |
| predicted_SO | 1.222 | 0.005 |
AB rounded to 4 (raw=3.81), rates preserved: AVG=0.245 HR/AB=0.051
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.191 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.284 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 1.000 | 0.470 |
| predicted_H | 1.000 | 0.066 |
| predicted_HR | 0.000 | -0.195 |
| predicted_OBP | 0.400 | 0.055 |
| predicted_R | 1.000 | 0.483 |
| predicted_RBI | 1.000 | 0.456 |
| predicted_SLG | 0.250 | -0.211 |
| predicted_SO | 1.000 | -0.222 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 3.000 | 8.000 | 0.1765 | 0.2727 | 0.5294 | 0.1765 | 0.1177 | 0.2353 | 0.1765 | 0.4706 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 0.000 | 0.000 | 3.000 | 5.000 | 5.000 | 6.000 | 13.000 | 0.2222 | 0.3182 | 0.4722 | 0.2222 | 0.0833 | 0.1389 | 0.1667 | 0.3611 |
| season | 0.60 | 70 | - | 252.000 | 76.000 | 16.000 | 0.000 | 8.000 | 33.000 | 36.000 | 37.000 | 83.000 | 0.3016 | 0.3925 | 0.4603 | 0.3016 | 0.0318 | 0.1310 | 0.1468 | 0.3294 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1400 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5880 |
| predicted_AVG | 0.2598 |
| predicted_BB | 0.5360 |
| predicted_H | 0.9320 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.2040 |
| predicted_OBP | 0.3499 |
| predicted_R | 0.5270 |
| predicted_RBI | 0.5430 |
| predicted_SLG | 0.4703 |
| predicted_SO | 1.2580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2290 | 0.1400 | 0.1914 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8100 | 3.5880 | 3.7161 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2598 | 0.2524 | model_form_blend |
| predicted_BB | 0.5290 | 0.5360 | 0.5320 | model_form_blend |
| predicted_H | 0.9400 | 0.9320 | 0.9366 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.1900 | 0.2040 | 0.1959 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3499 | 0.3430 | model_form_blend |
| predicted_R | 0.5140 | 0.5270 | 0.5195 | model_form_blend |
| predicted_RBI | 0.5500 | 0.5430 | 0.5470 | model_form_blend |
| predicted_SLG | 0.4450 | 0.4703 | 0.4557 | model_form_blend |
| predicted_SO | 1.1860 | 1.2580 | 1.2164 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 248 |
| Season rows before report date | 248 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.302 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260613_DET@CLE |
| game_type | full |
| mlbID | 682985 |
| playerID | 682985 |
| playerName | Riley Greene |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.373 |
| sl_xwoba | 0.359 |
| sl_xba | 0.26 |
| sl_xslg | 0.46 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 13.2 |
| sl_hard_hit_percent | 50.6 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 30.4 |
| 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.222 | 0.000 | 0.000 | Hitting_2B | 0.225 | 0.000 | -0.225 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.005 | 1.000 | -0.005 | -1.000 |
| predicted_AB | 3.860 | 4.000 | 4.000 | Hitting_AB | 3.739 | 4.000 | 0.261 | 0.000 |
| predicted_AVG | 0.264 | 0.000 | 0.250 | Hitting_AVG | 0.249 | 0.500 | -0.249 | -0.500 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.020 | 0.000 | 1.000 | Hitting_H | 0.931 | 2.000 | -0.931 | -2.000 |
| predicted_HR | 0.210 | 0.000 | 0.000 | Hitting_HR | 0.248 | 0.000 | -0.248 | 0.000 |
| predicted_OBP | 0.340 | 0.000 | 0.250 | Hitting_OBP | 0.334 | 0.500 | -0.334 | -0.500 |
| predicted_R | 0.492 | 0.000 | 1.000 | Hitting_R | 0.463 | 0.000 | -0.463 | 0.000 |
| predicted_RBI | 0.760 | 0.000 | 1.000 | Hitting_RBI | 0.752 | 1.000 | -0.752 | -1.000 |
| predicted_SLG | 0.531 | 0.000 | 0.250 | Hitting_SLG | 0.510 | 1.000 | -0.510 | -1.000 |
| predicted_SO | 0.857 | 0.000 | 1.000 | Hitting_SO | 0.867 | 2.000 | -0.867 | -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_AB: 3.8600 -> 4.0000 (boost 0.1400, better) |
| Biggest Deboost | predicted_H: 1.0200 -> 0.0000 (deboost -1.0200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 5 | 1 | predicted_H: 1.0200 -> 1.0880 (boost 0.0680, better) | - | Final model input calibrated with local 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.5597 -> 0.5370 (deboost -0.0227, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.8148 -> 1.0000 (boost 0.1852, better) | predicted_BB: 0.3002 -> 0.0000 (deboost -0.3002, worse) | AB rounded to 4 (raw=3.89), rates preserved: AVG=0.279 HR/AB=0.061 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5186 -> 1.0000 (boost 0.4814, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5370 -> 0.2500 (deboost -0.2870, 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_H: 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.5370 (boost 0.2870, better) | - | 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.016,
"predicted_AB": 3.86,
"predicted_AVG": 0.264,
"predicted_BB": 0.333,
"predicted_H": 1.02,
"predicted_HR": 0.21,
"predicted_OBP": 0.34,
"predicted_R": 0.492,
"predicted_RBI": 0.76,
"predicted_SLG": 0.531,
"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.2312,
"predicted_3B": 0.034,
"predicted_AB": 3.894,
"predicted_AVG": 0.279,
"predicted_BB": 0.3015,
"predicted_H": 1.088,
"predicted_HBP": 0.067,
"predicted_HR": 0.2364,
"predicted_OBP": 0.3453,
"predicted_R": 0.5214,
"predicted_RBI": 0.8192,
"predicted_SLG": 0.5597,
"predicted_SO": 0.9103
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2312,
"delta": 0.0092,
"percent_delta": 0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.034,
"delta": 0.018,
"percent_delta": 1.125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 3.894,
"delta": 0.034,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.279,
"delta": 0.015,
"percent_delta": 0.0568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3015,
"delta": -0.0315,
"percent_delta": -0.0946,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.088,
"delta": 0.068,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.2364,
"delta": 0.0264,
"percent_delta": 0.1257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3453,
"delta": 0.0053,
"percent_delta": 0.0156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.5214,
"delta": 0.0294,
"percent_delta": 0.0598,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.76,
"after": 0.8192,
"delta": 0.0592,
"percent_delta": 0.0779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.531,
"after": 0.5597,
"delta": 0.0287,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.857,
"after": 0.9103,
"delta": 0.0533,
"percent_delta": 0.0622,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.02,
"after": 1.088,
"delta": 0.068,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2312,
"predicted_3B": 0.034,
"predicted_AB": 3.894,
"predicted_AVG": 0.2786,
"predicted_BB": 0.3002,
"predicted_H": 1.0848,
"predicted_HBP": 0.067,
"predicted_HR": 0.2357,
"predicted_OBP": 0.3302,
"predicted_R": 0.5186,
"predicted_RBI": 0.8148,
"predicted_SLG": 0.537,
"predicted_SO": 0.9141
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2312,
"after": 0.2312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.894,
"after": 3.894,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.279,
"after": 0.2786,
"delta": -0.0004,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3015,
"after": 0.3002,
"delta": -0.0013,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.088,
"after": 1.0848,
"delta": -0.0032,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2364,
"after": 0.2357,
"delta": -0.0007,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3453,
"after": 0.3302,
"delta": -0.0151,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5214,
"after": 0.5186,
"delta": -0.0028,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8192,
"after": 0.8148,
"delta": -0.0044,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5597,
"after": 0.537,
"delta": -0.0227,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9103,
"after": 0.9141,
"delta": 0.0038,
"percent_delta": 0.0042,
"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.5597,
"after": 0.537,
"delta": -0.0227,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.89), rates preserved: AVG=0.279 HR/AB=0.061",
"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.2312,
"after": 0.0,
"delta": -0.2312,
"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": 3.894,
"after": 4.0,
"delta": 0.106,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3002,
"after": 0.0,
"delta": -0.3002,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0848,
"after": 1.0,
"delta": -0.0848,
"percent_delta": -0.0782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2357,
"after": 0.0,
"delta": -0.2357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8148,
"after": 1.0,
"delta": 0.1852,
"percent_delta": 0.2273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9141,
"after": 1.0,
"delta": 0.0859,
"percent_delta": 0.094,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.8148,
"after": 1.0,
"delta": 0.1852,
"percent_delta": 0.2273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3002,
"after": 0.0,
"delta": -0.3002,
"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.5186,
"after": 1.0,
"delta": 0.4814,
"percent_delta": 0.9283,
"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.5186,
"after": 1.0,
"delta": 0.4814,
"percent_delta": 0.9283,
"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.2786,
"after": 0.25,
"delta": -0.0286,
"percent_delta": -0.1027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3302,
"after": 0.25,
"delta": -0.0802,
"percent_delta": -0.2429,
"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.537,
"after": 0.25,
"delta": -0.287,
"percent_delta": -0.5345,
"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.537,
"after": 0.25,
"delta": -0.287,
"percent_delta": -0.5345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.2786,
"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.3302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.537,
"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.2786,
"delta": 0.0286,
"percent_delta": 0.1144,
"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.3302,
"delta": 0.0802,
"percent_delta": 0.3209,
"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.537,
"delta": 0.287,
"percent_delta": 1.148,
"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.537,
"delta": 0.287,
"percent_delta": 1.148,
"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.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 4.0,
"delta": 0.14,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2786,
"delta": 0.0146,
"percent_delta": 0.0553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"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.34,
"after": 0.3302,
"delta": -0.0098,
"percent_delta": -0.0288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.76,
"after": 0.0,
"delta": -0.76,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.531,
"after": 0.537,
"delta": 0.006,
"percent_delta": 0.0113,
"direction": "boost",
"projection_effect": "better",
"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": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.86,
"after": 4.0,
"delta": 0.14,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.02,
"after": 0.0,
"delta": -1.02,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.760 | - |
| predicted_SLG | 0.531 | - |
| 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.231 | 0.009 |
| predicted_3B | 0.034 | 0.018 |
| predicted_AB | 3.894 | 0.034 |
| predicted_AVG | 0.279 | 0.015 |
| predicted_BB | 0.301 | -0.032 |
| predicted_H | 1.088 | 0.068 |
| predicted_HBP | 0.067 | - |
| predicted_HR | 0.236 | 0.026 |
| predicted_OBP | 0.345 | 0.005 |
| predicted_R | 0.521 | 0.029 |
| predicted_RBI | 0.819 | 0.059 |
| predicted_SLG | 0.560 | 0.029 |
| predicted_SO | 0.910 | 0.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.231 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 3.894 | 0.000 |
| predicted_AVG | 0.279 | -0.000 |
| predicted_BB | 0.300 | -0.001 |
| predicted_H | 1.085 | -0.003 |
| predicted_HBP | 0.067 | 0.000 |
| predicted_HR | 0.236 | -0.001 |
| predicted_OBP | 0.330 | -0.015 |
| predicted_R | 0.519 | -0.003 |
| predicted_RBI | 0.815 | -0.004 |
| predicted_SLG | 0.537 | -0.023 |
| predicted_SO | 0.914 | 0.004 |
AB rounded to 4 (raw=3.89), rates preserved: AVG=0.279 HR/AB=0.061
| 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.231 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 4.000 | 0.106 |
| predicted_AVG | 0.250 | -0.029 |
| predicted_BB | 0.000 | -0.300 |
| predicted_H | 1.000 | -0.085 |
| predicted_HR | 0.000 | -0.236 |
| predicted_OBP | 0.250 | -0.080 |
| predicted_R | 1.000 | 0.481 |
| predicted_RBI | 1.000 | 0.185 |
| predicted_SLG | 0.250 | -0.287 |
| predicted_SO | 1.000 | 0.086 |
Attached 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 | -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 | - | 23.000 | 10.000 | 2.000 | 1.000 | 2.000 | 6.000 | 4.000 | 0.000 | 8.000 | 0.4348 | 0.4348 | 0.8696 | 0.4348 | 0.0870 | 0.2609 | 0.0000 | 0.3478 |
| last_10 | 0.20 | 10 | - | 41.000 | 13.000 | 2.000 | 1.000 | 3.000 | 12.000 | 6.000 | 2.000 | 9.000 | 0.3171 | 0.3556 | 0.6341 | 0.3171 | 0.0732 | 0.2927 | 0.0488 | 0.2195 |
| season | 0.60 | 63 | - | 232.000 | 60.000 | 14.000 | 1.000 | 16.000 | 50.000 | 31.000 | 21.000 | 54.000 | 0.2586 | 0.3320 | 0.5345 | 0.2586 | 0.0690 | 0.2155 | 0.0905 | 0.2328 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2440 |
| predicted_3B | 0.0590 |
| predicted_AB | 3.9410 |
| predicted_AVG | 0.2998 |
| predicted_BB | 0.2580 |
| predicted_H | 1.1820 |
| predicted_HBP | 0.0670 |
| predicted_HR | 0.2730 |
| predicted_OBP | 0.3527 |
| predicted_R | 0.5620 |
| predicted_RBI | 0.9010 |
| predicted_SLG | 0.5994 |
| predicted_SO | 0.9840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.2440 | 0.2312 | model_form_blend |
| predicted_3B | 0.0160 | 0.0590 | 0.0340 | model_form_blend |
| predicted_AB | 3.8600 | 3.9410 | 3.8940 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2998 | 0.2790 | model_form_blend |
| predicted_BB | 0.3330 | 0.2580 | 0.3015 | model_form_blend |
| predicted_H | 1.0200 | 1.1820 | 1.0880 | model_form_blend |
| predicted_HBP | - | 0.0670 | 0.0670 | form_only |
| predicted_HR | 0.2100 | 0.2730 | 0.2364 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3527 | 0.3453 | model_form_blend |
| predicted_R | 0.4920 | 0.5620 | 0.5214 | model_form_blend |
| predicted_RBI | 0.7600 | 0.9010 | 0.8192 | model_form_blend |
| predicted_SLG | 0.5310 | 0.5994 | 0.5597 | model_form_blend |
| predicted_SO | 0.8570 | 0.9840 | 0.9103 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 1 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| 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 | C |
| gameID | 20260613_DET@CLE |
| game_type | full |
| mlbID | 693307 |
| playerID | 693307 |
| playerName | Dillon Dingler |
| pos | C |
| started | True |
| startingPosition | C |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.369 |
| sl_xwoba | 0.396 |
| sl_xba | 0.291 |
| sl_xslg | 0.559 |
| sl_sweet_spot_percent | 41.8 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 51.6 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 17.4 |
| sl_whiff_percent | 21.2 |
| 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.125 | 0.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.000 | 4.000 | 3.000 | Hitting_AB | 3.223 | 1.000 | 0.777 | 3.000 |
| predicted_AVG | 0.245 | 0.250 | 0.333 | Hitting_AVG | 0.277 | 0.000 | -0.027 | 0.250 |
| predicted_BB | 0.172 | 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.730 | 1.000 | 1.000 | Hitting_H | 0.891 | 0.000 | 0.109 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_OBP | 0.274 | 0.250 | 0.333 | Hitting_OBP | 0.323 | 0.000 | -0.073 | 0.250 |
| predicted_R | 0.375 | 1.000 | 0.000 | Hitting_R | 0.394 | 0.000 | 0.606 | 1.000 |
| predicted_RBI | 0.350 | 2.000 | 0.000 | Hitting_RBI | 0.149 | 0.000 | 1.851 | 2.000 |
| predicted_SLG | 0.363 | 0.250 | 0.333 | Hitting_SLG | 0.349 | 0.000 | -0.099 | 0.250 |
| predicted_SO | 0.656 | 1.000 | 1.000 | Hitting_SO | 0.760 | 0.000 | 0.240 | 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.3500 -> 2.0000 (boost 1.6500, better) |
| Biggest Deboost | predicted_BB: 0.1720 -> 0.0000 (deboost -0.1720, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2450 -> 0.2319 (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 | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3541 -> 0.3725 (boost 0.0184, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6529 -> 1.0000 (boost 0.3471, worse) | predicted_RBI: 0.3255 -> 0.0000 (deboost -0.3255, worse) | AB rounded to 3 (raw=3.02), rates preserved: AVG=0.230 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3763 -> 0.0000 (deboost -0.3763, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2302 -> 0.3330 (boost 0.1028, better) | predicted_SLG: 0.3725 -> 0.3330 (deboost -0.0395, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3725 (boost 0.0395, better) | predicted_AVG: 0.3330 -> 0.2302 (deboost -0.1028, 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.125,
"predicted_3B": 0.031,
"predicted_AB": 3.0,
"predicted_AVG": 0.245,
"predicted_BB": 0.172,
"predicted_H": 0.73,
"predicted_HR": 0.09,
"predicted_OBP": 0.274,
"predicted_R": 0.375,
"predicted_RBI": 0.35,
"predicted_SLG": 0.363,
"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.1093,
"predicted_3B": 0.0331,
"predicted_AB": 3.0218,
"predicted_AVG": 0.2319,
"predicted_BB": 0.1749,
"predicted_H": 0.6975,
"predicted_HBP": 0.012,
"predicted_HR": 0.0851,
"predicted_OBP": 0.268,
"predicted_R": 0.3783,
"predicted_RBI": 0.3273,
"predicted_SLG": 0.3541,
"predicted_SO": 0.6502
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1093,
"delta": -0.0157,
"percent_delta": -0.1256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0331,
"delta": 0.0021,
"percent_delta": 0.0677,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0218,
"delta": 0.0218,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2319,
"delta": -0.0131,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 0.1749,
"delta": 0.0029,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.6975,
"delta": -0.0325,
"percent_delta": -0.0445,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0851,
"delta": -0.0049,
"percent_delta": -0.0544,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.268,
"delta": -0.006,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.3783,
"delta": 0.0033,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3273,
"delta": -0.0227,
"percent_delta": -0.0649,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3541,
"delta": -0.0089,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.656,
"after": 0.6502,
"delta": -0.0058,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.245,
"after": 0.2319,
"delta": -0.0131,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 64
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1093,
"predicted_3B": 0.0331,
"predicted_AB": 3.0218,
"predicted_AVG": 0.2302,
"predicted_BB": 0.1742,
"predicted_H": 0.6955,
"predicted_HBP": 0.012,
"predicted_HR": 0.0848,
"predicted_OBP": 0.2721,
"predicted_R": 0.3763,
"predicted_RBI": 0.3255,
"predicted_SLG": 0.3725,
"predicted_SO": 0.6529
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1093,
"after": 0.1093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0331,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0218,
"after": 3.0218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2319,
"after": 0.2302,
"delta": -0.0017,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1749,
"after": 0.1742,
"delta": -0.0007,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6975,
"after": 0.6955,
"delta": -0.002,
"percent_delta": -0.0029,
"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.0851,
"after": 0.0848,
"delta": -0.0003,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.2721,
"delta": 0.0041,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3783,
"after": 0.3763,
"delta": -0.002,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3273,
"after": 0.3255,
"delta": -0.0018,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3541,
"after": 0.3725,
"delta": 0.0184,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6502,
"after": 0.6529,
"delta": 0.0027,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_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.3541,
"after": 0.3725,
"delta": 0.0184,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.02), rates preserved: AVG=0.230 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1093,
"after": 0.0,
"delta": -0.1093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0,
"delta": -0.0331,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0218,
"after": 3.0,
"delta": -0.0218,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1742,
"after": 0.0,
"delta": -0.1742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6955,
"after": 1.0,
"delta": 0.3045,
"percent_delta": 0.4378,
"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.0848,
"after": 0.0,
"delta": -0.0848,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3255,
"after": 0.0,
"delta": -0.3255,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6529,
"after": 1.0,
"delta": 0.3471,
"percent_delta": 0.5316,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6529,
"after": 1.0,
"delta": 0.3471,
"percent_delta": 0.5316,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3255,
"after": 0.0,
"delta": -0.3255,
"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.3763,
"after": 0.0,
"delta": -0.3763,
"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.3763,
"after": 0.0,
"delta": -0.3763,
"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.2302,
"after": 0.333,
"delta": 0.1028,
"percent_delta": 0.4466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2721,
"after": 0.333,
"delta": 0.0609,
"percent_delta": 0.2238,
"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.3725,
"after": 0.333,
"delta": -0.0395,
"percent_delta": -0.106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.333,
"delta": 0.1028,
"percent_delta": 0.4466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3725,
"after": 0.333,
"delta": -0.0395,
"percent_delta": -0.106,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"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": 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.2302,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2721,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3725,
"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.333,
"after": 0.2302,
"delta": -0.1028,
"percent_delta": -0.3088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2721,
"delta": -0.0609,
"percent_delta": -0.1829,
"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.3725,
"delta": 0.0395,
"percent_delta": 0.1185,
"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.3725,
"delta": 0.0395,
"percent_delta": 0.1185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2302,
"delta": -0.1028,
"percent_delta": -0.3088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2302,
"delta": -0.0148,
"percent_delta": -0.0604,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 1.0,
"delta": 0.27,
"percent_delta": 0.3699,
"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.274,
"after": 0.2721,
"delta": -0.0019,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 2.0,
"delta": 1.65,
"percent_delta": 4.7143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3725,
"delta": 0.0095,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.656,
"after": 1.0,
"delta": 0.344,
"percent_delta": 0.5244,
"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.35,
"after": 2.0,
"delta": 1.65,
"percent_delta": 4.7143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.172 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.375 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.363 | - |
| 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.109 | -0.016 |
| predicted_3B | 0.033 | 0.002 |
| predicted_AB | 3.022 | 0.022 |
| predicted_AVG | 0.232 | -0.013 |
| predicted_BB | 0.175 | 0.003 |
| predicted_H | 0.698 | -0.032 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.085 | -0.005 |
| predicted_OBP | 0.268 | -0.006 |
| predicted_R | 0.378 | 0.003 |
| predicted_RBI | 0.327 | -0.023 |
| predicted_SLG | 0.354 | -0.009 |
| predicted_SO | 0.650 | -0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.022 | 0.000 |
| predicted_AVG | 0.230 | -0.002 |
| predicted_BB | 0.174 | -0.001 |
| predicted_H | 0.696 | -0.002 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.085 | -0.000 |
| predicted_OBP | 0.272 | 0.004 |
| predicted_R | 0.376 | -0.002 |
| predicted_RBI | 0.326 | -0.002 |
| predicted_SLG | 0.372 | 0.018 |
| predicted_SO | 0.653 | 0.003 |
AB rounded to 3 (raw=3.02), rates preserved: AVG=0.230 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.109 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 3.000 | -0.022 |
| predicted_AVG | 0.333 | 0.103 |
| predicted_BB | 0.000 | -0.174 |
| predicted_H | 1.000 | 0.304 |
| predicted_HR | 0.000 | -0.085 |
| predicted_OBP | 0.333 | 0.061 |
| predicted_R | 0.000 | -0.376 |
| predicted_RBI | 0.000 | -0.326 |
| predicted_SLG | 0.333 | -0.039 |
| predicted_SO | 1.000 | 0.347 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 2.000 | 0.1429 | 0.2000 | 0.3571 | 0.1429 | 0.0714 | 0.2143 | 0.0714 | 0.1429 |
| last_10 | 0.20 | 10 | - | 30.000 | 4.000 | 0.000 | 1.000 | 1.000 | 3.000 | 3.000 | 1.000 | 7.000 | 0.1333 | 0.1613 | 0.3000 | 0.1333 | 0.0333 | 0.1000 | 0.0333 | 0.2333 |
| season | 0.60 | 64 | - | 189.000 | 48.000 | 8.000 | 2.000 | 1.000 | 9.000 | 24.000 | 11.000 | 42.000 | 0.2540 | 0.2985 | 0.3333 | 0.2540 | 0.0053 | 0.0476 | 0.0582 | 0.2222 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0870 |
| predicted_3B | 0.0360 |
| predicted_AB | 3.0530 |
| predicted_AVG | 0.2132 |
| predicted_BB | 0.1790 |
| predicted_H | 0.6510 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0780 |
| predicted_OBP | 0.2594 |
| predicted_R | 0.3830 |
| predicted_RBI | 0.2950 |
| predicted_SLG | 0.3415 |
| predicted_SO | 0.6420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.0870 | 0.1093 | model_form_blend |
| predicted_3B | 0.0310 | 0.0360 | 0.0331 | model_form_blend |
| predicted_AB | 3.0000 | 3.0530 | 3.0218 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2132 | 0.2319 | model_form_blend |
| predicted_BB | 0.1720 | 0.1790 | 0.1749 | model_form_blend |
| predicted_H | 0.7300 | 0.6510 | 0.6975 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0900 | 0.0780 | 0.0851 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2594 | 0.2680 | model_form_blend |
| predicted_R | 0.3750 | 0.3830 | 0.3783 | model_form_blend |
| predicted_RBI | 0.3500 | 0.2950 | 0.3273 | model_form_blend |
| predicted_SLG | 0.3630 | 0.3415 | 0.3541 | model_form_blend |
| predicted_SO | 0.6560 | 0.6420 | 0.6502 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 175 |
| Season rows before report date | 175 |
| Report year | 2026 |
| Profile rows used | 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260613_DET@CLE |
| game_type | ph |
| mlbID | 690993 |
| note | Flied out for Pérez, W in the 6th. |
| playerID | 690993 |
| playerName | Colt Keith |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.284 |
| sl_xwoba | 0.306 |
| sl_xba | 0.261 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 41.3 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 43.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.203 | 1.000 | 0.000 | Hitting_2B | 0.231 | 0.000 | 0.769 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.377 | 4.000 | 3.000 | Hitting_AB | 3.476 | 4.000 | 0.524 | 0.000 |
| predicted_AVG | 0.230 | 0.500 | 0.333 | Hitting_AVG | 0.209 | 0.000 | 0.291 | 0.500 |
| predicted_BB | 0.435 | 0.000 | 0.000 | Hitting_BB | 0.480 | 0.000 | -0.480 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.760 | 2.000 | 1.000 | Hitting_H | 0.725 | 0.000 | 1.275 | 2.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_OBP | 0.297 | 0.500 | 0.333 | Hitting_OBP | 0.312 | 0.000 | 0.188 | 0.500 |
| predicted_R | 0.362 | 1.000 | 0.000 | Hitting_R | 0.362 | 0.000 | 0.638 | 1.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.380 | 0.000 | -0.380 | 0.000 |
| predicted_SLG | 0.423 | 0.750 | 0.333 | Hitting_SLG | 0.407 | 0.000 | 0.343 | 0.750 |
| predicted_SO | 1.304 | 0.000 | 1.000 | Hitting_SO | 1.336 | 3.000 | -1.336 | -3.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.7600 -> 2.0000 (boost 1.2400, better) |
| Biggest Deboost | predicted_SO: 1.3040 -> 0.0000 (deboost -1.3040, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 1 | 2 | predicted_SO: 1.3040 -> 1.3562 (boost 0.0522, worse) | predicted_AVG: 0.2300 -> 0.2195 (deboost -0.0105, 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_SLG: 0.4328 -> 0.4445 (boost 0.0117, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.7343 -> 1.0000 (boost 0.2657, better) | predicted_RBI: 0.4651 -> 0.0000 (deboost -0.4651, worse) | AB rounded to 3 (raw=3.40), rates preserved: AVG=0.216 HR/AB=0.059 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4094 -> 0.0000 (deboost -0.4094, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2159 -> 0.3330 (boost 0.1171, better) | predicted_SLG: 0.4445 -> 0.3330 (deboost -0.1115, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4445 (boost 0.1115, better) | predicted_AVG: 0.3330 -> 0.2159 (deboost -0.1171, 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.203,
"predicted_3B": 0.0,
"predicted_AB": 3.377,
"predicted_AVG": 0.23,
"predicted_BB": 0.435,
"predicted_H": 0.76,
"predicted_HR": 0.18,
"predicted_OBP": 0.297,
"predicted_R": 0.362,
"predicted_RBI": 0.46,
"predicted_SLG": 0.423,
"predicted_SO": 1.304
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.0004,
"predicted_AB": 3.401,
"predicted_AVG": 0.2195,
"predicted_BB": 0.4169,
"predicted_H": 0.7364,
"predicted_HBP": 0.035,
"predicted_HR": 0.1998,
"predicted_OBP": 0.2943,
"predicted_R": 0.4116,
"predicted_RBI": 0.4676,
"predicted_SLG": 0.4328,
"predicted_SO": 1.3562
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.179,
"delta": -0.024,
"percent_delta": -0.1182,
"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.377,
"after": 3.401,
"delta": 0.024,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2195,
"delta": -0.0105,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.435,
"after": 0.4169,
"delta": -0.0181,
"percent_delta": -0.0416,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7364,
"delta": -0.0236,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1998,
"delta": 0.0198,
"percent_delta": 0.11,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2943,
"delta": -0.0027,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.362,
"after": 0.4116,
"delta": 0.0496,
"percent_delta": 0.137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4676,
"delta": 0.0076,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4328,
"delta": 0.0098,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.304,
"after": 1.3562,
"delta": 0.0522,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.304,
"after": 1.3562,
"delta": 0.0522,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2195,
"delta": -0.0105,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.179,
"predicted_3B": 0.0004,
"predicted_AB": 3.401,
"predicted_AVG": 0.2159,
"predicted_BB": 0.4151,
"predicted_H": 0.7343,
"predicted_HBP": 0.035,
"predicted_HR": 0.1992,
"predicted_OBP": 0.3012,
"predicted_R": 0.4094,
"predicted_RBI": 0.4651,
"predicted_SLG": 0.4445,
"predicted_SO": 1.3619
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.179,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.401,
"after": 3.401,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2195,
"after": 0.2159,
"delta": -0.0036,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4169,
"after": 0.4151,
"delta": -0.0018,
"percent_delta": -0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7364,
"after": 0.7343,
"delta": -0.0021,
"percent_delta": -0.0029,
"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.1998,
"after": 0.1992,
"delta": -0.0006,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2943,
"after": 0.3012,
"delta": 0.0069,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4116,
"after": 0.4094,
"delta": -0.0022,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4676,
"after": 0.4651,
"delta": -0.0025,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4328,
"after": 0.4445,
"delta": 0.0117,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3562,
"after": 1.3619,
"delta": 0.0057,
"percent_delta": 0.0042,
"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.4328,
"after": 0.4445,
"delta": 0.0117,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.40), rates preserved: AVG=0.216 HR/AB=0.059",
"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.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.401,
"after": 3.0,
"delta": -0.401,
"percent_delta": -0.1179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4151,
"after": 0.0,
"delta": -0.4151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7343,
"after": 1.0,
"delta": 0.2657,
"percent_delta": 0.3618,
"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.1992,
"after": 0.0,
"delta": -0.1992,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4651,
"after": 0.0,
"delta": -0.4651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3619,
"after": 1.0,
"delta": -0.3619,
"percent_delta": -0.2657,
"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.7343,
"after": 1.0,
"delta": 0.2657,
"percent_delta": 0.3618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4651,
"after": 0.0,
"delta": -0.4651,
"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.4094,
"after": 0.0,
"delta": -0.4094,
"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.4094,
"after": 0.0,
"delta": -0.4094,
"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.2159,
"after": 0.333,
"delta": 0.1171,
"percent_delta": 0.5424,
"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.3012,
"after": 0.333,
"delta": 0.0318,
"percent_delta": 0.1056,
"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.4445,
"after": 0.333,
"delta": -0.1115,
"percent_delta": -0.2508,
"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.2159,
"after": 0.333,
"delta": 0.1171,
"percent_delta": 0.5424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4445,
"after": 0.333,
"delta": -0.1115,
"percent_delta": -0.2508,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 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": 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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2159,
"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.3012,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4445,
"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.333,
"after": 0.2159,
"delta": -0.1171,
"percent_delta": -0.3517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3012,
"delta": -0.0318,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4445,
"delta": 0.1115,
"percent_delta": 0.3347,
"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.4445,
"delta": 0.1115,
"percent_delta": 0.3347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2159,
"delta": -0.1171,
"percent_delta": -0.3517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.377,
"after": 4.0,
"delta": 0.623,
"percent_delta": 0.1845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2159,
"delta": -0.0141,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0.76,
"after": 2.0,
"delta": 1.24,
"percent_delta": 1.6316,
"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.297,
"after": 0.3012,
"delta": 0.0042,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.362,
"after": 1.0,
"delta": 0.638,
"percent_delta": 1.7624,
"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.423,
"after": 0.4445,
"delta": 0.0215,
"percent_delta": 0.0508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.304,
"after": 0.0,
"delta": -1.304,
"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.76,
"after": 2.0,
"delta": 1.24,
"percent_delta": 1.6316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.304,
"after": 0.0,
"delta": -1.304,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.377 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.435 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.362 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 1.304 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | -0.024 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.401 | 0.024 |
| predicted_AVG | 0.220 | -0.011 |
| predicted_BB | 0.417 | -0.018 |
| predicted_H | 0.736 | -0.024 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.200 | 0.020 |
| predicted_OBP | 0.294 | -0.003 |
| predicted_R | 0.412 | 0.050 |
| predicted_RBI | 0.468 | 0.008 |
| predicted_SLG | 0.433 | 0.010 |
| predicted_SO | 1.356 | 0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.401 | 0.000 |
| predicted_AVG | 0.216 | -0.004 |
| predicted_BB | 0.415 | -0.002 |
| predicted_H | 0.734 | -0.002 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.199 | -0.001 |
| predicted_OBP | 0.301 | 0.007 |
| predicted_R | 0.409 | -0.002 |
| predicted_RBI | 0.465 | -0.003 |
| predicted_SLG | 0.445 | 0.012 |
| predicted_SO | 1.362 | 0.006 |
AB rounded to 3 (raw=3.40), rates preserved: AVG=0.216 HR/AB=0.059
| 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.179 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.401 |
| predicted_AVG | 0.333 | 0.117 |
| predicted_BB | 0.000 | -0.415 |
| predicted_H | 1.000 | 0.266 |
| predicted_HR | 0.000 | -0.199 |
| predicted_OBP | 0.333 | 0.032 |
| predicted_R | 0.000 | -0.409 |
| predicted_RBI | 0.000 | -0.465 |
| predicted_SLG | 0.333 | -0.111 |
| predicted_SO | 1.000 | -0.362 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 2.000 | 10.000 | 0.1765 | 0.2632 | 0.5294 | 0.1765 | 0.1177 | 0.1765 | 0.1177 | 0.5882 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 1.000 | 0.000 | 3.000 | 6.000 | 7.000 | 3.000 | 15.000 | 0.2059 | 0.2632 | 0.5000 | 0.2059 | 0.0882 | 0.1765 | 0.0882 | 0.4412 |
| season | 0.60 | 69 | - | 233.000 | 48.000 | 14.000 | 0.000 | 11.000 | 27.000 | 25.000 | 30.000 | 90.000 | 0.2060 | 0.3048 | 0.4077 | 0.2060 | 0.0472 | 0.1159 | 0.1288 | 0.3863 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.4340 |
| predicted_AVG | 0.2051 |
| predicted_BB | 0.3920 |
| predicted_H | 0.7040 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.2270 |
| predicted_OBP | 0.2907 |
| predicted_R | 0.4800 |
| predicted_RBI | 0.4780 |
| predicted_SLG | 0.4464 |
| predicted_SO | 1.4280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1460 | 0.1790 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.3770 | 3.4340 | 3.4010 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2051 | 0.2195 | model_form_blend |
| predicted_BB | 0.4350 | 0.3920 | 0.4169 | model_form_blend |
| predicted_H | 0.7600 | 0.7040 | 0.7364 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.1800 | 0.2270 | 0.1998 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2907 | 0.2943 | model_form_blend |
| predicted_R | 0.3620 | 0.4800 | 0.4116 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4780 | 0.4676 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4464 | 0.4328 | model_form_blend |
| predicted_SO | 1.3040 | 1.4280 | 1.3562 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.206 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260613_DET@CLE |
| game_type | full |
| mlbID | 679529 |
| playerID | 679529 |
| playerName | Spencer Torkelson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.318 |
| sl_xwoba | 0.313 |
| sl_xba | 0.207 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 45.9 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 30.9 |
| 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.067 | 0.000 | 0.000 | Hitting_2B | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_AB | 2.933 | 3.000 | 3.000 | Hitting_AB | 3.125 | 2.000 | -0.125 | 1.000 |
| predicted_AVG | 0.245 | 0.333 | 0.333 | Hitting_AVG | 0.158 | 0.000 | 0.176 | 0.333 |
| predicted_BB | 0.378 | 1.000 | 0.000 | Hitting_BB | 0.367 | 0.000 | 0.633 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_H | 0.660 | 1.000 | 1.000 | Hitting_H | 0.492 | 0.000 | 0.508 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_OBP | 0.315 | 0.500 | 0.333 | Hitting_OBP | 0.242 | 0.000 | 0.258 | 0.500 |
| predicted_R | 0.178 | 1.000 | 0.000 | Hitting_R | 0.109 | 0.000 | 0.891 | 1.000 |
| predicted_RBI | 0.280 | 1.000 | 0.000 | Hitting_RBI | 0.289 | 0.000 | 0.711 | 1.000 |
| predicted_SLG | 0.370 | 0.333 | 0.333 | Hitting_SLG | 0.230 | 0.000 | 0.103 | 0.333 |
| predicted_SO | 0.622 | 1.000 | 1.000 | Hitting_SO | 0.656 | 1.000 | 0.344 | 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_R: 0.1780 -> 1.0000 (boost 0.8220, better) |
| Biggest Deboost | predicted_HR: 0.0900 -> 0.0000 (deboost -0.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 | 3 | 2 | 1 | 2 | 1 | predicted_R: 0.1780 -> 0.2563 (boost 0.0783, better) | predicted_AVG: 0.2450 -> 0.2352 (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_AVG: 0.2352 -> 0.2225 (deboost -0.0127, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6150 -> 1.0000 (boost 0.3850, worse) | predicted_BB: 0.4056 -> 0.0000 (deboost -0.4056, worse) | AB rounded to 3 (raw=2.98), rates preserved: AVG=0.223 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2549 -> 0.0000 (deboost -0.2549, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2225 -> 0.3330 (boost 0.1105, better) | predicted_SLG: 0.3634 -> 0.3330 (deboost -0.0304, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_BB: 0.0000 -> 1.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.3634 (boost 0.0304, better) | 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": "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.067,
"predicted_3B": 0.022,
"predicted_AB": 2.933,
"predicted_AVG": 0.245,
"predicted_BB": 0.378,
"predicted_H": 0.66,
"predicted_HR": 0.09,
"predicted_OBP": 0.315,
"predicted_R": 0.178,
"predicted_RBI": 0.28,
"predicted_SLG": 0.37,
"predicted_SO": 0.622
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0642,
"predicted_3B": 0.0405,
"predicted_AB": 2.984,
"predicted_AVG": 0.2352,
"predicted_BB": 0.4073,
"predicted_H": 0.666,
"predicted_HBP": 0.005,
"predicted_HR": 0.092,
"predicted_OBP": 0.3164,
"predicted_R": 0.2563,
"predicted_RBI": 0.2627,
"predicted_SLG": 0.3728,
"predicted_SO": 0.6124
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.0642,
"delta": -0.0028,
"percent_delta": -0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0405,
"delta": 0.0185,
"percent_delta": 0.8409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.933,
"after": 2.984,
"delta": 0.051,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2352,
"delta": -0.0098,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 0.4073,
"delta": 0.0293,
"percent_delta": 0.0775,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.666,
"delta": 0.006,
"percent_delta": 0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.092,
"delta": 0.002,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3164,
"delta": 0.0014,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.178,
"after": 0.2563,
"delta": 0.0783,
"percent_delta": 0.4399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2627,
"delta": -0.0173,
"percent_delta": -0.0618,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3728,
"delta": 0.0028,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.622,
"after": 0.6124,
"delta": -0.0096,
"percent_delta": -0.0154,
"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": 0.178,
"after": 0.2563,
"delta": 0.0783,
"percent_delta": 0.4399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2352,
"delta": -0.0098,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0642,
"predicted_3B": 0.0405,
"predicted_AB": 2.984,
"predicted_AVG": 0.2225,
"predicted_BB": 0.4056,
"predicted_H": 0.6641,
"predicted_HBP": 0.005,
"predicted_HR": 0.0917,
"predicted_OBP": 0.3156,
"predicted_R": 0.2549,
"predicted_RBI": 0.2613,
"predicted_SLG": 0.3634,
"predicted_SO": 0.615
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0642,
"after": 0.0642,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0405,
"after": 0.0405,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.984,
"after": 2.984,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2352,
"after": 0.2225,
"delta": -0.0127,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4073,
"after": 0.4056,
"delta": -0.0017,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.666,
"after": 0.6641,
"delta": -0.0019,
"percent_delta": -0.0029,
"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.092,
"after": 0.0917,
"delta": -0.0003,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3164,
"after": 0.3156,
"delta": -0.0008,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2563,
"after": 0.2549,
"delta": -0.0014,
"percent_delta": -0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2627,
"after": 0.2613,
"delta": -0.0014,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3728,
"after": 0.3634,
"delta": -0.0094,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6124,
"after": 0.615,
"delta": 0.0026,
"percent_delta": 0.0042,
"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.2352,
"after": 0.2225,
"delta": -0.0127,
"percent_delta": -0.054,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.98), rates preserved: AVG=0.223 HR/AB=0.031",
"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.0642,
"after": 0.0,
"delta": -0.0642,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0405,
"after": 0.0,
"delta": -0.0405,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.984,
"after": 3.0,
"delta": 0.016,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4056,
"after": 0.0,
"delta": -0.4056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6641,
"after": 1.0,
"delta": 0.3359,
"percent_delta": 0.5058,
"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.0917,
"after": 0.0,
"delta": -0.0917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2613,
"after": 0.0,
"delta": -0.2613,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.615,
"after": 1.0,
"delta": 0.385,
"percent_delta": 0.626,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.615,
"after": 1.0,
"delta": 0.385,
"percent_delta": 0.626,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4056,
"after": 0.0,
"delta": -0.4056,
"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.2549,
"after": 0.0,
"delta": -0.2549,
"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.2549,
"after": 0.0,
"delta": -0.2549,
"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.3156,
"after": 0.333,
"delta": 0.0174,
"percent_delta": 0.0551,
"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.3634,
"after": 0.333,
"delta": -0.0304,
"percent_delta": -0.0837,
"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.2225,
"after": 0.333,
"delta": 0.1105,
"percent_delta": 0.4966,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3634,
"after": 0.333,
"delta": -0.0304,
"percent_delta": -0.0837,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2225,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3156,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3634,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.3156,
"delta": -0.0174,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3634,
"delta": 0.0304,
"percent_delta": 0.0913,
"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.3634,
"delta": 0.0304,
"percent_delta": 0.0913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2225,
"delta": -0.1105,
"percent_delta": -0.3317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"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": 2.933,
"after": 3.0,
"delta": 0.067,
"percent_delta": 0.0228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2225,
"delta": -0.0225,
"percent_delta": -0.0918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.378,
"after": 1.0,
"delta": 0.622,
"percent_delta": 1.6455,
"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.315,
"after": 0.3156,
"delta": 0.0006,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.178,
"after": 1.0,
"delta": 0.822,
"percent_delta": 4.618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3634,
"delta": -0.0066,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.622,
"after": 1.0,
"delta": 0.378,
"percent_delta": 0.6077,
"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_R",
"before": 0.178,
"after": 1.0,
"delta": 0.822,
"percent_delta": 4.618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"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.067 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 2.933 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.378 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.178 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.370 | - |
| predicted_SO | 0.622 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.064 | -0.003 |
| predicted_3B | 0.041 | 0.019 |
| predicted_AB | 2.984 | 0.051 |
| predicted_AVG | 0.235 | -0.010 |
| predicted_BB | 0.407 | 0.029 |
| predicted_H | 0.666 | 0.006 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.092 | 0.002 |
| predicted_OBP | 0.316 | 0.001 |
| predicted_R | 0.256 | 0.078 |
| predicted_RBI | 0.263 | -0.017 |
| predicted_SLG | 0.373 | 0.003 |
| predicted_SO | 0.612 | -0.010 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.064 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 2.984 | 0.000 |
| predicted_AVG | 0.223 | -0.013 |
| predicted_BB | 0.406 | -0.002 |
| predicted_H | 0.664 | -0.002 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.092 | -0.000 |
| predicted_OBP | 0.316 | -0.001 |
| predicted_R | 0.255 | -0.001 |
| predicted_RBI | 0.261 | -0.001 |
| predicted_SLG | 0.363 | -0.009 |
| predicted_SO | 0.615 | 0.003 |
AB rounded to 3 (raw=2.98), rates preserved: AVG=0.223 HR/AB=0.031
| 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.064 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 3.000 | 0.016 |
| predicted_AVG | 0.333 | 0.111 |
| predicted_BB | 0.000 | -0.406 |
| predicted_H | 1.000 | 0.336 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.333 | 0.017 |
| predicted_R | 0.000 | -0.255 |
| predicted_RBI | 0.000 | -0.261 |
| predicted_SLG | 0.333 | -0.030 |
| predicted_SO | 1.000 | 0.385 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 0.000 | 1.000 | 1.000 | 1.000 | 3.000 | 3.000 | 2.000 | 0.2857 | 0.4118 | 0.6429 | 0.2857 | 0.0714 | 0.0714 | 0.2143 | 0.1429 |
| last_10 | 0.20 | 10 | - | 29.000 | 7.000 | 0.000 | 1.000 | 1.000 | 1.000 | 6.000 | 6.000 | 5.000 | 0.2414 | 0.3714 | 0.4138 | 0.2414 | 0.0345 | 0.0345 | 0.2069 | 0.1724 |
| season | 0.60 | 45 | - | 132.000 | 24.000 | 3.000 | 1.000 | 2.000 | 10.000 | 8.000 | 17.000 | 28.000 | 0.1818 | 0.2715 | 0.2652 | 0.1818 | 0.0152 | 0.0758 | 0.1288 | 0.2121 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0600 |
| predicted_3B | 0.0680 |
| predicted_AB | 3.0600 |
| predicted_AVG | 0.2205 |
| predicted_BB | 0.4510 |
| predicted_H | 0.6750 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.3185 |
| predicted_R | 0.3730 |
| predicted_RBI | 0.2370 |
| predicted_SLG | 0.3769 |
| predicted_SO | 0.5980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0670 | 0.0600 | 0.0642 | model_form_blend |
| predicted_3B | 0.0220 | 0.0680 | 0.0405 | model_form_blend |
| predicted_AB | 2.9330 | 3.0600 | 2.9840 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2205 | 0.2352 | model_form_blend |
| predicted_BB | 0.3780 | 0.4510 | 0.4073 | model_form_blend |
| predicted_H | 0.6600 | 0.6750 | 0.6660 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0900 | 0.0950 | 0.0920 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3185 | 0.3164 | model_form_blend |
| predicted_R | 0.1780 | 0.3730 | 0.2563 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2370 | 0.2627 | model_form_blend |
| predicted_SLG | 0.3700 | 0.3769 | 0.3728 | model_form_blend |
| predicted_SO | 0.6220 | 0.5980 | 0.6124 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 128 |
| Season rows before report date | 128 |
| Report year | 2026 |
| Profile rows used | 45 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-SS |
| gameID | 20260613_DET@CLE |
| game_type | ph |
| mlbID | 656716 |
| note | Lined out for Lee, H in the 7th. |
| playerID | 656716 |
| playerName | Zach McKinstry |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.244 |
| sl_xwoba | 0.259 |
| sl_xba | 0.199 |
| sl_xslg | 0.274 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 21.6 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 15.4 |
| 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.149 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.037 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 1.500 | 0.000 | 1.500 | 3.000 |
| predicted_AVG | 0.282 | 0.000 | 0.333 | Hitting_AVG | 0.333 | - | -0.333 | - |
| predicted_BB | 0.149 | 1.000 | 0.000 | Hitting_BB | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.160 | 0.000 | 1.000 | Hitting_H | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_OBP | 0.282 | 0.250 | 0.333 | Hitting_OBP | 0.500 | 1.000 | -0.250 | -0.750 |
| predicted_R | 0.299 | 0.000 | 0.000 | Hitting_R | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.338 | 0.000 | 0.333 | Hitting_SLG | 1.333 | - | -1.333 | - |
| predicted_SO | 1.119 | 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 | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.1490 -> 1.0000 (boost 0.8510, better) |
| Biggest Deboost | predicted_R: 0.2990 -> 0.0000 (deboost -0.2990, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.6293 (boost 0.1293, better) | predicted_AVG: 0.2820 -> 0.2425 (deboost -0.0395, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2425 -> 0.1068 (deboost -0.1357, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_AB: 2.6293 -> 3.0000 (boost 0.3707, better) | predicted_H: 0.2808 -> 0.0000 (deboost -0.2808, worse) | AB rounded to 3 (raw=2.63), rates preserved: AVG=0.107 HR/AB=0.021 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.2999 -> 0.0000 (deboost -0.2999, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1068 -> 0.3330 (boost 0.2262, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1068 (deboost -0.2262, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681546",
"player_name": "James Outman",
"position": "CF",
"team": "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.149,
"predicted_3B": 0.037,
"predicted_AB": 2.5,
"predicted_AVG": 0.282,
"predicted_BB": 0.149,
"predicted_H": 0.16,
"predicted_HR": 0.03,
"predicted_OBP": 0.282,
"predicted_R": 0.299,
"predicted_RBI": 0.11,
"predicted_SLG": 0.338,
"predicted_SO": 1.119
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1417,
"predicted_3B": 0.0312,
"predicted_AB": 2.6293,
"predicted_AVG": 0.2425,
"predicted_BB": 0.1563,
"predicted_H": 0.2816,
"predicted_HBP": 0.008,
"predicted_HR": 0.0551,
"predicted_OBP": 0.2599,
"predicted_R": 0.3015,
"predicted_RBI": 0.1558,
"predicted_SLG": 0.338,
"predicted_SO": 1.164
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.1417,
"delta": -0.0073,
"percent_delta": -0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.037,
"after": 0.0312,
"delta": -0.0058,
"percent_delta": -0.1568,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6293,
"delta": 0.1293,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2425,
"delta": -0.0395,
"percent_delta": -0.1401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.149,
"after": 0.1563,
"delta": 0.0073,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.16,
"after": 0.2816,
"delta": 0.1216,
"percent_delta": 0.76,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0551,
"delta": 0.0251,
"percent_delta": 0.8367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2599,
"delta": -0.0221,
"percent_delta": -0.0784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.3015,
"delta": 0.0025,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1558,
"delta": 0.0458,
"percent_delta": 0.4164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.338,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.119,
"after": 1.164,
"delta": 0.045,
"percent_delta": 0.0402,
"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.6293,
"delta": 0.1293,
"percent_delta": 0.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2425,
"delta": -0.0395,
"percent_delta": -0.1401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1417,
"predicted_3B": 0.0312,
"predicted_AB": 2.6293,
"predicted_AVG": 0.1068,
"predicted_BB": 0.1556,
"predicted_H": 0.2808,
"predicted_HBP": 0.008,
"predicted_HR": 0.0549,
"predicted_OBP": 0.1567,
"predicted_R": 0.2999,
"predicted_RBI": 0.155,
"predicted_SLG": 0.2471,
"predicted_SO": 1.1689
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1417,
"after": 0.1417,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0312,
"after": 0.0312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6293,
"after": 2.6293,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2425,
"after": 0.1068,
"delta": -0.1357,
"percent_delta": -0.5596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1563,
"after": 0.1556,
"delta": -0.0007,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.2816,
"after": 0.2808,
"delta": -0.0008,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0551,
"after": 0.0549,
"delta": -0.0002,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2599,
"after": 0.1567,
"delta": -0.1032,
"percent_delta": -0.3971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3015,
"after": 0.2999,
"delta": -0.0016,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1558,
"after": 0.155,
"delta": -0.0008,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.2471,
"delta": -0.0909,
"percent_delta": -0.2689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.164,
"after": 1.1689,
"delta": 0.0049,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2425,
"after": 0.1068,
"delta": -0.1357,
"percent_delta": -0.5596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.63), rates preserved: AVG=0.107 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1417,
"after": 0.0,
"delta": -0.1417,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0312,
"after": 0.0,
"delta": -0.0312,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6293,
"after": 3.0,
"delta": 0.3707,
"percent_delta": 0.141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1556,
"after": 0.0,
"delta": -0.1556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.2808,
"after": 0.0,
"delta": -0.2808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0549,
"after": 0.0,
"delta": -0.0549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1689,
"after": 1.0,
"delta": -0.1689,
"percent_delta": -0.1445,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.6293,
"after": 3.0,
"delta": 0.3707,
"percent_delta": 0.141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.2808,
"after": 0.0,
"delta": -0.2808,
"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.2999,
"after": 0.0,
"delta": -0.2999,
"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.2999,
"after": 0.0,
"delta": -0.2999,
"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.1068,
"after": 0.333,
"delta": 0.2262,
"percent_delta": 2.118,
"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.1567,
"after": 0.333,
"delta": 0.1763,
"percent_delta": 1.1251,
"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.2471,
"after": 0.333,
"delta": 0.0859,
"percent_delta": 0.3476,
"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.1068,
"after": 0.333,
"delta": 0.2262,
"percent_delta": 2.118,
"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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1068,
"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.1567,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2471,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1068,
"delta": -0.2262,
"percent_delta": -0.6793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.1567,
"delta": -0.1763,
"percent_delta": -0.5294,
"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.2471,
"delta": -0.0859,
"percent_delta": -0.258,
"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.1068,
"delta": -0.2262,
"percent_delta": -0.6793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"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.282,
"after": 0.1068,
"delta": -0.1752,
"percent_delta": -0.6213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.149,
"after": 1.0,
"delta": 0.851,
"percent_delta": 5.7114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.1567,
"delta": -0.1253,
"percent_delta": -0.4443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.299,
"after": 0.0,
"delta": -0.299,
"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.338,
"after": 0.2471,
"delta": -0.0909,
"percent_delta": -0.2689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.119,
"after": 1.0,
"delta": -0.119,
"percent_delta": -0.1063,
"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.149,
"after": 1.0,
"delta": 0.851,
"percent_delta": 5.7114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.299,
"after": 0.0,
"delta": -0.299,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | - |
| predicted_3B | 0.037 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.149 | - |
| predicted_H | 0.160 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.299 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.338 | - |
| predicted_SO | 1.119 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | -0.007 |
| predicted_3B | 0.031 | -0.006 |
| predicted_AB | 2.629 | 0.129 |
| predicted_AVG | 0.242 | -0.039 |
| predicted_BB | 0.156 | 0.007 |
| predicted_H | 0.282 | 0.122 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.055 | 0.025 |
| predicted_OBP | 0.260 | -0.022 |
| predicted_R | 0.301 | 0.003 |
| predicted_RBI | 0.156 | 0.046 |
| predicted_SLG | 0.338 | 0.000 |
| predicted_SO | 1.164 | 0.045 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.142 | 0.000 |
| predicted_3B | 0.031 | 0.000 |
| predicted_AB | 2.629 | 0.000 |
| predicted_AVG | 0.107 | -0.136 |
| predicted_BB | 0.156 | -0.001 |
| predicted_H | 0.281 | -0.001 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.055 | -0.000 |
| predicted_OBP | 0.157 | -0.103 |
| predicted_R | 0.300 | -0.002 |
| predicted_RBI | 0.155 | -0.001 |
| predicted_SLG | 0.247 | -0.091 |
| predicted_SO | 1.169 | 0.005 |
AB rounded to 3 (raw=2.63), rates preserved: AVG=0.107 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.142 |
| predicted_3B | 0.000 | -0.031 |
| predicted_AB | 3.000 | 0.371 |
| predicted_AVG | 0.333 | 0.226 |
| predicted_BB | 0.000 | -0.156 |
| predicted_H | 1.000 | 0.719 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.333 | 0.176 |
| predicted_R | 0.000 | -0.300 |
| predicted_RBI | 0.000 | -0.155 |
| predicted_SLG | 0.333 | 0.086 |
| predicted_SO | 1.000 | -0.169 |
Attached 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 | 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 | 5 | - | 11.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 8.000 | 0.0909 | 0.0909 | 0.3636 | 0.0909 | 0.0909 | 0.0909 | 0.0000 | 0.7273 |
| last_10 | 0.20 | 10 | - | 25.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 14.000 | 0.1200 | 0.1852 | 0.2800 | 0.1200 | 0.0400 | 0.0400 | 0.0800 | 0.5600 |
| season | 0.60 | 27 | - | 67.000 | 11.000 | 4.000 | 1.000 | 1.000 | 4.000 | 8.000 | 4.000 | 30.000 | 0.1642 | 0.2113 | 0.2985 | 0.1642 | 0.0149 | 0.0597 | 0.0597 | 0.4478 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0210 |
| predicted_AB | 2.8560 |
| predicted_AVG | 0.1733 |
| predicted_BB | 0.1690 |
| predicted_H | 0.4950 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0990 |
| predicted_OBP | 0.2211 |
| predicted_R | 0.3060 |
| predicted_RBI | 0.2360 |
| predicted_SLG | 0.3380 |
| predicted_SO | 1.2430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.1290 | 0.1417 | model_form_blend |
| predicted_3B | 0.0370 | 0.0210 | 0.0312 | model_form_blend |
| predicted_AB | 2.5000 | 2.8560 | 2.6293 | model_form_blend |
| predicted_AVG | 0.2820 | 0.1733 | 0.2425 | model_form_blend |
| predicted_BB | 0.1490 | 0.1690 | 0.1563 | model_form_blend |
| predicted_H | 0.1600 | 0.4950 | 0.2816 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.0300 | 0.0990 | 0.0551 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2211 | 0.2599 | model_form_blend |
| predicted_R | 0.2990 | 0.3060 | 0.3015 | model_form_blend |
| predicted_RBI | 0.1100 | 0.2360 | 0.1558 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3380 | 0.3380 | model_form_blend |
| predicted_SO | 1.1190 | 1.2430 | 1.1640 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 2 |
| Season rows before report date | 2 |
| Report year | 2026 |
| Profile rows used | 27 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.164 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260613_DET@CLE |
| game_type | short |
| mlbID | 681546 |
| playerID | 681546 |
| playerName | James Outman |
| pos | CF |
| started | False |
| startingPosition | CF |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 40.5 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.245 |
| sl_xwoba | 0.221 |
| sl_xba | 0.155 |
| sl_xslg | 0.243 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 29.7 |
| sl_exit_velocity_avg | 85.5 |
| sl_launch_angle_avg | 18.9 |
| sl_whiff_percent | 40.7 |
| 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_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.680 | 0.000 | -0.680 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.760 | 1.000 | 1.240 | 1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 1.560 | 3.000 | 2.440 | 1.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 1.588 | 1.000 | 3.412 | 4.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.120 | 1.000 | 1.880 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 0 | 0 | 0 | 0 | 0 | - | - | 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": "623454",
"player_name": "Drew Anderson",
"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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_SO": 4.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": 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.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": {}
},
{
"index": 3,
"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": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_R": 2.0,
"predicted_SO": 4.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": 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.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": 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": 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.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 | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 4.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| predicted_SO | 4.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 2.000 | 7.000 | 1.000 | 7.000 | 1.000 | 3.1765 | 1.4118 | 0.3529 | 1.2353 | 0.1765 | 1.2353 | 0.1765 |
| last_10 | 0.35 | 10 | 16.200 | 5.000 | 15.000 | 5.000 | 22.000 | 3.000 | 2.7000 | 1.2000 | 0.3000 | 0.9000 | 0.3000 | 1.3200 | 0.1800 |
| season | 0.20 | 25 | 43.200 | 19.000 | 39.000 | 17.000 | 53.000 | 6.000 | 3.9160 | 1.2824 | 0.4351 | 0.8931 | 0.3893 | 1.2137 | 0.1374 |
| Metric | Value |
|---|---|
| predicted_BB | 0.8050 |
| predicted_ER | 1.0910 |
| predicted_ERA | 3.6379 |
| predicted_H | 2.7550 |
| predicted_HR | 0.4340 |
| predicted_IP | 2.2000 |
| predicted_SO | 3.0780 |
| predicted_WHIP | 1.3196 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.8050 | 0.3986 | model_form_blend |
| predicted_ER | 2.0000 | 1.0910 | 1.5499 | model_form_blend |
| predicted_ERA | - | 3.6379 | 3.6379 | form_only |
| predicted_H | 4.0000 | 2.7550 | 3.3835 | model_form_blend |
| predicted_HR | 2.0000 | 0.4340 | 1.2245 | model_form_blend |
| predicted_IP | 5.0000 | 2.2000 | 4.0000 | model_form_blend |
| predicted_SO | 4.0000 | 3.0780 | 3.5434 | model_form_blend |
| predicted_WHIP | - | 1.3196 | 1.3196 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 4 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 4 |
| HR | 2 |
| BF | 19 |
| Pitches | 75 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.92 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260612_DET@CLE |
| game_type | full |
| mlbID | 623454 |
| playerID | 623454 |
| playerName | Drew Anderson |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-12 |
| sl_k_percent | 28.3 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.313 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 27.0 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 49.5 |
| sl_avg_best_speed | 81.034973929 |
| sl_avg_hyper_speed | 94.474141518 |
| 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.677 | 0.000 | -0.677 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.871 | 2.000 | -0.871 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.926 | 1.100 | 0.174 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.645 | 0.000 | -0.645 | 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": "640448",
"player_name": "Kyle Finnegan",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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 | 6.000 | 1.000 | 4.000 | 2.000 | 5.000 | 0.000 | 1.5000 | 1.0000 | 0.1667 | 0.6667 | 0.3333 | 0.8333 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 3.000 | 11.000 | 5.000 | 6.000 | 0.000 | 2.4545 | 1.4545 | 0.2727 | 1.0000 | 0.4546 | 0.5454 | 0.0000 |
| season | 0.20 | 30 | 32.200 | 5.000 | 24.000 | 20.000 | 20.000 | 2.000 | 1.3776 | 1.3469 | 0.1531 | 0.7347 | 0.6122 | 0.6122 | 0.0612 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4350 |
| predicted_ER | 0.3580 |
| predicted_ERA | 2.9688 |
| predicted_H | 0.9470 |
| predicted_HR | 0.0760 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8630 |
| predicted_WHIP | 1.2741 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4350 | 0.2026 | model_form_blend |
| predicted_ER | 0.0000 | 0.3580 | 0.1668 | model_form_blend |
| predicted_ERA | - | 2.9688 | 2.9688 | form_only |
| predicted_H | 0.0000 | 0.9470 | 0.4411 | model_form_blend |
| predicted_HR | 0.0000 | 0.0760 | 0.0354 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8630 | 0.4020 | model_form_blend |
| predicted_WHIP | - | 1.2741 | 1.2741 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 30 |
| 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.93 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260613_DET@CLE |
| game_type | full |
| mlbID | 640448 |
| playerID | 640448 |
| playerName | Kyle Finnegan |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 14.7 |
| sl_bb_percent | 15.4 |
| sl_woba | 0.325 |
| sl_xwoba | 0.317 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 38.9 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 78.414114255 |
| sl_avg_hyper_speed | 94.196101613 |
| 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.258 | 0.000 | -0.258 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.452 | 0.000 | -0.452 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.194 | 1.000 | -1.194 | -1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.823 | 1.000 | 0.377 | 0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.871 | 0.000 | 1.129 | 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.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": "663947",
"player_name": "Tyler Holton",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 1.000 | 7.000 | 0.000 | 3.000 | 0.000 | 2.4545 | 1.9091 | 0.2727 | 1.9091 | 0.0000 | 0.8182 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 3.000 | 11.000 | 0.000 | 10.000 | 1.000 | 2.8929 | 1.1786 | 0.3214 | 1.1786 | 0.0000 | 1.0714 | 0.1071 |
| season | 0.20 | 31 | 31.100 | 14.000 | 37.000 | 8.000 | 27.000 | 4.000 | 4.0213 | 1.4362 | 0.4468 | 1.1808 | 0.2553 | 0.8617 | 0.1277 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1740 |
| predicted_ER | 0.3680 |
| predicted_ERA | 3.6116 |
| predicted_H | 1.1630 |
| predicted_HR | 0.0910 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8470 |
| predicted_WHIP | 1.4582 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1740 | 0.0803 | model_form_blend |
| predicted_ER | 0.0000 | 0.3680 | 0.1698 | model_form_blend |
| predicted_ERA | - | 3.6116 | 3.6116 | form_only |
| predicted_H | 0.0000 | 1.1630 | 0.5367 | model_form_blend |
| predicted_HR | 0.0000 | 0.0910 | 0.0420 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8470 | 1.4679 | model_form_blend |
| predicted_WHIP | - | 1.4582 | 1.4582 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.02 |
| 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 | 6 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260613_DET@CLE |
| game_type | full |
| mlbID | 663947 |
| playerID | 663947 |
| playerName | Tyler Holton |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-13 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.36 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 39.2 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 47.0 |
| sl_avg_best_speed | 77.514670208 |
| sl_avg_hyper_speed | 93.791024316 |
| 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.381 | 0.000 | 0.619 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.714 | 0.000 | -0.714 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.048 | 1.000 | -1.048 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.862 | 1.000 | 0.138 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.095 | 1.000 | -0.095 | 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": "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": 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.000 | 6.000 | 9.000 | 2.000 | 7.000 | 1.000 | 9.0000 | 1.8333 | 1.0000 | 1.5000 | 0.3333 | 1.1667 | 0.1667 |
| last_10 | 0.35 | 10 | 10.200 | 9.000 | 13.000 | 3.000 | 12.000 | 2.000 | 7.5938 | 1.5000 | 0.8438 | 1.2188 | 0.2812 | 1.1250 | 0.1875 |
| season | 0.20 | 21 | 20.200 | 15.000 | 22.000 | 8.000 | 23.000 | 2.000 | 6.5323 | 1.4516 | 0.7258 | 1.0645 | 0.3871 | 1.1129 | 0.0968 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3680 |
| predicted_ER | 0.7190 |
| predicted_ERA | 6.0644 |
| predicted_H | 1.2020 |
| predicted_HR | 0.1620 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0970 |
| predicted_WHIP | 1.4714 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3680 | 0.7360 | model_form_blend |
| predicted_ER | 0.0000 | 0.7190 | 0.3003 | model_form_blend |
| predicted_ERA | - | 6.0644 | 6.0644 | form_only |
| predicted_H | 0.0000 | 1.2020 | 0.5020 | model_form_blend |
| predicted_HR | 0.0000 | 0.1620 | 0.0677 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0970 | 1.0405 | model_form_blend |
| predicted_WHIP | - | 1.4714 | 1.4714 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 6.53 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260607_SEA@DET |
| game_type | full |
| mlbID | 676684 |
| playerID | 676684 |
| playerName | Will Vest |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-06-07 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.332 |
| sl_xwoba | 0.299 |
| sl_sweet_spot_percent | 20.3 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 47.6 |
| sl_avg_best_speed | 78.289563448 |
| sl_avg_hyper_speed | 94.419797368 |
| Field | Value |
|---|---|
| Pitcher | Kai-Wei Teng |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0279 |
| ESPN Rank | 170 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0268 |
| Avg Velo | 89.2497 |
| Avg Spin | 2518.2918 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 0 |
| Pre H | 4 |
| Pre BB | 0 |
| Pre SO | 4 |
| Season ERA | 3.7059 |
| Season WHIP | 1.2745 |
| Role Avg IP | 4.4290 |
| Recent Avg IP | 5 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"opponent": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"edges": {
"quality_edge": -0.0034,
"offense_edge": 0.0013,
"opponent_offense_edge": -0.1087,
"defense_strength": -0.0979,
"opponent_defense_weakness": -0.0872,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0013,
"run_prevention": 0.9926,
"strikeout": 1.0086
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "678906",
"profile": {
"available": true,
"pitcher_id": "678906",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 145.0,
"k_percent": 22.8,
"bb_percent": 11.2,
"woba": 0.312,
"xwoba": 0.314,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 39.9,
"avg_best_speed": 80.5707,
"avg_hyper_speed": 94.4691,
"whiff_percent": 25.3,
"swing_percent": 43.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0215,
"command_and_miss": -0.1086,
"regression_edge": -0.0571,
"xwoba_edge": 0.0286,
"barrel_edge": 0.4889,
"hard_hit_edge": -0.1857,
"whiff_edge": -0.0286,
"bb_edge": -0.525,
"pitch_design_score": -0.0268
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "678906",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2497,
"release_spin_rate": 2518.2918,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0268,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1913,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0279,
"sample_weight": 0.58,
"run_prevention_factor": 1.0024,
"strikeout_factor": 0.9997,
"walk_factor": 1.0244,
"homer_factor": 0.9811,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678906",
"espn_id": 42242,
"player_name": "Kai-Wei Teng",
"team": "HOU",
"role": "pitcher",
"espn_rank": 170,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 170,
"gp_value": 20.0,
"gp_rank": 171,
"gs_value": 7.0,
"gs_rank": 145,
"qs_value": 1.0,
"qs_rank": 132,
"era_value": 3.7058,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 3.0,
"hld_rank": 139,
"ip_value": 51.0,
"ip_rank": 127,
"h_value": 41.0,
"h_rank": 135,
"er_value": 21.0,
"er_rank": 136,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 24.0,
"bb_rank": 59,
"k_value": 49.0,
"k_rank": 112,
"k_per_9_value": 8.647059,
"k_per_9_rank": 23,
"whip_value": 1.2745,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0014,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0014,
"adjusted": 4
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0142,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 0.989,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9998,
"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": 34.2,
"ER": 18,
"H": 34,
"BB": 18,
"SO": 33,
"HR": 4,
"ERA": 4.673076923076923,
"WHIP": 1.5,
"K9": 8.567307692307693,
"HR9": 1.0384615384615385,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "678906",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 89.24968646119098,
"release_spin_rate": 2518.2918453346538,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.2497,
"release_spin_rate": 2518.2918,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0268,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1913,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.099,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6688,
"prior_weight": 0.3312
},
"role": "pitcher",
"player_id": "678906",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.0,
"ER": 12.0,
"R": 15.0,
"H": 21.0,
"BB": 16.0,
"SO": 26.0,
"HR": 3.0,
"BF": 111.0,
"Pitches": 436.0
},
"per_game": {
"IP": 5.0,
"ER": 2.4,
"R": 3.0,
"H": 4.2,
"BB": 3.2,
"SO": 5.2,
"HR": 0.6,
"BF": 22.2,
"Pitches": 87.2
},
"rates": {
"ERA": 4.32,
"WHIP": 1.48,
"ER_per_IP": 0.48,
"H_per_IP": 0.84,
"BB_per_IP": 0.64,
"SO_per_IP": 1.04,
"HR_per_IP": 0.12
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 34.2,
"ER": 18.0,
"R": 21.0,
"H": 34.0,
"BB": 18.0,
"SO": 33.0,
"HR": 4.0,
"BF": 154.0,
"Pitches": 604.0
},
"per_game": {
"IP": 3.1,
"ER": 1.8,
"R": 2.1,
"H": 3.4,
"BB": 1.8,
"SO": 3.3,
"HR": 0.4,
"BF": 15.4,
"Pitches": 60.4
},
"rates": {
"ERA": 4.6731,
"WHIP": 1.5,
"ER_per_IP": 0.51923,
"H_per_IP": 0.98077,
"BB_per_IP": 0.51923,
"SO_per_IP": 0.95192,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 20,
"totals": {
"IP": 51.0,
"ER": 21.0,
"R": 24.0,
"H": 41.0,
"BB": 24.0,
"SO": 49.0,
"HR": 6.0,
"BF": 215.0,
"Pitches": 852.0
},
"per_game": {
"IP": 2.2,
"ER": 1.05,
"R": 1.2,
"H": 2.05,
"BB": 1.2,
"SO": 2.45,
"HR": 0.3,
"BF": 10.75,
"Pitches": 42.6
},
"rates": {
"ERA": 3.7059,
"WHIP": 1.2745,
"ER_per_IP": 0.41176,
"H_per_IP": 0.80392,
"BB_per_IP": 0.47059,
"SO_per_IP": 0.96078,
"HR_per_IP": 0.11765
}
}
},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.087,
"predicted_H": 3.919,
"predicted_BB": 2.135,
"predicted_SO": 4.184,
"predicted_HR": 0.546,
"predicted_ERA": 4.3696,
"predicted_WHIP": 1.4086
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4899,
"form_weight": 0.5101,
"form_reliability": 0.6688,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.099,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6688,
"prior_weight": 0.3312
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.1,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.087,
"final": 1.0645,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.919,
"final": 3.9587,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.135,
"final": 1.089,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.184,
"final": 4.0939,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.546,
"final": 0.2785,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3696,
"final": 4.3696,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4086,
"final": 1.4086,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Abreu |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2753 |
| ESPN Rank | 628 |
| 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 | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 6.5571 |
| Season WHIP | 1.8429 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"opponent": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"edges": {
"quality_edge": -0.0034,
"offense_edge": 0.0013,
"opponent_offense_edge": -0.1087,
"defense_strength": -0.0979,
"opponent_defense_weakness": -0.0872,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0013,
"run_prevention": 0.9926,
"strikeout": 1.0086
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "650556",
"profile": {
"available": true,
"pitcher_id": "650556",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 27.4,
"bb_percent": 21.2,
"woba": 0.403,
"xwoba": 0.361,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 52.7,
"avg_best_speed": 84.0117,
"avg_hyper_speed": 95.6784,
"whiff_percent": 32.9,
"swing_percent": 38.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.3867,
"command_and_miss": 0.1721,
"regression_edge": 1.2,
"xwoba_edge": -1.3143,
"barrel_edge": -0.4,
"hard_hit_edge": -2.0143,
"whiff_edge": 1.0571,
"bb_edge": -2.5,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "650556",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2753,
"sample_weight": 0.45,
"run_prevention_factor": 1.0234,
"strikeout_factor": 1.0311,
"walk_factor": 1.09,
"homer_factor": 1.0684,
"woba_minus_xwoba": 0.042,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "650556",
"espn_id": 41208,
"player_name": "Bryan Abreu",
"team": "HOU",
"role": "pitcher",
"espn_rank": 628,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 628,
"gp_value": 27.0,
"gp_rank": 99,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 6.5571,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 5.0,
"sv_rank": 26,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 23.1,
"ip_rank": 329,
"h_value": 21.0,
"h_rank": 296,
"er_value": 17.0,
"er_rank": 178,
"hr_value": 5.0,
"hr_rank": 150,
"bb_value": 24.0,
"bb_rank": 59,
"k_value": 31.0,
"k_rank": 225,
"k_per_9_value": 11.957144,
"k_per_9_rank": 18,
"whip_value": 1.9285,
"whip_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0105,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0105,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0405,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0308,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.014,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 4,
"H": 5,
"BB": 6,
"SO": 10,
"HR": 1,
"ERA": 4.5,
"WHIP": 1.375,
"K9": 11.25,
"HR9": 1.125,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "650556",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.62,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4803,
"prior_weight": 0.5197
},
"role": "pitcher",
"player_id": "650556",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 2.0,
"SO": 8.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.4,
"SO": 1.6,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.0
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2,
"ER_per_IP": 0.6,
"H_per_IP": 0.8,
"BB_per_IP": 0.4,
"SO_per_IP": 1.6,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 4.0,
"R": 4.0,
"H": 5.0,
"BB": 6.0,
"SO": 10.0,
"HR": 1.0,
"BF": 35.0,
"Pitches": 137.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.5,
"BB": 0.6,
"SO": 1.0,
"HR": 0.1,
"BF": 3.5,
"Pitches": 13.7
},
"rates": {
"ERA": 4.32,
"WHIP": 1.32,
"ER_per_IP": 0.48,
"H_per_IP": 0.6,
"BB_per_IP": 0.72,
"SO_per_IP": 1.2,
"HR_per_IP": 0.12
}
},
"season": {
"games": 26,
"totals": {
"IP": 23.1,
"ER": 17.0,
"R": 18.0,
"H": 19.0,
"BB": 24.0,
"SO": 31.0,
"HR": 5.0,
"BF": 111.0,
"Pitches": 447.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6538,
"R": 0.6923,
"H": 0.7308,
"BB": 0.9231,
"SO": 1.1923,
"HR": 0.1923,
"BF": 4.2692,
"Pitches": 17.1923
},
"rates": {
"ERA": 6.5571,
"WHIP": 1.8429,
"ER_per_IP": 0.72857,
"H_per_IP": 0.81429,
"BB_per_IP": 1.02857,
"SO_per_IP": 1.32857,
"HR_per_IP": 0.21429
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.508,
"predicted_H": 0.809,
"predicted_BB": 0.466,
"predicted_SO": 1.095,
"predicted_HR": 0.151,
"predicted_ERA": 4.8454,
"predicted_WHIP": 1.3512
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5696,
"form_weight": 0.4304,
"form_reliability": 0.4803,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.62,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4803,
"prior_weight": 0.5197
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.508,
"final": 0.7882,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.809,
"final": 0.3482,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.466,
"final": 0.2006,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.095,
"final": 1.0409,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.151,
"final": 0.065,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8454,
"final": 4.8454,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3512,
"final": 1.3512,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan King |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0703 |
| ESPN Rank | 104 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.3736 |
| Season WHIP | 1.2857 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"opponent": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"edges": {
"quality_edge": -0.0034,
"offense_edge": 0.0013,
"opponent_offense_edge": -0.1087,
"defense_strength": -0.0979,
"opponent_defense_weakness": -0.0872,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0013,
"run_prevention": 0.9926,
"strikeout": 1.0086
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687911",
"profile": {
"available": true,
"pitcher_id": "687911",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 18.3,
"bb_percent": 9.2,
"woba": 0.291,
"xwoba": 0.295,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 38.5,
"avg_best_speed": 75.7153,
"avg_hyper_speed": 93.2305,
"whiff_percent": 17.7,
"swing_percent": 48.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6142,
"command_and_miss": -0.6779,
"regression_edge": -0.1143,
"xwoba_edge": 0.5714,
"barrel_edge": 1.1333,
"hard_hit_edge": 0.0143,
"whiff_edge": -1.1143,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0703,
"sample_weight": 0.45,
"run_prevention_factor": 0.994,
"strikeout_factor": 0.9686,
"walk_factor": 1.0009,
"homer_factor": 0.9512,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687911",
"espn_id": 5201821,
"player_name": "Bryan King",
"team": "HOU",
"role": "pitcher",
"espn_rank": 104,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 104,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.3736,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 6.0,
"sv_rank": 22,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 30.1,
"ip_rank": 231,
"h_value": 27.0,
"h_rank": 236,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 24.0,
"k_rank": 302,
"k_per_9_value": 7.120879,
"k_per_9_rank": 35,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": 0.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9973,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9973,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.978,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9859,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 1,
"H": 7,
"BB": 3,
"SO": 7,
"HR": 1,
"ERA": 0.9642857142857142,
"WHIP": 1.0714285714285714,
"K9": 6.75,
"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-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "687911",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"role": "pitcher",
"player_id": "687911",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 65.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.5,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 1.0,
"R": 1.0,
"H": 7.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 161.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.7,
"BB": 0.3,
"SO": 0.7,
"HR": 0.1,
"BF": 3.9,
"Pitches": 16.1
},
"rates": {
"ERA": 0.9643,
"WHIP": 1.0714,
"ER_per_IP": 0.10714,
"H_per_IP": 0.75,
"BB_per_IP": 0.32143,
"SO_per_IP": 0.75,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 28,
"totals": {
"IP": 30.1,
"ER": 8.0,
"R": 10.0,
"H": 27.0,
"BB": 12.0,
"SO": 24.0,
"HR": 1.0,
"BF": 131.0,
"Pitches": 528.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2857,
"R": 0.3571,
"H": 0.9643,
"BB": 0.4286,
"SO": 0.8571,
"HR": 0.0357,
"BF": 4.6786,
"Pitches": 18.8571
},
"rates": {
"ERA": 2.3736,
"WHIP": 1.2857,
"ER_per_IP": 0.26374,
"H_per_IP": 0.89011,
"BB_per_IP": 0.3956,
"SO_per_IP": 0.79121,
"HR_per_IP": 0.03297
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.252,
"predicted_H": 0.739,
"predicted_BB": 0.359,
"predicted_SO": 0.826,
"predicted_HR": 0.083,
"predicted_ERA": 2.4732,
"predicted_WHIP": 1.1962
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5419,
"form_weight": 0.4581,
"form_reliability": 0.5457,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.252,
"final": 0.1154,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.739,
"final": 0.8804,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.359,
"final": 0.1644,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.826,
"final": 0.3784,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.083,
"final": 0.038,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4732,
"final": 2.4732,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1962,
"final": 1.1962,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Enyel De Los Santos |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1316 |
| ESPN Rank | 472 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 4.5000 |
| Season WHIP | 1.1667 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"opponent": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"edges": {
"quality_edge": -0.0034,
"offense_edge": 0.0013,
"opponent_offense_edge": -0.1087,
"defense_strength": -0.0979,
"opponent_defense_weakness": -0.0872,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0013,
"run_prevention": 0.9926,
"strikeout": 1.0086
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "660853",
"profile": {
"available": true,
"pitcher_id": "660853",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 95.0,
"k_percent": 23.2,
"bb_percent": 6.4,
"woba": 0.282,
"xwoba": 0.286,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 38.6,
"avg_best_speed": 79.2506,
"avg_hyper_speed": 94.1059,
"whiff_percent": 26.8,
"swing_percent": 54.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.4348,
"command_and_miss": 0.2321,
"regression_edge": -0.1143,
"xwoba_edge": 0.8286,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.0,
"whiff_edge": 0.1857,
"bb_edge": 0.675,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "660853",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1316,
"sample_weight": 0.45,
"run_prevention_factor": 0.9888,
"strikeout_factor": 1.0046,
"walk_factor": 0.9757,
"homer_factor": 0.976,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660853",
"espn_id": 35026,
"player_name": "Enyel De Los Santos",
"team": "HOU",
"role": "pitcher",
"espn_rank": 472,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 472,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 4.0,
"sv_rank": 30,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 30.0,
"ip_rank": 240,
"h_value": 27.0,
"h_rank": 236,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 29.0,
"k_rank": 250,
"k_per_9_value": 8.7,
"k_per_9_rank": 28,
"whip_value": 1.1666,
"whip_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.995,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.995,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9891,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9892,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0021,
"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": 6,
"H": 8,
"BB": 4,
"SO": 12,
"HR": 1,
"ERA": 5.4,
"WHIP": 1.2,
"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-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "660853",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"role": "pitcher",
"player_id": "660853",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 6.0,
"R": 6.0,
"H": 7.0,
"BB": 3.0,
"SO": 4.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 98.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.4,
"BB": 0.6,
"SO": 0.8,
"HR": 0.2,
"BF": 4.6,
"Pitches": 19.6
},
"rates": {
"ERA": 11.5714,
"WHIP": 2.1429,
"ER_per_IP": 1.28571,
"H_per_IP": 1.5,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 6.0,
"R": 6.0,
"H": 8.0,
"BB": 4.0,
"SO": 12.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 168.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.4,
"SO": 1.2,
"HR": 0.1,
"BF": 4.1,
"Pitches": 16.8
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2,
"ER_per_IP": 0.6,
"H_per_IP": 0.8,
"BB_per_IP": 0.4,
"SO_per_IP": 1.2,
"HR_per_IP": 0.1
}
},
"season": {
"games": 29,
"totals": {
"IP": 30.0,
"ER": 15.0,
"R": 16.0,
"H": 27.0,
"BB": 8.0,
"SO": 29.0,
"HR": 2.0,
"BF": 125.0,
"Pitches": 478.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5172,
"R": 0.5517,
"H": 0.931,
"BB": 0.2759,
"SO": 1.0,
"HR": 0.069,
"BF": 4.3103,
"Pitches": 16.4828
},
"rates": {
"ERA": 4.5,
"WHIP": 1.1667,
"ER_per_IP": 0.5,
"H_per_IP": 0.9,
"BB_per_IP": 0.26667,
"SO_per_IP": 0.96667,
"HR_per_IP": 0.06667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.709,
"predicted_H": 1.061,
"predicted_BB": 0.427,
"predicted_SO": 0.969,
"predicted_HR": 0.145,
"predicted_ERA": 6.3845,
"predicted_WHIP": 1.4877
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5431,
"form_weight": 0.4569,
"form_reliability": 0.543,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.709,
"final": 0.867,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.061,
"final": 1.0279,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.427,
"final": 1.2813,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.969,
"final": 0.9858,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.145,
"final": 0.0663,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.3845,
"final": 6.3845,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4877,
"final": 1.4877,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Josh Hader |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5856 |
| ESPN Rank | 224 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 1 |
| Pre BB | 3 |
| Pre SO | 1 |
| Season ERA | 0 |
| Season WHIP | 0.2000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 81,
"wins": 36,
"losses": 45,
"win_pct": 0.4444,
"runs_scored": 364.0,
"runs_allowed": 403.0,
"run_differential": -39.0,
"run_differential_per_game": -0.4815,
"avg_runs_scored": 4.4938,
"avg_runs_allowed": 4.9753,
"offense_index": 1.0013,
"defense_index": 0.9021,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.9,
"run_differential": -4.0
},
"available": true,
"quality_score": -0.1063
},
"opponent": {
"team": "DET",
"games": 78,
"wins": 31,
"losses": 47,
"win_pct": 0.3974,
"runs_scored": 312.0,
"runs_allowed": 322.0,
"run_differential": -10.0,
"run_differential_per_game": -0.1282,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.1282,
"offense_index": 0.8913,
"defense_index": 1.0872,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 2.9,
"run_differential": 18.0
},
"available": true,
"quality_score": -0.1029
},
"edges": {
"quality_edge": -0.0034,
"offense_edge": 0.0013,
"opponent_offense_edge": -0.1087,
"defense_strength": -0.0979,
"opponent_defense_weakness": -0.0872,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0013,
"run_prevention": 0.9926,
"strikeout": 1.0086
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623352",
"profile": {
"available": true,
"pitcher_id": "623352",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 43.8,
"bb_percent": 6.3,
"woba": 0.044,
"xwoba": 0.124,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 12.5,
"avg_best_speed": 56.135,
"avg_hyper_speed": 89.2916,
"whiff_percent": 37.0,
"swing_percent": 59.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.8266,
"command_and_miss": 1.84,
"regression_edge": -2.0,
"xwoba_edge": 2.5,
"barrel_edge": -1.1556,
"hard_hit_edge": 2.5,
"whiff_edge": 1.6429,
"bb_edge": 0.7,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5856,
"sample_weight": 0.45,
"run_prevention_factor": 0.9502,
"strikeout_factor": 1.0746,
"walk_factor": 0.9748,
"homer_factor": 0.9628,
"woba_minus_xwoba": -0.08,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "623352",
"espn_id": 32760,
"player_name": "Josh Hader",
"team": "HOU",
"role": "pitcher",
"espn_rank": 224,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 224,
"gp_value": 5.0,
"gp_rank": 475,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 0.0,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 5.0,
"ip_rank": 539,
"h_value": 0.0,
"h_rank": 682,
"er_value": 0.0,
"er_rank": 649,
"hr_value": 0.0,
"hr_rank": 568,
"bb_value": 1.0,
"bb_rank": 613,
"k_value": 7.0,
"k_rank": 492,
"k_per_9_value": 12.599999,
"k_per_9_rank": 24,
"whip_value": 0.2,
"whip_rank": null,
"war_value": 0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9776,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9776,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9887,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9833,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0336,
"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": 5.0,
"ER": 0,
"H": 0,
"BB": 1,
"SO": 7,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.2,
"K9": 12.6,
"HR9": 0.0,
"games_pitched": 5,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 5,
"error_prone": false
},
"games_count": 5,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "623352",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.99,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1653,
"prior_weight": 0.8347
},
"role": "pitcher",
"player_id": "623352",
"report_date": "20260615_D",
"season_year": 2026,
"rows_used": 5,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.2,
"Pitches": 15.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.2,
"Pitches": 15.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"season": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 3.2,
"Pitches": 15.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.2,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.2,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.414,
"predicted_H": 0.811,
"predicted_BB": 0.334,
"predicted_SO": 1.011,
"predicted_HR": 0.121,
"predicted_ERA": 3.7297,
"predicted_WHIP": 1.1459
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7027,
"form_weight": 0.2973,
"form_reliability": 0.1653,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.99,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1653,
"prior_weight": 0.8347
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.414,
"final": 1.5284,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.811,
"final": 0.9438,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.334,
"final": 2.2073,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.011,
"final": 1.0033,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.121,
"final": 0.036,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7297,
"final": 3.7297,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1459,
"final": 1.1459,
"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.183 | 1.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | 0.816 | 1.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.090 | 4.000 | 4.000 | Hitting_AB | 3.816 | 4.000 | 0.184 | 0.000 |
| predicted_AVG | 0.234 | 0.500 | 0.250 | Hitting_AVG | 0.273 | 0.250 | 0.227 | 0.250 |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.380 | 0.000 | -0.380 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.960 | 2.000 | 1.000 | Hitting_H | 1.041 | 1.000 | 0.959 | 1.000 |
| predicted_HR | 0.210 | 1.000 | 0.000 | Hitting_HR | 0.282 | 0.000 | 0.718 | 1.000 |
| predicted_OBP | 0.295 | 0.500 | 0.250 | Hitting_OBP | 0.345 | 0.250 | 0.155 | 0.250 |
| predicted_R | 0.577 | 1.000 | 1.000 | Hitting_R | 0.645 | 0.000 | 0.355 | 1.000 |
| predicted_RBI | 0.660 | 1.000 | 1.000 | Hitting_RBI | 0.788 | 0.000 | 0.212 | 1.000 |
| predicted_SLG | 0.459 | 1.500 | 0.250 | Hitting_SLG | 0.544 | 0.250 | 0.956 | 1.250 |
| predicted_SO | 0.887 | 0.000 | 1.000 | Hitting_SO | 0.800 | 0.000 | -0.800 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9600 -> 2.0000 (boost 1.0400, better) |
| Biggest Deboost | predicted_SO: 0.8870 -> 0.0000 (deboost -0.8870, 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 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4590 -> 0.4787 (boost 0.0197, better) | predicted_AB: 4.0900 -> 4.0071 (deboost -0.0829, 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.4787 -> 0.4640 (deboost -0.0147, 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.6778 -> 1.0000 (boost 0.3222, better) | predicted_BB: 0.2910 -> 0.0000 (deboost -0.2910, worse) | AB rounded to 4 (raw=4.09), rates preserved: AVG=0.230 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5429 -> 1.0000 (boost 0.4571, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2352 -> 0.2500 (boost 0.0148, better) | predicted_SLG: 0.4640 -> 0.2500 (deboost -0.2140, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4640 (boost 0.2140, better) | predicted_AVG: 0.2500 -> 0.2352 (deboost -0.0148, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "572233",
"player_name": "Christian Walker",
"position": "1B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.183,
"predicted_3B": 0.014,
"predicted_AB": 4.09,
"predicted_AVG": 0.234,
"predicted_BB": 0.324,
"predicted_H": 0.96,
"predicted_HR": 0.21,
"predicted_OBP": 0.295,
"predicted_R": 0.577,
"predicted_RBI": 0.66,
"predicted_SLG": 0.459,
"predicted_SO": 0.887
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1932,
"predicted_3B": 0.0195,
"predicted_AB": 4.0071,
"predicted_AVG": 0.2364,
"predicted_BB": 0.291,
"predicted_H": 0.949,
"predicted_HBP": 0.035,
"predicted_HR": 0.2303,
"predicted_OBP": 0.2924,
"predicted_R": 0.5487,
"predicted_RBI": 0.685,
"predicted_SLG": 0.4787,
"predicted_SO": 0.9103
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.1932,
"delta": 0.0102,
"percent_delta": 0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0195,
"delta": 0.0055,
"percent_delta": 0.3929,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.09,
"after": 4.0071,
"delta": -0.0829,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2364,
"delta": 0.0024,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.291,
"delta": -0.033,
"percent_delta": -0.1019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.949,
"delta": -0.011,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.2303,
"delta": 0.0203,
"percent_delta": 0.0967,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2924,
"delta": -0.0026,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.577,
"after": 0.5487,
"delta": -0.0283,
"percent_delta": -0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.685,
"delta": 0.025,
"percent_delta": 0.0379,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4787,
"delta": 0.0197,
"percent_delta": 0.0429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.887,
"after": 0.9103,
"delta": 0.0233,
"percent_delta": 0.0263,
"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.459,
"after": 0.4787,
"delta": 0.0197,
"percent_delta": 0.0429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.09,
"after": 4.0071,
"delta": -0.0829,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1932,
"predicted_3B": 0.0195,
"predicted_AB": 4.0071,
"predicted_AVG": 0.2352,
"predicted_BB": 0.291,
"predicted_H": 0.9424,
"predicted_HBP": 0.035,
"predicted_HR": 0.2283,
"predicted_OBP": 0.287,
"predicted_R": 0.5429,
"predicted_RBI": 0.6778,
"predicted_SLG": 0.464,
"predicted_SO": 0.9104
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1932,
"after": 0.1932,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0195,
"after": 0.0195,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0071,
"after": 4.0071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2364,
"after": 0.2352,
"delta": -0.0012,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.291,
"after": 0.291,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.949,
"after": 0.9424,
"delta": -0.0066,
"percent_delta": -0.007,
"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.2303,
"after": 0.2283,
"delta": -0.002,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2924,
"after": 0.287,
"delta": -0.0054,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5487,
"after": 0.5429,
"delta": -0.0058,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.685,
"after": 0.6778,
"delta": -0.0072,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4787,
"after": 0.464,
"delta": -0.0147,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9103,
"after": 0.9104,
"delta": 0.0001,
"percent_delta": 0.0001,
"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.4787,
"after": 0.464,
"delta": -0.0147,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.09), rates preserved: AVG=0.230 HR/AB=0.056",
"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.1932,
"after": 0.0,
"delta": -0.1932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0195,
"after": 0.0,
"delta": -0.0195,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0071,
"after": 4.0,
"delta": -0.0071,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.9424,
"after": 1.0,
"delta": 0.0576,
"percent_delta": 0.0611,
"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.2283,
"after": 0.0,
"delta": -0.2283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6778,
"after": 1.0,
"delta": 0.3222,
"percent_delta": 0.4754,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9104,
"after": 1.0,
"delta": 0.0896,
"percent_delta": 0.0984,
"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.6778,
"after": 1.0,
"delta": 0.3222,
"percent_delta": 0.4754,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.291,
"after": 0.0,
"delta": -0.291,
"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.5429,
"after": 1.0,
"delta": 0.4571,
"percent_delta": 0.842,
"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.5429,
"after": 1.0,
"delta": 0.4571,
"percent_delta": 0.842,
"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.2352,
"after": 0.25,
"delta": 0.0148,
"percent_delta": 0.0629,
"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.287,
"after": 0.25,
"delta": -0.037,
"percent_delta": -0.1289,
"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.464,
"after": 0.25,
"delta": -0.214,
"percent_delta": -0.4612,
"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.2352,
"after": 0.25,
"delta": 0.0148,
"percent_delta": 0.0629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.464,
"after": 0.25,
"delta": -0.214,
"percent_delta": -0.4612,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 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": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2352,
"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.287,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.464,
"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.2352,
"delta": -0.0148,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.287,
"delta": 0.037,
"percent_delta": 0.1478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.464,
"delta": 0.214,
"percent_delta": 0.8562,
"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.464,
"delta": 0.214,
"percent_delta": 0.8562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2352,
"delta": -0.0148,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"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.234,
"after": 0.2352,
"delta": 0.0012,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 2.0,
"delta": 1.04,
"percent_delta": 1.0833,
"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.295,
"after": 0.287,
"delta": -0.008,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.577,
"after": 1.0,
"delta": 0.423,
"percent_delta": 0.7331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.464,
"delta": 0.005,
"percent_delta": 0.0109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.887,
"after": 0.0,
"delta": -0.887,
"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.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.887,
"after": 0.0,
"delta": -0.887,
"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.183 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.090 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.577 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.459 | - |
| predicted_SO | 0.887 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.193 | 0.010 |
| predicted_3B | 0.019 | 0.005 |
| predicted_AB | 4.007 | -0.083 |
| predicted_AVG | 0.236 | 0.002 |
| predicted_BB | 0.291 | -0.033 |
| predicted_H | 0.949 | -0.011 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.230 | 0.020 |
| predicted_OBP | 0.292 | -0.003 |
| predicted_R | 0.549 | -0.028 |
| predicted_RBI | 0.685 | 0.025 |
| predicted_SLG | 0.479 | 0.020 |
| predicted_SO | 0.910 | 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.193 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.007 | 0.000 |
| predicted_AVG | 0.235 | -0.001 |
| predicted_BB | 0.291 | 0.000 |
| predicted_H | 0.942 | -0.007 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.228 | -0.002 |
| predicted_OBP | 0.287 | -0.005 |
| predicted_R | 0.543 | -0.006 |
| predicted_RBI | 0.678 | -0.007 |
| predicted_SLG | 0.464 | -0.015 |
| predicted_SO | 0.910 | 0.000 |
AB rounded to 4 (raw=4.09), rates preserved: AVG=0.230 HR/AB=0.056
| 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.193 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | -0.007 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 0.000 | -0.291 |
| predicted_H | 1.000 | 0.058 |
| predicted_HR | 0.000 | -0.228 |
| predicted_OBP | 0.250 | -0.037 |
| predicted_R | 1.000 | 0.457 |
| predicted_RBI | 1.000 | 0.322 |
| predicted_SLG | 0.250 | -0.214 |
| predicted_SO | 1.000 | 0.090 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 1.000 | 0.000 | 2.000 | 4.000 | 2.000 | 0.000 | 5.000 | 0.1905 | 0.1905 | 0.5238 | 0.1905 | 0.0952 | 0.1905 | 0.0000 | 0.2381 |
| last_10 | 0.20 | 10 | - | 40.000 | 10.000 | 3.000 | 1.000 | 2.000 | 7.000 | 4.000 | 2.000 | 11.000 | 0.2500 | 0.2857 | 0.5250 | 0.2500 | 0.0500 | 0.1750 | 0.0500 | 0.2750 |
| season | 0.60 | 71 | - | 267.000 | 67.000 | 13.000 | 1.000 | 18.000 | 52.000 | 41.000 | 23.000 | 63.000 | 0.2509 | 0.3186 | 0.5094 | 0.2509 | 0.0674 | 0.1948 | 0.0861 | 0.2360 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2070 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.8940 |
| predicted_AVG | 0.2397 |
| predicted_BB | 0.2460 |
| predicted_H | 0.9340 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.2580 |
| predicted_OBP | 0.2889 |
| predicted_R | 0.5100 |
| predicted_RBI | 0.7190 |
| predicted_SLG | 0.5056 |
| predicted_SO | 0.9420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.2070 | 0.1932 | model_form_blend |
| predicted_3B | 0.0140 | 0.0270 | 0.0195 | model_form_blend |
| predicted_AB | 4.0900 | 3.8940 | 4.0071 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2397 | 0.2364 | model_form_blend |
| predicted_BB | 0.3240 | 0.2460 | 0.2910 | model_form_blend |
| predicted_H | 0.9600 | 0.9340 | 0.9490 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.2100 | 0.2580 | 0.2303 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2889 | 0.2924 | model_form_blend |
| predicted_R | 0.5770 | 0.5100 | 0.5487 | model_form_blend |
| predicted_RBI | 0.6600 | 0.7190 | 0.6850 | model_form_blend |
| predicted_SLG | 0.4590 | 0.5056 | 0.4787 | model_form_blend |
| predicted_SO | 0.8870 | 0.9420 | 0.9103 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| 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 | 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 | 20260614_HOU@KC |
| game_type | full |
| mlbID | 572233 |
| playerID | 572233 |
| playerName | Christian Walker |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.353 |
| sl_xwoba | 0.317 |
| sl_xba | 0.237 |
| sl_xslg | 0.424 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 45.6 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 30.3 |
| sl_swing_percent | 50.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.206 | 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 | 4.350 | 4.000 | 4.000 | Hitting_AB | 4.069 | 4.000 | -0.069 | 0.000 |
| predicted_AVG | 0.231 | 0.000 | 0.250 | Hitting_AVG | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_BB | 0.353 | 0.000 | 0.000 | Hitting_BB | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.010 | 0.000 | -0.010 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.039 | 0.000 | -1.039 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_OBP | 0.323 | 0.000 | 0.250 | Hitting_OBP | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_R | 0.735 | 0.000 | 1.000 | Hitting_R | 0.657 | 0.000 | -0.657 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.314 | 0.000 | -0.314 | 0.000 |
| predicted_SLG | 0.355 | 0.000 | 0.250 | Hitting_SLG | 0.378 | 0.000 | -0.378 | 0.000 |
| predicted_SO | 0.588 | 1.000 | 1.000 | Hitting_SO | 0.559 | 0.000 | 0.441 | 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.5880 -> 1.0000 (boost 0.4120, 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 | 3 | 1 | 2 | 1 | 2 | predicted_BB: 0.3530 -> 0.4123 (boost 0.0593, better) | predicted_AB: 4.3500 -> 4.1295 (deboost -0.2205, 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.3256 -> 0.2992 (deboost -0.0264, 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.5937 -> 1.0000 (boost 0.4063, worse) | predicted_BB: 0.4123 -> 0.0000 (deboost -0.4123, worse) | AB rounded to 4 (raw=4.35), rates preserved: AVG=0.218 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7075 -> 1.0000 (boost 0.2925, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2293 -> 0.2500 (boost 0.0207, better) | predicted_SLG: 0.3333 -> 0.2500 (deboost -0.0833, 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_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_SLG: 0.2500 -> 0.3333 (boost 0.0833, better) | predicted_AVG: 0.2500 -> 0.2293 (deboost -0.0207, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665161",
"player_name": "Jeremy Peña",
"position": "SS",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.206,
"predicted_3B": 0.0,
"predicted_AB": 4.35,
"predicted_AVG": 0.231,
"predicted_BB": 0.353,
"predicted_H": 1.0,
"predicted_HR": 0.09,
"predicted_OBP": 0.323,
"predicted_R": 0.735,
"predicted_RBI": 0.37,
"predicted_SLG": 0.355,
"predicted_SO": 0.588
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.19,
"predicted_3B": 0.0008,
"predicted_AB": 4.1295,
"predicted_AVG": 0.2317,
"predicted_BB": 0.4123,
"predicted_H": 0.9535,
"predicted_HBP": 0.049,
"predicted_HR": 0.08,
"predicted_OBP": 0.3256,
"predicted_R": 0.715,
"predicted_RBI": 0.3379,
"predicted_SLG": 0.3445,
"predicted_SO": 0.5936
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.206,
"after": 0.19,
"delta": -0.016,
"percent_delta": -0.0777,
"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": 4.35,
"after": 4.1295,
"delta": -0.2205,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2317,
"delta": 0.0007,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.4123,
"delta": 0.0593,
"percent_delta": 0.168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9535,
"delta": -0.0465,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.08,
"delta": -0.01,
"percent_delta": -0.1111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3256,
"delta": 0.0026,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.735,
"after": 0.715,
"delta": -0.02,
"percent_delta": -0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3379,
"delta": -0.0321,
"percent_delta": -0.0868,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3445,
"delta": -0.0105,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 0.5936,
"delta": 0.0056,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.353,
"after": 0.4123,
"delta": 0.0593,
"percent_delta": 0.168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 4.1295,
"delta": -0.2205,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.19,
"predicted_3B": 0.0008,
"predicted_AB": 4.1295,
"predicted_AVG": 0.2293,
"predicted_BB": 0.4123,
"predicted_H": 0.9468,
"predicted_HBP": 0.049,
"predicted_HR": 0.0793,
"predicted_OBP": 0.2992,
"predicted_R": 0.7075,
"predicted_RBI": 0.3344,
"predicted_SLG": 0.3333,
"predicted_SO": 0.5937
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.19,
"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.1295,
"after": 4.1295,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2317,
"after": 0.2293,
"delta": -0.0024,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4123,
"after": 0.4123,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9535,
"after": 0.9468,
"delta": -0.0067,
"percent_delta": -0.007,
"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.08,
"after": 0.0793,
"delta": -0.0007,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3256,
"after": 0.2992,
"delta": -0.0264,
"percent_delta": -0.0811,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.715,
"after": 0.7075,
"delta": -0.0075,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3379,
"after": 0.3344,
"delta": -0.0035,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3445,
"after": 0.3333,
"delta": -0.0112,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5936,
"after": 0.5937,
"delta": 0.0001,
"percent_delta": 0.0002,
"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.3256,
"after": 0.2992,
"delta": -0.0264,
"percent_delta": -0.0811,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.35), rates preserved: AVG=0.218 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"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.1295,
"after": 4.0,
"delta": -0.1295,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4123,
"after": 0.0,
"delta": -0.4123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9468,
"after": 1.0,
"delta": 0.0532,
"percent_delta": 0.0562,
"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.0793,
"after": 0.0,
"delta": -0.0793,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3344,
"after": 0.0,
"delta": -0.3344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5937,
"after": 1.0,
"delta": 0.4063,
"percent_delta": 0.6844,
"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.5937,
"after": 1.0,
"delta": 0.4063,
"percent_delta": 0.6844,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4123,
"after": 0.0,
"delta": -0.4123,
"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.7075,
"after": 1.0,
"delta": 0.2925,
"percent_delta": 0.4134,
"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.7075,
"after": 1.0,
"delta": 0.2925,
"percent_delta": 0.4134,
"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.2293,
"after": 0.25,
"delta": 0.0207,
"percent_delta": 0.0903,
"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.2992,
"after": 0.25,
"delta": -0.0492,
"percent_delta": -0.1644,
"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.3333,
"after": 0.25,
"delta": -0.0833,
"percent_delta": -0.2499,
"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.2293,
"after": 0.25,
"delta": 0.0207,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3333,
"after": 0.25,
"delta": -0.0833,
"percent_delta": -0.2499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2293,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2992,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3333,
"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.2293,
"delta": -0.0207,
"percent_delta": -0.0829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2992,
"delta": 0.0492,
"percent_delta": 0.197,
"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.3333,
"delta": 0.0833,
"percent_delta": 0.3332,
"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.3333,
"delta": 0.0833,
"percent_delta": 0.3332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2293,
"delta": -0.0207,
"percent_delta": -0.0829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.206,
"after": 0.0,
"delta": -0.206,
"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.231,
"after": 0.2293,
"delta": -0.0017,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.353,
"after": 0.0,
"delta": -0.353,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"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.323,
"after": 0.2992,
"delta": -0.0238,
"percent_delta": -0.0737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.735,
"after": 0.0,
"delta": -0.735,
"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.355,
"after": 0.3333,
"delta": -0.0217,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 1.0,
"delta": 0.412,
"percent_delta": 0.7007,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.588,
"after": 1.0,
"delta": 0.412,
"percent_delta": 0.7007,
"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.206 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.350 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.353 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.735 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.355 | - |
| predicted_SO | 0.588 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | -0.016 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.130 | -0.220 |
| predicted_AVG | 0.232 | 0.001 |
| predicted_BB | 0.412 | 0.059 |
| predicted_H | 0.954 | -0.046 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.080 | -0.010 |
| predicted_OBP | 0.326 | 0.003 |
| predicted_R | 0.715 | -0.020 |
| predicted_RBI | 0.338 | -0.032 |
| predicted_SLG | 0.344 | -0.011 |
| predicted_SO | 0.594 | 0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.130 | 0.000 |
| predicted_AVG | 0.229 | -0.002 |
| predicted_BB | 0.412 | 0.000 |
| predicted_H | 0.947 | -0.007 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.079 | -0.001 |
| predicted_OBP | 0.299 | -0.026 |
| predicted_R | 0.708 | -0.007 |
| predicted_RBI | 0.334 | -0.004 |
| predicted_SLG | 0.333 | -0.011 |
| predicted_SO | 0.594 | 0.000 |
AB rounded to 4 (raw=4.35), rates preserved: AVG=0.218 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.190 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.130 |
| predicted_AVG | 0.250 | 0.021 |
| predicted_BB | 0.000 | -0.412 |
| predicted_H | 1.000 | 0.053 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.250 | -0.049 |
| predicted_R | 1.000 | 0.292 |
| predicted_RBI | 0.000 | -0.334 |
| predicted_SLG | 0.250 | -0.083 |
| predicted_SO | 1.000 | 0.406 |
Attached 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 3.000 | 0.1111 | 0.2727 | 0.1111 | 0.1111 | 0.0000 | 0.0000 | 0.2222 | 0.1667 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 2.000 | 0.000 | 0.000 | 2.000 | 8.000 | 8.000 | 4.000 | 0.2222 | 0.3636 | 0.2778 | 0.2222 | 0.0000 | 0.0556 | 0.2222 | 0.1111 |
| season | 0.60 | 34 | - | 133.000 | 36.000 | 7.000 | 0.000 | 3.000 | 12.000 | 25.000 | 12.000 | 20.000 | 0.2707 | 0.3423 | 0.3910 | 0.2707 | 0.0226 | 0.0902 | 0.0902 | 0.1504 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1660 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.8000 |
| predicted_AVG | 0.2327 |
| predicted_BB | 0.5010 |
| predicted_H | 0.8840 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.3294 |
| predicted_R | 0.6850 |
| predicted_RBI | 0.2900 |
| predicted_SLG | 0.3287 |
| predicted_SO | 0.6020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2060 | 0.1660 | 0.1900 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.3500 | 3.8000 | 4.1295 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2327 | 0.2317 | model_form_blend |
| predicted_BB | 0.3530 | 0.5010 | 0.4123 | model_form_blend |
| predicted_H | 1.0000 | 0.8840 | 0.9535 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0900 | 0.0650 | 0.0800 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3294 | 0.3256 | model_form_blend |
| predicted_R | 0.7350 | 0.6850 | 0.7150 | model_form_blend |
| predicted_RBI | 0.3700 | 0.2900 | 0.3379 | model_form_blend |
| predicted_SLG | 0.3550 | 0.3287 | 0.3445 | model_form_blend |
| predicted_SO | 0.5880 | 0.6020 | 0.5936 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 102 |
| Season rows before report date | 102 |
| Report year | 2026 |
| Profile rows used | 34 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.271 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 20260614_HOU@KC |
| game_type | full |
| mlbID | 665161 |
| playerID | 665161 |
| playerName | Jeremy Peña |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-14 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.338 |
| sl_xwoba | 0.364 |
| sl_xba | 0.31 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 32.7 |
| sl_exit_velocity_avg | 85.8 |
| sl_launch_angle_avg | 14.2 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 51.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.183 | 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 | 4.040 | 4.000 | 4.000 | Hitting_AB | 3.704 | 4.000 | 0.296 | 0.000 |
| predicted_AVG | 0.291 | 0.250 | 0.250 | Hitting_AVG | 0.334 | 0.250 | -0.084 | 0.000 |
| predicted_BB | 0.648 | 0.000 | 1.000 | Hitting_BB | 0.715 | 0.000 | -0.715 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.180 | 1.000 | 1.000 | Hitting_H | 1.238 | 1.000 | -0.238 | 0.000 |
| predicted_HR | 0.280 | 1.000 | 0.000 | Hitting_HR | 0.392 | 0.000 | 0.608 | 1.000 |
| predicted_OBP | 0.409 | 0.250 | 0.400 | Hitting_OBP | 0.448 | 0.250 | -0.198 | 0.000 |
| predicted_R | 0.690 | 1.000 | 1.000 | Hitting_R | 0.735 | 0.000 | 0.265 | 1.000 |
| predicted_RBI | 0.810 | 1.000 | 1.000 | Hitting_RBI | 0.765 | 0.000 | 0.235 | 1.000 |
| predicted_SLG | 0.594 | 1.000 | 0.250 | Hitting_SLG | 0.705 | 0.250 | 0.295 | 0.750 |
| predicted_SO | 0.732 | 1.000 | 1.000 | Hitting_SO | 0.746 | 1.000 | 0.254 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 8 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 3 |
| Better Metrics | 4 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_HR: 0.2800 -> 1.0000 (boost 0.7200, better) |
| Biggest Deboost | predicted_BB: 0.6480 -> 0.0000 (deboost -0.6480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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: 1.1800 -> 1.2538 (boost 0.0738, better) | predicted_AB: 4.0400 -> 3.8987 (deboost -0.1413, 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.6243 -> 0.5896 (deboost -0.0347, 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.6001 -> 1.0000 (boost 0.3999, better) | predicted_HR: 0.2965 -> 0.0000 (deboost -0.2965, worse) | AB rounded to 4 (raw=4.04), rates preserved: AVG=0.308 HR/AB=0.073 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6786 -> 1.0000 (boost 0.3214, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5896 -> 0.2500 (deboost -0.3396, 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_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 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.5896 (boost 0.3396, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.183,
"predicted_3B": 0.0,
"predicted_AB": 4.04,
"predicted_AVG": 0.291,
"predicted_BB": 0.648,
"predicted_H": 1.18,
"predicted_HR": 0.28,
"predicted_OBP": 0.409,
"predicted_R": 0.69,
"predicted_RBI": 0.81,
"predicted_SLG": 0.594,
"predicted_SO": 0.732
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1635,
"predicted_3B": 0.0004,
"predicted_AB": 3.8987,
"predicted_AVG": 0.3224,
"predicted_BB": 0.6001,
"predicted_H": 1.2538,
"predicted_HBP": 0.042,
"predicted_HR": 0.2991,
"predicted_OBP": 0.4264,
"predicted_R": 0.6858,
"predicted_RBI": 0.8312,
"predicted_SLG": 0.6243,
"predicted_SO": 0.7027
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.183,
"after": 0.1635,
"delta": -0.0195,
"percent_delta": -0.1066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.04,
"after": 3.8987,
"delta": -0.1413,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.3224,
"delta": 0.0314,
"percent_delta": 0.1079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.648,
"after": 0.6001,
"delta": -0.0479,
"percent_delta": -0.0739,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.2538,
"delta": 0.0738,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.2991,
"delta": 0.0191,
"percent_delta": 0.0682,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.409,
"after": 0.4264,
"delta": 0.0174,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.69,
"after": 0.6858,
"delta": -0.0042,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 0.8312,
"delta": 0.0212,
"percent_delta": 0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.594,
"after": 0.6243,
"delta": 0.0303,
"percent_delta": 0.051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.732,
"after": 0.7027,
"delta": -0.0293,
"percent_delta": -0.04,
"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": 1.18,
"after": 1.2538,
"delta": 0.0738,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.04,
"after": 3.8987,
"delta": -0.1413,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1635,
"predicted_3B": 0.0004,
"predicted_AB": 3.8987,
"predicted_AVG": 0.3193,
"predicted_BB": 0.6001,
"predicted_H": 1.245,
"predicted_HBP": 0.042,
"predicted_HR": 0.2965,
"predicted_OBP": 0.4101,
"predicted_R": 0.6786,
"predicted_RBI": 0.8225,
"predicted_SLG": 0.5896,
"predicted_SO": 0.7028
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1635,
"after": 0.1635,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8987,
"after": 3.8987,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3224,
"after": 0.3193,
"delta": -0.0031,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6001,
"after": 0.6001,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2538,
"after": 1.245,
"delta": -0.0088,
"percent_delta": -0.007,
"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.2991,
"after": 0.2965,
"delta": -0.0026,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4264,
"after": 0.4101,
"delta": -0.0163,
"percent_delta": -0.0382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6858,
"after": 0.6786,
"delta": -0.0072,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8312,
"after": 0.8225,
"delta": -0.0087,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6243,
"after": 0.5896,
"delta": -0.0347,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7027,
"after": 0.7028,
"delta": 0.0001,
"percent_delta": 0.0001,
"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.6243,
"after": 0.5896,
"delta": -0.0347,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.04), rates preserved: AVG=0.308 HR/AB=0.073",
"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.1635,
"after": 0.0,
"delta": -0.1635,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8987,
"after": 4.0,
"delta": 0.1013,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6001,
"after": 1.0,
"delta": 0.3999,
"percent_delta": 0.6664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.245,
"after": 1.0,
"delta": -0.245,
"percent_delta": -0.1968,
"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.2965,
"after": 0.0,
"delta": -0.2965,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8225,
"after": 1.0,
"delta": 0.1775,
"percent_delta": 0.2158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7028,
"after": 1.0,
"delta": 0.2972,
"percent_delta": 0.4229,
"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.6001,
"after": 1.0,
"delta": 0.3999,
"percent_delta": 0.6664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2965,
"after": 0.0,
"delta": -0.2965,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6786,
"after": 1.0,
"delta": 0.3214,
"percent_delta": 0.4736,
"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.6786,
"after": 1.0,
"delta": 0.3214,
"percent_delta": 0.4736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3193,
"after": 0.25,
"delta": -0.0693,
"percent_delta": -0.217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4101,
"after": 0.4,
"delta": -0.0101,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5896,
"after": 0.25,
"delta": -0.3396,
"percent_delta": -0.576,
"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.5896,
"after": 0.25,
"delta": -0.3396,
"percent_delta": -0.576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3193,
"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.4101,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5896,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.3193,
"delta": 0.0693,
"percent_delta": 0.2774,
"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.4,
"after": 0.4101,
"delta": 0.0101,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5896,
"delta": 0.3396,
"percent_delta": 1.3585,
"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.5896,
"delta": 0.3396,
"percent_delta": 1.3585,
"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.183,
"after": 0.0,
"delta": -0.183,
"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.04,
"after": 4.0,
"delta": -0.04,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.3193,
"delta": 0.0283,
"percent_delta": 0.0973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.648,
"after": 0.0,
"delta": -0.648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.18,
"after": 1.0,
"delta": -0.18,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.409,
"after": 0.4101,
"delta": 0.0011,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.594,
"after": 0.5896,
"delta": -0.0044,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.732,
"after": 1.0,
"delta": 0.268,
"percent_delta": 0.3661,
"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.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.648,
"after": 0.0,
"delta": -0.648,
"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.183 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.040 | - |
| predicted_AVG | 0.291 | - |
| predicted_BB | 0.648 | - |
| predicted_H | 1.180 | - |
| predicted_HR | 0.280 | - |
| predicted_OBP | 0.409 | - |
| predicted_R | 0.690 | - |
| predicted_RBI | 0.810 | - |
| predicted_SLG | 0.594 | - |
| predicted_SO | 0.732 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | -0.019 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.899 | -0.141 |
| predicted_AVG | 0.322 | 0.031 |
| predicted_BB | 0.600 | -0.048 |
| predicted_H | 1.254 | 0.074 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.299 | 0.019 |
| predicted_OBP | 0.426 | 0.017 |
| predicted_R | 0.686 | -0.004 |
| predicted_RBI | 0.831 | 0.021 |
| predicted_SLG | 0.624 | 0.030 |
| predicted_SO | 0.703 | -0.029 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.899 | 0.000 |
| predicted_AVG | 0.319 | -0.003 |
| predicted_BB | 0.600 | 0.000 |
| predicted_H | 1.245 | -0.009 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.296 | -0.003 |
| predicted_OBP | 0.410 | -0.016 |
| predicted_R | 0.679 | -0.007 |
| predicted_RBI | 0.823 | -0.009 |
| predicted_SLG | 0.590 | -0.035 |
| predicted_SO | 0.703 | 0.000 |
AB rounded to 4 (raw=4.04), rates preserved: AVG=0.308 HR/AB=0.073
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.164 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.101 |
| predicted_AVG | 0.250 | -0.069 |
| predicted_BB | 1.000 | 0.400 |
| predicted_H | 1.000 | -0.245 |
| predicted_HR | 0.000 | -0.296 |
| predicted_OBP | 0.400 | -0.010 |
| predicted_R | 1.000 | 0.321 |
| predicted_RBI | 1.000 | 0.177 |
| predicted_SLG | 0.250 | -0.340 |
| 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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 10.000 | 0.000 | 0.000 | 2.000 | 6.000 | 3.000 | 1.000 | 2.000 | 0.5000 | 0.5238 | 0.8000 | 0.5000 | 0.1000 | 0.3000 | 0.0500 | 0.1000 |
| last_10 | 0.20 | 10 | - | 36.000 | 14.000 | 1.000 | 0.000 | 3.000 | 10.000 | 8.000 | 6.000 | 6.000 | 0.3889 | 0.4762 | 0.6667 | 0.3889 | 0.0833 | 0.2778 | 0.1667 | 0.1667 |
| season | 0.60 | 71 | - | 257.000 | 85.000 | 13.000 | 0.000 | 24.000 | 54.000 | 49.000 | 46.000 | 52.000 | 0.3307 | 0.4387 | 0.6615 | 0.3307 | 0.0934 | 0.2101 | 0.1790 | 0.2023 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1370 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7070 |
| predicted_AVG | 0.3651 |
| predicted_BB | 0.5350 |
| predicted_H | 1.3540 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.3250 |
| predicted_OBP | 0.4500 |
| predicted_R | 0.6800 |
| predicted_RBI | 0.8600 |
| predicted_SLG | 0.6655 |
| predicted_SO | 0.6630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1830 | 0.1370 | 0.1635 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0400 | 3.7070 | 3.8987 | model_form_blend |
| predicted_AVG | 0.2910 | 0.3651 | 0.3224 | model_form_blend |
| predicted_BB | 0.6480 | 0.5350 | 0.6001 | model_form_blend |
| predicted_H | 1.1800 | 1.3540 | 1.2538 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.2800 | 0.3250 | 0.2991 | model_form_blend |
| predicted_OBP | 0.4090 | 0.4500 | 0.4264 | model_form_blend |
| predicted_R | 0.6900 | 0.6800 | 0.6858 | model_form_blend |
| predicted_RBI | 0.8100 | 0.8600 | 0.8312 | model_form_blend |
| predicted_SLG | 0.5940 | 0.6655 | 0.6243 | model_form_blend |
| predicted_SO | 0.7320 | 0.6630 | 0.7027 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.331 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 670541 |
| playerID | 670541 |
| playerName | Yordan Alvarez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-14 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 14.8 |
| sl_woba | 0.457 |
| sl_xwoba | 0.492 |
| sl_xba | 0.349 |
| sl_xslg | 0.739 |
| sl_sweet_spot_percent | 46.1 |
| sl_barrel_batted_rate | 18.6 |
| sl_hard_hit_percent | 52.9 |
| sl_exit_velocity_avg | 94.6 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 19.6 |
| 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_2B | 0.185 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.790 | 4.000 | 4.000 | Hitting_AB | 3.719 | 4.000 | 0.281 | 0.000 |
| predicted_AVG | 0.221 | 0.000 | 0.250 | Hitting_AVG | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_BB | 0.415 | 0.000 | 0.000 | Hitting_BB | 0.415 | 0.000 | -0.415 | 0.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.884 | 0.000 | -0.884 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.321 | 0.000 | 0.250 | Hitting_OBP | 0.336 | 0.200 | -0.336 | -0.200 |
| predicted_R | 0.415 | 0.000 | 0.000 | Hitting_R | 0.460 | 1.000 | -0.460 | -1.000 |
| predicted_RBI | 0.500 | 0.000 | 1.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.375 | 0.000 | 0.250 | Hitting_SLG | 0.393 | 0.000 | -0.393 | 0.000 |
| predicted_SO | 0.708 | 1.000 | 1.000 | Hitting_SO | 0.656 | 1.000 | 0.344 | 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.7080 -> 1.0000 (boost 0.2920, 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 | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 3.7900 -> 3.6839 (deboost -0.1061, 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.3229 -> 0.2924 (deboost -0.0305, 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.4893 -> 1.0000 (boost 0.5107, better) | predicted_BB: 0.4398 -> 0.0000 (deboost -0.4398, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.202 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4352 -> 0.0000 (deboost -0.4352, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2079 -> 0.2500 (boost 0.0421, better) | predicted_SLG: 0.3681 -> 0.2500 (deboost -0.1181, 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_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_SLG: 0.2500 -> 0.3681 (boost 0.1181, better) | predicted_AVG: 0.2500 -> 0.2079 (deboost -0.0421, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670623",
"player_name": "Isaac Paredes",
"position": "3B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.185,
"predicted_3B": 0.0,
"predicted_AB": 3.79,
"predicted_AVG": 0.221,
"predicted_BB": 0.415,
"predicted_H": 0.84,
"predicted_HR": 0.13,
"predicted_OBP": 0.321,
"predicted_R": 0.415,
"predicted_RBI": 0.5,
"predicted_SLG": 0.375,
"predicted_SO": 0.708
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1875,
"predicted_3B": 0.0004,
"predicted_AB": 3.6839,
"predicted_AVG": 0.2085,
"predicted_BB": 0.4398,
"predicted_H": 0.7714,
"predicted_HBP": 0.254,
"predicted_HR": 0.1351,
"predicted_OBP": 0.3229,
"predicted_R": 0.4398,
"predicted_RBI": 0.4945,
"predicted_SLG": 0.3716,
"predicted_SO": 0.7522
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.185,
"after": 0.1875,
"delta": 0.0025,
"percent_delta": 0.0135,
"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.79,
"after": 3.6839,
"delta": -0.1061,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2085,
"delta": -0.0125,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.4398,
"delta": 0.0248,
"percent_delta": 0.0598,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.7714,
"delta": -0.0686,
"percent_delta": -0.0817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1351,
"delta": 0.0051,
"percent_delta": 0.0392,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3229,
"delta": 0.0019,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.415,
"after": 0.4398,
"delta": 0.0248,
"percent_delta": 0.0598,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4945,
"delta": -0.0055,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3716,
"delta": -0.0034,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.708,
"after": 0.7522,
"delta": 0.0442,
"percent_delta": 0.0624,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 3.79,
"after": 3.6839,
"delta": -0.1061,
"percent_delta": -0.028,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1875,
"predicted_3B": 0.0004,
"predicted_AB": 3.6839,
"predicted_AVG": 0.2079,
"predicted_BB": 0.4398,
"predicted_H": 0.766,
"predicted_HBP": 0.254,
"predicted_HR": 0.1339,
"predicted_OBP": 0.2924,
"predicted_R": 0.4352,
"predicted_RBI": 0.4893,
"predicted_SLG": 0.3681,
"predicted_SO": 0.7523
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1875,
"after": 0.1875,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6839,
"after": 3.6839,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2085,
"after": 0.2079,
"delta": -0.0006,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4398,
"after": 0.4398,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7714,
"after": 0.766,
"delta": -0.0054,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.254,
"after": 0.254,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1351,
"after": 0.1339,
"delta": -0.0012,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3229,
"after": 0.2924,
"delta": -0.0305,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4398,
"after": 0.4352,
"delta": -0.0046,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4945,
"after": 0.4893,
"delta": -0.0052,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3716,
"after": 0.3681,
"delta": -0.0035,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7522,
"after": 0.7523,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3229,
"after": 0.2924,
"delta": -0.0305,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.202 HR/AB=0.035",
"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.1875,
"after": 0.0,
"delta": -0.1875,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6839,
"after": 4.0,
"delta": 0.3161,
"percent_delta": 0.0858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4398,
"after": 0.0,
"delta": -0.4398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.766,
"after": 1.0,
"delta": 0.234,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1339,
"after": 0.0,
"delta": -0.1339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4893,
"after": 1.0,
"delta": 0.5107,
"percent_delta": 1.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7523,
"after": 1.0,
"delta": 0.2477,
"percent_delta": 0.3293,
"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.4893,
"after": 1.0,
"delta": 0.5107,
"percent_delta": 1.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4398,
"after": 0.0,
"delta": -0.4398,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4352,
"after": 0.0,
"delta": -0.4352,
"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.4352,
"after": 0.0,
"delta": -0.4352,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2079,
"after": 0.25,
"delta": 0.0421,
"percent_delta": 0.2025,
"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.2924,
"after": 0.25,
"delta": -0.0424,
"percent_delta": -0.145,
"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.3681,
"after": 0.25,
"delta": -0.1181,
"percent_delta": -0.3208,
"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.2079,
"after": 0.25,
"delta": 0.0421,
"percent_delta": 0.2025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3681,
"after": 0.25,
"delta": -0.1181,
"percent_delta": -0.3208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2079,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2924,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3681,
"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.2079,
"delta": -0.0421,
"percent_delta": -0.1683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2924,
"delta": 0.0424,
"percent_delta": 0.1696,
"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.3681,
"delta": 0.1181,
"percent_delta": 0.4724,
"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.3681,
"delta": 0.1181,
"percent_delta": 0.4724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2079,
"delta": -0.0421,
"percent_delta": -0.1683,
"direction": "deboost",
"projection_effect": "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.79,
"after": 4.0,
"delta": 0.21,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2079,
"delta": -0.0131,
"percent_delta": -0.0593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.321,
"after": 0.2924,
"delta": -0.0286,
"percent_delta": -0.0891,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3681,
"delta": -0.0069,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.708,
"after": 1.0,
"delta": 0.292,
"percent_delta": 0.4124,
"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.708,
"after": 1.0,
"delta": 0.292,
"percent_delta": 0.4124,
"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.185 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.790 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.415 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.415 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.375 | - |
| predicted_SO | 0.708 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.188 | 0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.684 | -0.106 |
| predicted_AVG | 0.208 | -0.013 |
| predicted_BB | 0.440 | 0.025 |
| predicted_H | 0.771 | -0.069 |
| predicted_HBP | 0.254 | - |
| predicted_HR | 0.135 | 0.005 |
| predicted_OBP | 0.323 | 0.002 |
| predicted_R | 0.440 | 0.025 |
| predicted_RBI | 0.494 | -0.006 |
| predicted_SLG | 0.372 | -0.003 |
| predicted_SO | 0.752 | 0.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.188 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.684 | 0.000 |
| predicted_AVG | 0.208 | -0.001 |
| predicted_BB | 0.440 | 0.000 |
| predicted_H | 0.766 | -0.005 |
| predicted_HBP | 0.254 | 0.000 |
| predicted_HR | 0.134 | -0.001 |
| predicted_OBP | 0.292 | -0.031 |
| predicted_R | 0.435 | -0.005 |
| predicted_RBI | 0.489 | -0.005 |
| predicted_SLG | 0.368 | -0.004 |
| predicted_SO | 0.752 | 0.000 |
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.202 HR/AB=0.035
| 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 | 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.188 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.316 |
| predicted_AVG | 0.250 | 0.042 |
| predicted_BB | 0.000 | -0.440 |
| predicted_H | 1.000 | 0.234 |
| predicted_HR | 0.000 | -0.134 |
| predicted_OBP | 0.250 | -0.042 |
| predicted_R | 0.000 | -0.435 |
| predicted_RBI | 1.000 | 0.511 |
| predicted_SLG | 0.250 | -0.118 |
| 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 | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 5.000 | 0.0588 | 0.3043 | 0.1176 | 0.0588 | 0.0000 | 0.0000 | 0.1765 | 0.2941 |
| last_10 | 0.20 | 10 | - | 34.000 | 7.000 | 2.000 | 0.000 | 3.000 | 9.000 | 7.000 | 6.000 | 9.000 | 0.2059 | 0.3556 | 0.5294 | 0.2059 | 0.0882 | 0.2647 | 0.1765 | 0.2647 |
| season | 0.60 | 65 | - | 232.000 | 51.000 | 12.000 | 0.000 | 9.000 | 33.000 | 27.000 | 27.000 | 46.000 | 0.2198 | 0.3247 | 0.3879 | 0.2198 | 0.0388 | 0.1422 | 0.1164 | 0.1983 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5380 |
| predicted_AVG | 0.1914 |
| predicted_BB | 0.4740 |
| predicted_H | 0.6770 |
| predicted_HBP | 0.2540 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.3255 |
| predicted_R | 0.4740 |
| predicted_RBI | 0.4870 |
| predicted_SLG | 0.3669 |
| predicted_SO | 0.8130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1850 | 0.1910 | 0.1875 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7900 | 3.5380 | 3.6839 | model_form_blend |
| predicted_AVG | 0.2210 | 0.1914 | 0.2085 | model_form_blend |
| predicted_BB | 0.4150 | 0.4740 | 0.4398 | model_form_blend |
| predicted_H | 0.8400 | 0.6770 | 0.7714 | model_form_blend |
| predicted_HBP | - | 0.2540 | 0.2540 | form_only |
| predicted_HR | 0.1300 | 0.1420 | 0.1351 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3255 | 0.3229 | model_form_blend |
| predicted_R | 0.4150 | 0.4740 | 0.4398 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4870 | 0.4945 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3669 | 0.3716 | model_form_blend |
| predicted_SO | 0.7080 | 0.8130 | 0.7522 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260613_HOU@KC |
| game_type | full |
| mlbID | 670623 |
| playerID | 670623 |
| playerName | Isaac Paredes |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-13 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.326 |
| sl_xwoba | 0.323 |
| sl_xba | 0.241 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 31.3 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 24.2 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 43.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.960 | 4.000 | 4.000 | Hitting_AB | 3.938 | 4.000 | 0.062 | 0.000 |
| predicted_AVG | 0.227 | 0.000 | 0.250 | Hitting_AVG | 0.253 | 0.500 | -0.253 | -0.500 |
| predicted_BB | 0.440 | 0.000 | 0.000 | Hitting_BB | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 0.995 | 2.000 | -0.995 | -2.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.119 | 1.000 | -0.119 | -1.000 |
| predicted_OBP | 0.297 | 0.000 | 0.250 | Hitting_OBP | 0.333 | 0.500 | -0.333 | -0.500 |
| predicted_R | 0.620 | 0.000 | 1.000 | Hitting_R | 0.691 | 1.000 | -0.691 | -1.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.330 | 2.000 | -0.330 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_SLG | 0.384 | 0.000 | 0.250 | Hitting_SLG | 0.404 | 1.250 | -0.404 | -1.250 |
| predicted_SO | 0.920 | 2.000 | 1.000 | Hitting_SO | 0.871 | 1.000 | 1.129 | 1.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: 0.9200 -> 2.0000 (boost 1.0800, 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 | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.9200 -> 0.9817 (boost 0.0617, worse) | predicted_AB: 3.9600 -> 3.8640 (deboost -0.0960, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_H: 0.8530 -> 1.0000 (boost 0.1470, better) | predicted_BB: 0.4193 -> 0.0000 (deboost -0.4193, worse) | AB rounded to 4 (raw=3.96), rates preserved: AVG=0.215 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5832 -> 1.0000 (boost 0.4168, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2208 -> 0.2500 (boost 0.0292, better) | predicted_SLG: 0.3868 -> 0.2500 (deboost -0.1368, 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 | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3868 (boost 0.1368, better) | predicted_AVG: 0.2500 -> 0.2208 (deboost -0.0292, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "514888",
"player_name": "Jose Altuve",
"position": "2B",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.0,
"predicted_AB": 3.96,
"predicted_AVG": 0.227,
"predicted_BB": 0.44,
"predicted_H": 0.9,
"predicted_HR": 0.15,
"predicted_OBP": 0.297,
"predicted_R": 0.62,
"predicted_RBI": 0.41,
"predicted_SLG": 0.384,
"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.1694,
"predicted_3B": 0.0008,
"predicted_AB": 3.864,
"predicted_AVG": 0.222,
"predicted_BB": 0.4193,
"predicted_H": 0.859,
"predicted_HBP": 0.015,
"predicted_HR": 0.1583,
"predicted_OBP": 0.2945,
"predicted_R": 0.5894,
"predicted_RBI": 0.3901,
"predicted_SLG": 0.385,
"predicted_SO": 0.9817
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1694,
"delta": -0.0306,
"percent_delta": -0.153,
"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": 3.96,
"after": 3.864,
"delta": -0.096,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.222,
"delta": -0.005,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 0.4193,
"delta": -0.0207,
"percent_delta": -0.047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.859,
"delta": -0.041,
"percent_delta": -0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1583,
"delta": 0.0083,
"percent_delta": 0.0553,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2945,
"delta": -0.0025,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.62,
"after": 0.5894,
"delta": -0.0306,
"percent_delta": -0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3901,
"delta": -0.0199,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.385,
"delta": 0.001,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 0.9817,
"delta": 0.0617,
"percent_delta": 0.0671,
"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.92,
"after": 0.9817,
"delta": 0.0617,
"percent_delta": 0.0671,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.96,
"after": 3.864,
"delta": -0.096,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1694,
"predicted_3B": 0.0008,
"predicted_AB": 3.864,
"predicted_AVG": 0.2208,
"predicted_BB": 0.4193,
"predicted_H": 0.853,
"predicted_HBP": 0.015,
"predicted_HR": 0.1569,
"predicted_OBP": 0.297,
"predicted_R": 0.5832,
"predicted_RBI": 0.386,
"predicted_SLG": 0.3868,
"predicted_SO": 0.9818
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1694,
"after": 0.1694,
"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.864,
"after": 3.864,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2208,
"delta": -0.0012,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4193,
"after": 0.4193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.859,
"after": 0.853,
"delta": -0.006,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1583,
"after": 0.1569,
"delta": -0.0014,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2945,
"after": 0.297,
"delta": 0.0025,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5894,
"after": 0.5832,
"delta": -0.0062,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3901,
"after": 0.386,
"delta": -0.0041,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.385,
"after": 0.3868,
"delta": 0.0018,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9817,
"after": 0.9818,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.96), rates preserved: AVG=0.215 HR/AB=0.040",
"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.1694,
"after": 0.0,
"delta": -0.1694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.864,
"after": 4.0,
"delta": 0.136,
"percent_delta": 0.0352,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4193,
"after": 0.0,
"delta": -0.4193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.853,
"after": 1.0,
"delta": 0.147,
"percent_delta": 0.1723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1569,
"after": 0.0,
"delta": -0.1569,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9818,
"after": 1.0,
"delta": 0.0182,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.853,
"after": 1.0,
"delta": 0.147,
"percent_delta": 0.1723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": 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.5832,
"after": 1.0,
"delta": 0.4168,
"percent_delta": 0.7147,
"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.5832,
"after": 1.0,
"delta": 0.4168,
"percent_delta": 0.7147,
"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.2208,
"after": 0.25,
"delta": 0.0292,
"percent_delta": 0.1322,
"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.297,
"after": 0.25,
"delta": -0.047,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3868,
"after": 0.25,
"delta": -0.1368,
"percent_delta": -0.3537,
"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.2208,
"after": 0.25,
"delta": 0.0292,
"percent_delta": 0.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3868,
"after": 0.25,
"delta": -0.1368,
"percent_delta": -0.3537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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.2208,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3868,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2208,
"delta": -0.0292,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.297,
"delta": 0.047,
"percent_delta": 0.1881,
"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.3868,
"delta": 0.1368,
"percent_delta": 0.5474,
"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.3868,
"delta": 0.1368,
"percent_delta": 0.5474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2208,
"delta": -0.0292,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "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.96,
"after": 4.0,
"delta": 0.04,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2208,
"delta": -0.0062,
"percent_delta": -0.0273,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"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.297,
"after": 0.297,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"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.384,
"after": 0.3868,
"delta": 0.0028,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.92,
"after": 2.0,
"delta": 1.08,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.92,
"after": 2.0,
"delta": 1.08,
"percent_delta": 1.1739,
"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.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.960 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.440 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.620 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.384 | - |
| 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.169 | -0.031 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.864 | -0.096 |
| predicted_AVG | 0.222 | -0.005 |
| predicted_BB | 0.419 | -0.021 |
| predicted_H | 0.859 | -0.041 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.158 | 0.008 |
| predicted_OBP | 0.294 | -0.003 |
| predicted_R | 0.589 | -0.031 |
| predicted_RBI | 0.390 | -0.020 |
| predicted_SLG | 0.385 | 0.001 |
| predicted_SO | 0.982 | 0.062 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.864 | 0.000 |
| predicted_AVG | 0.221 | -0.001 |
| predicted_BB | 0.419 | 0.000 |
| predicted_H | 0.853 | -0.006 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.157 | -0.001 |
| predicted_OBP | 0.297 | 0.003 |
| predicted_R | 0.583 | -0.006 |
| predicted_RBI | 0.386 | -0.004 |
| predicted_SLG | 0.387 | 0.002 |
| predicted_SO | 0.982 | 0.000 |
AB rounded to 4 (raw=3.96), rates preserved: AVG=0.215 HR/AB=0.040
| 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.169 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.136 |
| predicted_AVG | 0.250 | 0.029 |
| predicted_BB | 0.000 | -0.419 |
| predicted_H | 1.000 | 0.147 |
| predicted_HR | 0.000 | -0.157 |
| predicted_OBP | 0.250 | -0.047 |
| predicted_R | 1.000 | 0.417 |
| predicted_RBI | 0.000 | -0.386 |
| predicted_SLG | 0.250 | -0.137 |
| predicted_SO | 1.000 | 0.018 |
Attached 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 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 7.000 | 0.1579 | 0.2381 | 0.3158 | 0.1579 | 0.0526 | 0.1053 | 0.1053 | 0.3684 |
| last_10 | 0.20 | 10 | - | 34.000 | 6.000 | 0.000 | 0.000 | 3.000 | 4.000 | 5.000 | 3.000 | 13.000 | 0.1765 | 0.2432 | 0.4412 | 0.1765 | 0.0882 | 0.1177 | 0.0882 | 0.3824 |
| season | 0.60 | 50 | - | 189.000 | 45.000 | 10.000 | 0.000 | 6.000 | 15.000 | 31.000 | 22.000 | 46.000 | 0.2381 | 0.3192 | 0.3862 | 0.2381 | 0.0318 | 0.0794 | 0.1164 | 0.2434 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.7280 |
| predicted_AVG | 0.2148 |
| predicted_BB | 0.3900 |
| predicted_H | 0.8010 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1700 |
| predicted_OBP | 0.2910 |
| predicted_R | 0.5460 |
| predicted_RBI | 0.3620 |
| predicted_SLG | 0.3864 |
| predicted_SO | 1.0690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1260 | 0.1694 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.9600 | 3.7280 | 3.8640 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2148 | 0.2220 | model_form_blend |
| predicted_BB | 0.4400 | 0.3900 | 0.4193 | model_form_blend |
| predicted_H | 0.9000 | 0.8010 | 0.8590 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1500 | 0.1700 | 0.1583 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2910 | 0.2945 | model_form_blend |
| predicted_R | 0.6200 | 0.5460 | 0.5894 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3620 | 0.3901 | model_form_blend |
| predicted_SLG | 0.3840 | 0.3864 | 0.3850 | model_form_blend |
| predicted_SO | 0.9200 | 1.0690 | 0.9817 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 194 |
| Season rows before report date | 194 |
| Report year | 2026 |
| Profile rows used | 50 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 2 |
| 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 | 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 | 2B |
| gameID | 20260613_HOU@KC |
| game_type | full |
| mlbID | 514888 |
| playerID | 514888 |
| playerName | Jose Altuve |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-13 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.314 |
| sl_xwoba | 0.301 |
| sl_xba | 0.238 |
| sl_xslg | 0.353 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 35.2 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 46.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_AB | 2.920 | 3.000 | 3.000 | Hitting_AB | 3.193 | 1.000 | -0.193 | 2.000 |
| predicted_AVG | 0.266 | 0.000 | 0.333 | Hitting_AVG | 0.330 | 0.000 | -0.330 | 0.000 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.246 | 0.000 | -0.246 | 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 | 1.053 | 0.000 | -1.053 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.299 | 0.000 | 0.333 | Hitting_OBP | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_R | 0.360 | 0.000 | 0.000 | Hitting_R | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_SLG | 0.369 | 0.000 | 0.333 | Hitting_SLG | 0.456 | 0.000 | -0.456 | 0.000 |
| predicted_SO | 1.160 | 1.000 | 1.000 | Hitting_SO | 1.140 | 1.000 | -0.140 | 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: 2.9200 -> 3.0000 (boost 0.0800, better) |
| Biggest Deboost | predicted_R: 0.3600 -> 0.0000 (deboost -0.3600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.3000 -> 0.4681 (boost 0.1681, better) | - | Final model input calibrated with local 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.2635 -> 0.1593 (deboost -0.1042, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_AB: 2.9178 -> 3.0000 (boost 0.0822, better) | predicted_H: 0.4648 -> 0.0000 (deboost -0.4648, worse) | AB rounded to 3 (raw=2.92), rates preserved: AVG=0.159 HR/AB=0.010 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3508 -> 0.0000 (deboost -0.3508, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1593 -> 0.3330 (boost 0.1737, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1593 (deboost -0.1737, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666211",
"player_name": "Taylor Trammell",
"position": "LF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.04,
"predicted_AB": 2.92,
"predicted_AVG": 0.266,
"predicted_BB": 0.2,
"predicted_H": 0.3,
"predicted_HR": 0.03,
"predicted_OBP": 0.299,
"predicted_R": 0.36,
"predicted_RBI": 0.16,
"predicted_SLG": 0.369,
"predicted_SO": 1.16
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2041,
"predicted_3B": 0.0326,
"predicted_AB": 2.9178,
"predicted_AVG": 0.2635,
"predicted_BB": 0.2126,
"predicted_H": 0.4681,
"predicted_HBP": 0.025,
"predicted_HR": 0.0289,
"predicted_OBP": 0.307,
"predicted_R": 0.3545,
"predicted_RBI": 0.2091,
"predicted_SLG": 0.3708,
"predicted_SO": 1.1404
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.2041,
"delta": 0.0041,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0326,
"delta": -0.0074,
"percent_delta": -0.185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.92,
"after": 2.9178,
"delta": -0.0022,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2635,
"delta": -0.0025,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2126,
"delta": 0.0126,
"percent_delta": 0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.4681,
"delta": 0.1681,
"percent_delta": 0.5603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0289,
"delta": -0.0011,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.307,
"delta": 0.008,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.36,
"after": 0.3545,
"delta": -0.0055,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.2091,
"delta": 0.0491,
"percent_delta": 0.3069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3708,
"delta": 0.0018,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.16,
"after": 1.1404,
"delta": -0.0196,
"percent_delta": -0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.3,
"after": 0.4681,
"delta": 0.1681,
"percent_delta": 0.5603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2041,
"predicted_3B": 0.0326,
"predicted_AB": 2.9178,
"predicted_AVG": 0.1593,
"predicted_BB": 0.2126,
"predicted_H": 0.4648,
"predicted_HBP": 0.025,
"predicted_HR": 0.0286,
"predicted_OBP": 0.2164,
"predicted_R": 0.3508,
"predicted_RBI": 0.2069,
"predicted_SLG": 0.2811,
"predicted_SO": 1.1405
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2041,
"after": 0.2041,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0326,
"after": 0.0326,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9178,
"after": 2.9178,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2635,
"after": 0.1593,
"delta": -0.1042,
"percent_delta": -0.3954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2126,
"after": 0.2126,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4681,
"after": 0.4648,
"delta": -0.0033,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0289,
"after": 0.0286,
"delta": -0.0003,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.2164,
"delta": -0.0906,
"percent_delta": -0.2951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3545,
"after": 0.3508,
"delta": -0.0037,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2091,
"after": 0.2069,
"delta": -0.0022,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3708,
"after": 0.2811,
"delta": -0.0897,
"percent_delta": -0.2419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1404,
"after": 1.1405,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2635,
"after": 0.1593,
"delta": -0.1042,
"percent_delta": -0.3954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.92), rates preserved: AVG=0.159 HR/AB=0.010",
"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.2041,
"after": 0.0,
"delta": -0.2041,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0326,
"after": 0.0,
"delta": -0.0326,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9178,
"after": 3.0,
"delta": 0.0822,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2126,
"after": 0.0,
"delta": -0.2126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4648,
"after": 0.0,
"delta": -0.4648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0286,
"after": 0.0,
"delta": -0.0286,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2069,
"after": 0.0,
"delta": -0.2069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1405,
"after": 1.0,
"delta": -0.1405,
"percent_delta": -0.1232,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.9178,
"after": 3.0,
"delta": 0.0822,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4648,
"after": 0.0,
"delta": -0.4648,
"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.3508,
"after": 0.0,
"delta": -0.3508,
"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.3508,
"after": 0.0,
"delta": -0.3508,
"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.1593,
"after": 0.333,
"delta": 0.1737,
"percent_delta": 1.0904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2164,
"after": 0.333,
"delta": 0.1166,
"percent_delta": 0.5388,
"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.2811,
"after": 0.333,
"delta": 0.0519,
"percent_delta": 0.1846,
"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.1593,
"after": 0.333,
"delta": 0.1737,
"percent_delta": 1.0904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1593,
"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.2164,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2811,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1593,
"delta": -0.1737,
"percent_delta": -0.5216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2164,
"delta": -0.1166,
"percent_delta": -0.3501,
"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.2811,
"delta": -0.0519,
"percent_delta": -0.156,
"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.1593,
"delta": -0.1737,
"percent_delta": -0.5216,
"direction": "deboost",
"projection_effect": "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.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.92,
"after": 3.0,
"delta": 0.08,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.1593,
"delta": -0.1067,
"percent_delta": -0.4011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.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.299,
"after": 0.2164,
"delta": -0.0826,
"percent_delta": -0.2763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.2811,
"delta": -0.0879,
"percent_delta": -0.2382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.16,
"after": 1.0,
"delta": -0.16,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.92,
"after": 3.0,
"delta": 0.08,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 2.920 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.360 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 1.160 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | 0.004 |
| predicted_3B | 0.033 | -0.007 |
| predicted_AB | 2.918 | -0.002 |
| predicted_AVG | 0.264 | -0.003 |
| predicted_BB | 0.213 | 0.013 |
| predicted_H | 0.468 | 0.168 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.029 | -0.001 |
| predicted_OBP | 0.307 | 0.008 |
| predicted_R | 0.354 | -0.006 |
| predicted_RBI | 0.209 | 0.049 |
| predicted_SLG | 0.371 | 0.002 |
| predicted_SO | 1.140 | -0.020 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 2.918 | 0.000 |
| predicted_AVG | 0.159 | -0.104 |
| predicted_BB | 0.213 | 0.000 |
| predicted_H | 0.465 | -0.003 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.029 | -0.000 |
| predicted_OBP | 0.216 | -0.091 |
| predicted_R | 0.351 | -0.004 |
| predicted_RBI | 0.207 | -0.002 |
| predicted_SLG | 0.281 | -0.090 |
| predicted_SO | 1.141 | 0.000 |
AB rounded to 3 (raw=2.92), rates preserved: AVG=0.159 HR/AB=0.010
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.204 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 3.000 | 0.082 |
| predicted_AVG | 0.333 | 0.174 |
| predicted_BB | 0.000 | -0.213 |
| predicted_H | 1.000 | 0.535 |
| predicted_HR | 0.000 | -0.029 |
| predicted_OBP | 0.333 | 0.117 |
| predicted_R | 0.000 | -0.351 |
| predicted_RBI | 0.000 | -0.207 |
| predicted_SLG | 0.333 | 0.052 |
| predicted_SO | 1.000 | -0.141 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 9.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 5.000 | 0.2222 | 0.3000 | 0.3333 | 0.2222 | 0.0000 | 0.1111 | 0.1111 | 0.5556 |
| last_10 | 0.20 | 10 | - | 22.000 | 5.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 10.000 | 0.2273 | 0.2917 | 0.3182 | 0.2273 | 0.0000 | 0.0454 | 0.0909 | 0.4546 |
| season | 0.60 | 25 | - | 73.000 | 21.000 | 5.000 | 1.000 | 0.000 | 7.000 | 9.000 | 5.000 | 29.000 | 0.2877 | 0.3418 | 0.3836 | 0.2877 | 0.0000 | 0.0959 | 0.0685 | 0.3973 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2110 |
| predicted_3B | 0.0200 |
| predicted_AB | 2.9140 |
| predicted_AVG | 0.2592 |
| predicted_BB | 0.2340 |
| predicted_H | 0.7550 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0270 |
| predicted_OBP | 0.3207 |
| predicted_R | 0.3450 |
| predicted_RBI | 0.2930 |
| predicted_SLG | 0.3740 |
| predicted_SO | 1.1070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.2110 | 0.2041 | model_form_blend |
| predicted_3B | 0.0400 | 0.0200 | 0.0326 | model_form_blend |
| predicted_AB | 2.9200 | 2.9140 | 2.9178 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2592 | 0.2635 | model_form_blend |
| predicted_BB | 0.2000 | 0.2340 | 0.2126 | model_form_blend |
| predicted_H | 0.3000 | 0.7550 | 0.4681 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0300 | 0.0270 | 0.0289 | model_form_blend |
| predicted_OBP | 0.2990 | 0.3207 | 0.3070 | model_form_blend |
| predicted_R | 0.3600 | 0.3450 | 0.3545 | model_form_blend |
| predicted_RBI | 0.1600 | 0.2930 | 0.2091 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3740 | 0.3708 | model_form_blend |
| predicted_SO | 1.1600 | 1.1070 | 1.1404 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 57 |
| Season rows before report date | 57 |
| Report year | 2026 |
| Profile rows used | 25 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.288 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260614_HOU@KC |
| game_type | ph |
| mlbID | 666211 |
| note | Struck out for Price in the 8th. |
| playerID | 666211 |
| playerName | Taylor Trammell |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-14 |
| sl_k_percent | 35.0 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.333 |
| sl_xwoba | 0.26 |
| sl_xba | 0.205 |
| sl_xslg | 0.295 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 9.0 |
| sl_whiff_percent | 41.7 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.091 | 0.000 | 0.000 | Hitting_2B | 0.096 | 1.000 | -0.096 | -1.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 2.909 | 3.000 | 3.000 | Hitting_AB | 3.347 | 2.000 | -0.347 | 1.000 |
| predicted_AVG | 0.272 | 0.333 | 0.333 | Hitting_AVG | 0.213 | 0.500 | 0.120 | -0.167 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.251 | 1.000 | -0.251 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.713 | 1.000 | 0.287 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_OBP | 0.319 | 0.333 | 0.333 | Hitting_OBP | 0.266 | 0.667 | 0.068 | -0.333 |
| predicted_R | 0.309 | 0.000 | 0.000 | Hitting_R | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.329 | 0.000 | -0.329 | 0.000 |
| predicted_SLG | 0.477 | 0.333 | 0.333 | Hitting_SLG | 0.352 | 1.000 | -0.019 | -0.667 |
| predicted_SO | 0.982 | 0.000 | 1.000 | Hitting_SO | 1.048 | 1.000 | -1.048 | -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_H: 0.6800 -> 1.0000 (boost 0.3200, better) |
| Biggest Deboost | predicted_SO: 0.9820 -> 0.0000 (deboost -0.9820, 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 | 1 | 1 | 2 | 0 | predicted_SLG: 0.4770 -> 0.5040 (boost 0.0270, better) | predicted_SO: 0.9820 -> 0.9056 (deboost -0.0764, better) | Final model input calibrated with local 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.5040 -> 0.4734 (deboost -0.0306, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.7152 -> 1.0000 (boost 0.2848, better) | predicted_RBI: 0.4349 -> 0.0000 (deboost -0.4349, worse) | AB rounded to 3 (raw=2.91), rates preserved: AVG=0.246 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3344 -> 0.0000 (deboost -0.3344, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2493 -> 0.3330 (boost 0.0837, better) | predicted_SLG: 0.4734 -> 0.3330 (deboost -0.1404, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | 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.4734 (boost 0.1404, better) | predicted_AVG: 0.3330 -> 0.2493 (deboost -0.0837, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694728",
"player_name": "Brice Matthews",
"position": "CF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.018,
"predicted_AB": 2.909,
"predicted_AVG": 0.272,
"predicted_BB": 0.2,
"predicted_H": 0.68,
"predicted_HR": 0.15,
"predicted_OBP": 0.319,
"predicted_R": 0.309,
"predicted_RBI": 0.42,
"predicted_SLG": 0.477,
"predicted_SO": 0.982
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1073,
"predicted_3B": 0.0152,
"predicted_AB": 2.8688,
"predicted_AVG": 0.2742,
"predicted_BB": 0.1984,
"predicted_H": 0.7202,
"predicted_HBP": 0.004,
"predicted_HR": 0.1699,
"predicted_OBP": 0.3213,
"predicted_R": 0.3379,
"predicted_RBI": 0.4395,
"predicted_SLG": 0.504,
"predicted_SO": 0.9056
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.1073,
"delta": 0.0163,
"percent_delta": 0.1791,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0152,
"delta": -0.0028,
"percent_delta": -0.1556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.909,
"after": 2.8688,
"delta": -0.0402,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2742,
"delta": 0.0022,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.1984,
"delta": -0.0016,
"percent_delta": -0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.7202,
"delta": 0.0402,
"percent_delta": 0.0591,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1699,
"delta": 0.0199,
"percent_delta": 0.1327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3213,
"delta": 0.0023,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.309,
"after": 0.3379,
"delta": 0.0289,
"percent_delta": 0.0935,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.4395,
"delta": 0.0195,
"percent_delta": 0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.504,
"delta": 0.027,
"percent_delta": 0.0566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.982,
"after": 0.9056,
"delta": -0.0764,
"percent_delta": -0.0778,
"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_SLG",
"before": 0.477,
"after": 0.504,
"delta": 0.027,
"percent_delta": 0.0566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.982,
"after": 0.9056,
"delta": -0.0764,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1073,
"predicted_3B": 0.0152,
"predicted_AB": 2.8688,
"predicted_AVG": 0.2493,
"predicted_BB": 0.1984,
"predicted_H": 0.7152,
"predicted_HBP": 0.004,
"predicted_HR": 0.1684,
"predicted_OBP": 0.2978,
"predicted_R": 0.3344,
"predicted_RBI": 0.4349,
"predicted_SLG": 0.4734,
"predicted_SO": 0.9057
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1073,
"after": 0.1073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0152,
"after": 0.0152,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8688,
"after": 2.8688,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2742,
"after": 0.2493,
"delta": -0.0249,
"percent_delta": -0.0908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1984,
"after": 0.1984,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7202,
"after": 0.7152,
"delta": -0.005,
"percent_delta": -0.0069,
"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.1699,
"after": 0.1684,
"delta": -0.0015,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3213,
"after": 0.2978,
"delta": -0.0235,
"percent_delta": -0.0731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3379,
"after": 0.3344,
"delta": -0.0035,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4395,
"after": 0.4349,
"delta": -0.0046,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.4734,
"delta": -0.0306,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9056,
"after": 0.9057,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.504,
"after": 0.4734,
"delta": -0.0306,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.91), rates preserved: AVG=0.246 HR/AB=0.058",
"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.1073,
"after": 0.0,
"delta": -0.1073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0152,
"after": 0.0,
"delta": -0.0152,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8688,
"after": 3.0,
"delta": 0.1312,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1984,
"after": 0.0,
"delta": -0.1984,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7152,
"after": 1.0,
"delta": 0.2848,
"percent_delta": 0.3982,
"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.1684,
"after": 0.0,
"delta": -0.1684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4349,
"after": 0.0,
"delta": -0.4349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9057,
"after": 1.0,
"delta": 0.0943,
"percent_delta": 0.1041,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7152,
"after": 1.0,
"delta": 0.2848,
"percent_delta": 0.3982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4349,
"after": 0.0,
"delta": -0.4349,
"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.3344,
"after": 0.0,
"delta": -0.3344,
"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.3344,
"after": 0.0,
"delta": -0.3344,
"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.2493,
"after": 0.333,
"delta": 0.0837,
"percent_delta": 0.3357,
"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.2978,
"after": 0.333,
"delta": 0.0352,
"percent_delta": 0.1182,
"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.4734,
"after": 0.333,
"delta": -0.1404,
"percent_delta": -0.2966,
"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.2493,
"after": 0.333,
"delta": 0.0837,
"percent_delta": 0.3357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4734,
"after": 0.333,
"delta": -0.1404,
"percent_delta": -0.2966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2493,
"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.2978,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4734,
"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.2493,
"delta": -0.0837,
"percent_delta": -0.2514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2978,
"delta": -0.0352,
"percent_delta": -0.1056,
"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.4734,
"delta": 0.1404,
"percent_delta": 0.4217,
"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.4734,
"delta": 0.1404,
"percent_delta": 0.4217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2493,
"delta": -0.0837,
"percent_delta": -0.2514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.909,
"after": 3.0,
"delta": 0.091,
"percent_delta": 0.0313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2493,
"delta": -0.0227,
"percent_delta": -0.0835,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"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.319,
"after": 0.2978,
"delta": -0.0212,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.309,
"after": 0.0,
"delta": -0.309,
"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.477,
"after": 0.4734,
"delta": -0.0036,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.982,
"after": 0.0,
"delta": -0.982,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.982,
"after": 0.0,
"delta": -0.982,
"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.091 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 2.909 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.309 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.477 | - |
| predicted_SO | 0.982 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | 0.016 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 2.869 | -0.040 |
| predicted_AVG | 0.274 | 0.002 |
| predicted_BB | 0.198 | -0.002 |
| predicted_H | 0.720 | 0.040 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.170 | 0.020 |
| predicted_OBP | 0.321 | 0.002 |
| predicted_R | 0.338 | 0.029 |
| predicted_RBI | 0.440 | 0.020 |
| predicted_SLG | 0.504 | 0.027 |
| predicted_SO | 0.906 | -0.076 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 2.869 | 0.000 |
| predicted_AVG | 0.249 | -0.025 |
| predicted_BB | 0.198 | 0.000 |
| predicted_H | 0.715 | -0.005 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.168 | -0.002 |
| predicted_OBP | 0.298 | -0.023 |
| predicted_R | 0.334 | -0.004 |
| predicted_RBI | 0.435 | -0.005 |
| predicted_SLG | 0.473 | -0.031 |
| predicted_SO | 0.906 | 0.000 |
AB rounded to 3 (raw=2.91), rates preserved: AVG=0.246 HR/AB=0.058
| 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.107 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 3.000 | 0.131 |
| predicted_AVG | 0.333 | 0.084 |
| predicted_BB | 0.000 | -0.198 |
| predicted_H | 1.000 | 0.285 |
| predicted_HR | 0.000 | -0.168 |
| predicted_OBP | 0.333 | 0.035 |
| predicted_R | 0.000 | -0.334 |
| predicted_RBI | 0.000 | -0.435 |
| predicted_SLG | 0.333 | -0.140 |
| 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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 5.000 | 1.000 | 0.000 | 2.000 | 4.000 | 2.000 | 1.000 | 2.000 | 0.4545 | 0.5000 | 1.0909 | 0.4546 | 0.1818 | 0.3636 | 0.0909 | 0.1818 |
| last_10 | 0.20 | 10 | - | 22.000 | 7.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 1.000 | 6.000 | 0.3182 | 0.3478 | 0.6364 | 0.3182 | 0.0909 | 0.1818 | 0.0454 | 0.2727 |
| season | 0.60 | 55 | - | 160.000 | 34.000 | 5.000 | 1.000 | 6.000 | 17.000 | 17.000 | 11.000 | 54.000 | 0.2125 | 0.2616 | 0.3688 | 0.2125 | 0.0375 | 0.1062 | 0.0688 | 0.3375 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1310 |
| predicted_3B | 0.0110 |
| predicted_AB | 2.8100 |
| predicted_AVG | 0.2774 |
| predicted_BB | 0.1960 |
| predicted_H | 0.7790 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1990 |
| predicted_OBP | 0.3246 |
| predicted_R | 0.3800 |
| predicted_RBI | 0.4680 |
| predicted_SLG | 0.5434 |
| predicted_SO | 0.7940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.1310 | 0.1073 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0152 | model_form_blend |
| predicted_AB | 2.9090 | 2.8100 | 2.8688 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2774 | 0.2742 | model_form_blend |
| predicted_BB | 0.2000 | 0.1960 | 0.1984 | model_form_blend |
| predicted_H | 0.6800 | 0.7790 | 0.7202 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1500 | 0.1990 | 0.1699 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3246 | 0.3213 | model_form_blend |
| predicted_R | 0.3090 | 0.3800 | 0.3379 | model_form_blend |
| predicted_RBI | 0.4200 | 0.4680 | 0.4395 | model_form_blend |
| predicted_SLG | 0.4770 | 0.5434 | 0.5040 | model_form_blend |
| predicted_SO | 0.9820 | 0.7940 | 0.9056 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.212 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| 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 | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 694728 |
| playerID | 694728 |
| playerName | Brice Matthews |
| pos | CF |
| started | True |
| startingPosition | 2B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-14 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.277 |
| sl_xwoba | 0.276 |
| sl_xba | 0.202 |
| sl_xslg | 0.372 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 39.4 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 11.2 |
| sl_whiff_percent | 36.4 |
| 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.143 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 3.414 | 2.000 | 4.000 | Hitting_AB | 3.485 | 3.000 | -1.485 | -1.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.219 | 0.333 | -0.219 | -0.333 |
| predicted_BB | 0.371 | 1.000 | 0.000 | Hitting_BB | 0.402 | 0.000 | 0.598 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.764 | 1.000 | -0.764 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_OBP | 0.288 | 0.333 | 0.250 | Hitting_OBP | 0.311 | 0.333 | 0.023 | 0.000 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.445 | 0.000 | -0.445 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.406 | 0.000 | -0.406 | 0.000 |
| predicted_SLG | 0.383 | 0.000 | 0.250 | Hitting_SLG | 0.343 | 0.333 | -0.343 | -0.333 |
| predicted_SO | 1.057 | 1.000 | 1.000 | Hitting_SO | 1.087 | 0.000 | -0.087 | 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.3710 -> 1.0000 (boost 0.6290, better) |
| Biggest Deboost | predicted_AB: 3.4140 -> 2.0000 (deboost -1.4140, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.4140 -> 3.5066 (boost 0.0926, better) | predicted_AVG: 0.2370 -> 0.2263 (deboost -0.0107, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2263 -> 0.2178 (deboost -0.0085, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.5066 -> 4.0000 (boost 0.4934, better) | predicted_RBI: 0.3805 -> 0.0000 (deboost -0.3805, worse) | AB rounded to 4 (raw=3.51), rates preserved: AVG=0.218 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3866 -> 0.0000 (deboost -0.3866, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2178 -> 0.2500 (boost 0.0322, better) | predicted_SLG: 0.3704 -> 0.2500 (deboost -0.1204, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 2.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3704 (boost 0.1204, better) | predicted_AVG: 0.2500 -> 0.2178 (deboost -0.0322, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.014,
"predicted_AB": 3.414,
"predicted_AVG": 0.237,
"predicted_BB": 0.371,
"predicted_H": 0.77,
"predicted_HR": 0.12,
"predicted_OBP": 0.288,
"predicted_R": 0.4,
"predicted_RBI": 0.39,
"predicted_SLG": 0.383,
"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.1388,
"predicted_3B": 0.0191,
"predicted_AB": 3.5066,
"predicted_AVG": 0.2263,
"predicted_BB": 0.3449,
"predicted_H": 0.7692,
"predicted_HBP": 0.036,
"predicted_HR": 0.1204,
"predicted_OBP": 0.2837,
"predicted_R": 0.3907,
"predicted_RBI": 0.3845,
"predicted_SLG": 0.3741,
"predicted_SO": 1.0637
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1388,
"delta": -0.0042,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0191,
"delta": 0.0051,
"percent_delta": 0.3643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.414,
"after": 3.5066,
"delta": 0.0926,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2263,
"delta": -0.0107,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.371,
"after": 0.3449,
"delta": -0.0261,
"percent_delta": -0.0704,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7692,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1204,
"delta": 0.0004,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2837,
"delta": -0.0043,
"percent_delta": -0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.3907,
"delta": -0.0093,
"percent_delta": -0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3845,
"delta": -0.0055,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3741,
"delta": -0.0089,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.057,
"after": 1.0637,
"delta": 0.0067,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.414,
"after": 3.5066,
"delta": 0.0926,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2263,
"delta": -0.0107,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1388,
"predicted_3B": 0.0191,
"predicted_AB": 3.5066,
"predicted_AVG": 0.2178,
"predicted_BB": 0.3449,
"predicted_H": 0.7638,
"predicted_HBP": 0.036,
"predicted_HR": 0.1194,
"predicted_OBP": 0.2879,
"predicted_R": 0.3866,
"predicted_RBI": 0.3805,
"predicted_SLG": 0.3704,
"predicted_SO": 1.0638
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1388,
"after": 0.1388,
"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": 3.5066,
"after": 3.5066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2263,
"after": 0.2178,
"delta": -0.0085,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3449,
"after": 0.3449,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7692,
"after": 0.7638,
"delta": -0.0054,
"percent_delta": -0.007,
"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.1204,
"after": 0.1194,
"delta": -0.001,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2837,
"after": 0.2879,
"delta": 0.0042,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3907,
"after": 0.3866,
"delta": -0.0041,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3845,
"after": 0.3805,
"delta": -0.004,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3741,
"after": 0.3704,
"delta": -0.0037,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0637,
"after": 1.0638,
"delta": 0.0001,
"percent_delta": 0.0001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2263,
"after": 0.2178,
"delta": -0.0085,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.51), rates preserved: AVG=0.218 HR/AB=0.034",
"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.1388,
"after": 0.0,
"delta": -0.1388,
"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": 3.5066,
"after": 4.0,
"delta": 0.4934,
"percent_delta": 0.1407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3449,
"after": 0.0,
"delta": -0.3449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7638,
"after": 1.0,
"delta": 0.2362,
"percent_delta": 0.3092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1194,
"after": 0.0,
"delta": -0.1194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3805,
"after": 0.0,
"delta": -0.3805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0638,
"after": 1.0,
"delta": -0.0638,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5066,
"after": 4.0,
"delta": 0.4934,
"percent_delta": 0.1407,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3805,
"after": 0.0,
"delta": -0.3805,
"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.3866,
"after": 0.0,
"delta": -0.3866,
"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.3866,
"after": 0.0,
"delta": -0.3866,
"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.2178,
"after": 0.25,
"delta": 0.0322,
"percent_delta": 0.1478,
"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.2879,
"after": 0.25,
"delta": -0.0379,
"percent_delta": -0.1316,
"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.3704,
"after": 0.25,
"delta": -0.1204,
"percent_delta": -0.3251,
"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.2178,
"after": 0.25,
"delta": 0.0322,
"percent_delta": 0.1478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3704,
"after": 0.25,
"delta": -0.1204,
"percent_delta": -0.3251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2178,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2879,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3704,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2178,
"delta": -0.0322,
"percent_delta": -0.1287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2879,
"delta": 0.0379,
"percent_delta": 0.1515,
"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.3704,
"delta": 0.1204,
"percent_delta": 0.4816,
"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.3704,
"delta": 0.1204,
"percent_delta": 0.4816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2178,
"delta": -0.0322,
"percent_delta": -0.1287,
"direction": "deboost",
"projection_effect": "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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.414,
"after": 2.0,
"delta": -1.414,
"percent_delta": -0.4142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2178,
"delta": -0.0192,
"percent_delta": -0.081,
"direction": "deboost",
"projection_effect": "worse",
"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.77,
"after": 0.0,
"delta": -0.77,
"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.288,
"after": 0.2879,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3704,
"delta": -0.0126,
"percent_delta": -0.0329,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.057,
"after": 1.0,
"delta": -0.057,
"percent_delta": -0.0539,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.371,
"after": 1.0,
"delta": 0.629,
"percent_delta": 1.6954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.414,
"after": 2.0,
"delta": -1.414,
"percent_delta": -0.4142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.014 | - |
| predicted_AB | 3.414 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.371 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.383 | - |
| 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.139 | -0.004 |
| predicted_3B | 0.019 | 0.005 |
| predicted_AB | 3.507 | 0.093 |
| predicted_AVG | 0.226 | -0.011 |
| predicted_BB | 0.345 | -0.026 |
| predicted_H | 0.769 | -0.001 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.120 | 0.000 |
| predicted_OBP | 0.284 | -0.004 |
| predicted_R | 0.391 | -0.009 |
| predicted_RBI | 0.385 | -0.006 |
| predicted_SLG | 0.374 | -0.009 |
| predicted_SO | 1.064 | 0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.139 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 3.507 | 0.000 |
| predicted_AVG | 0.218 | -0.009 |
| predicted_BB | 0.345 | 0.000 |
| predicted_H | 0.764 | -0.005 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.119 | -0.001 |
| predicted_OBP | 0.288 | 0.004 |
| predicted_R | 0.387 | -0.004 |
| predicted_RBI | 0.381 | -0.004 |
| predicted_SLG | 0.370 | -0.004 |
| predicted_SO | 1.064 | 0.000 |
AB rounded to 4 (raw=3.51), rates preserved: AVG=0.218 HR/AB=0.034
| 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.139 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | 0.493 |
| predicted_AVG | 0.250 | 0.032 |
| predicted_BB | 0.000 | -0.345 |
| predicted_H | 1.000 | 0.236 |
| predicted_HR | 0.000 | -0.119 |
| predicted_OBP | 0.250 | -0.038 |
| predicted_R | 0.000 | -0.387 |
| predicted_RBI | 0.000 | -0.381 |
| predicted_SLG | 0.250 | -0.120 |
| 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 | 2.000 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 5.000 | 0.1579 | 0.2000 | 0.3158 | 0.1579 | 0.0526 | 0.0526 | 0.0526 | 0.2632 |
| last_10 | 0.20 | 10 | - | 40.000 | 9.000 | 2.000 | 1.000 | 1.000 | 5.000 | 2.000 | 2.000 | 13.000 | 0.2250 | 0.2619 | 0.4000 | 0.2250 | 0.0250 | 0.1250 | 0.0500 | 0.3250 |
| season | 0.60 | 70 | - | 239.000 | 52.000 | 10.000 | 1.000 | 7.000 | 26.000 | 28.000 | 26.000 | 74.000 | 0.2176 | 0.3026 | 0.3556 | 0.2176 | 0.0293 | 0.1088 | 0.1088 | 0.3096 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1330 |
| predicted_3B | 0.0260 |
| predicted_AB | 3.6340 |
| predicted_AVG | 0.2115 |
| predicted_BB | 0.3090 |
| predicted_H | 0.7680 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.2779 |
| predicted_R | 0.3780 |
| predicted_RBI | 0.3770 |
| predicted_SLG | 0.3618 |
| predicted_SO | 1.0730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1330 | 0.1388 | model_form_blend |
| predicted_3B | 0.0140 | 0.0260 | 0.0191 | model_form_blend |
| predicted_AB | 3.4140 | 3.6340 | 3.5066 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2115 | 0.2263 | model_form_blend |
| predicted_BB | 0.3710 | 0.3090 | 0.3449 | model_form_blend |
| predicted_H | 0.7700 | 0.7680 | 0.7692 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.1200 | 0.1210 | 0.1204 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2779 | 0.2837 | model_form_blend |
| predicted_R | 0.4000 | 0.3780 | 0.3907 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3770 | 0.3845 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3618 | 0.3741 | model_form_blend |
| predicted_SO | 1.0570 | 1.0730 | 1.0637 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 229 |
| Season rows before report date | 229 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.218 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 1 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 701358 |
| playerID | 701358 |
| playerName | Cam Smith |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-14 |
| sl_k_percent | 27.5 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.296 |
| sl_xwoba | 0.336 |
| sl_xba | 0.243 |
| sl_xslg | 0.444 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 13.5 |
| sl_hard_hit_percent | 45.1 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 31.9 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.128 | 0.000 | 0.000 | Hitting_2B | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.043 | 3.000 | 3.000 | Hitting_AB | 3.252 | 0.000 | -0.252 | 3.000 |
| predicted_AVG | 0.227 | 0.000 | 0.333 | Hitting_AVG | 0.261 | - | -0.261 | - |
| predicted_BB | 0.234 | 0.000 | 0.000 | Hitting_BB | 0.282 | 0.000 | -0.282 | 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.847 | 0.000 | -0.847 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_OBP | 0.255 | 0.000 | 0.333 | Hitting_OBP | 0.320 | - | -0.320 | - |
| predicted_R | 0.319 | 0.000 | 0.000 | Hitting_R | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.519 | 0.000 | -0.519 | 0.000 |
| predicted_SLG | 0.305 | 0.000 | 0.333 | Hitting_SLG | 0.423 | - | -0.423 | - |
| predicted_SO | 0.532 | 0.000 | 1.000 | Hitting_SO | 0.550 | 0.000 | -0.550 | 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.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 | 4 | 1 | 3 | 1 | 3 | predicted_AB: 3.0430 -> 3.0977 (boost 0.0547, better) | predicted_AVG: 0.2270 -> 0.2060 (deboost -0.0210, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2060 -> 0.1847 (deboost -0.0213, 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.5462 -> 1.0000 (boost 0.4538, worse) | predicted_RBI: 0.3087 -> 0.0000 (deboost -0.3087, worse) | AB rounded to 3 (raw=3.10), rates preserved: AVG=0.185 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3304 -> 0.0000 (deboost -0.3304, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1847 -> 0.3330 (boost 0.1483, 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_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.1847 (deboost -0.1483, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.128,
"predicted_3B": 0.0,
"predicted_AB": 3.043,
"predicted_AVG": 0.227,
"predicted_BB": 0.234,
"predicted_H": 0.59,
"predicted_HR": 0.07,
"predicted_OBP": 0.255,
"predicted_R": 0.319,
"predicted_RBI": 0.31,
"predicted_SLG": 0.305,
"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.1276,
"predicted_3B": 0.0008,
"predicted_AB": 3.0977,
"predicted_AVG": 0.206,
"predicted_BB": 0.2332,
"predicted_H": 0.5763,
"predicted_HBP": 0.005,
"predicted_HR": 0.0668,
"predicted_OBP": 0.2458,
"predicted_R": 0.3339,
"predicted_RBI": 0.312,
"predicted_SLG": 0.2928,
"predicted_SO": 0.5461
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1276,
"delta": -0.0004,
"percent_delta": -0.0031,
"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": 3.043,
"after": 3.0977,
"delta": 0.0547,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.206,
"delta": -0.021,
"percent_delta": -0.0925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 0.2332,
"delta": -0.0008,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.5763,
"delta": -0.0137,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0668,
"delta": -0.0032,
"percent_delta": -0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2458,
"delta": -0.0092,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.319,
"after": 0.3339,
"delta": 0.0149,
"percent_delta": 0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.312,
"delta": 0.002,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2928,
"delta": -0.0122,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.532,
"after": 0.5461,
"delta": 0.0141,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.043,
"after": 3.0977,
"delta": 0.0547,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.206,
"delta": -0.021,
"percent_delta": -0.0925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1276,
"predicted_3B": 0.0008,
"predicted_AB": 3.0977,
"predicted_AVG": 0.1847,
"predicted_BB": 0.2332,
"predicted_H": 0.5723,
"predicted_HBP": 0.005,
"predicted_HR": 0.0662,
"predicted_OBP": 0.2418,
"predicted_R": 0.3304,
"predicted_RBI": 0.3087,
"predicted_SLG": 0.2906,
"predicted_SO": 0.5462
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1276,
"after": 0.1276,
"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.0977,
"after": 3.0977,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.1847,
"delta": -0.0213,
"percent_delta": -0.1034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2332,
"after": 0.2332,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5763,
"after": 0.5723,
"delta": -0.004,
"percent_delta": -0.0069,
"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.0668,
"after": 0.0662,
"delta": -0.0006,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2458,
"after": 0.2418,
"delta": -0.004,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3339,
"after": 0.3304,
"delta": -0.0035,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.312,
"after": 0.3087,
"delta": -0.0033,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2928,
"after": 0.2906,
"delta": -0.0022,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5461,
"after": 0.5462,
"delta": 0.0001,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.206,
"after": 0.1847,
"delta": -0.0213,
"percent_delta": -0.1034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.10), rates preserved: AVG=0.185 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1276,
"after": 0.0,
"delta": -0.1276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0977,
"after": 3.0,
"delta": -0.0977,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2332,
"after": 0.0,
"delta": -0.2332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5723,
"after": 1.0,
"delta": 0.4277,
"percent_delta": 0.7473,
"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.0662,
"after": 0.0,
"delta": -0.0662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3087,
"after": 0.0,
"delta": -0.3087,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5462,
"after": 1.0,
"delta": 0.4538,
"percent_delta": 0.8308,
"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.5462,
"after": 1.0,
"delta": 0.4538,
"percent_delta": 0.8308,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3087,
"after": 0.0,
"delta": -0.3087,
"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.3304,
"after": 0.0,
"delta": -0.3304,
"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.3304,
"after": 0.0,
"delta": -0.3304,
"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.1847,
"after": 0.333,
"delta": 0.1483,
"percent_delta": 0.8029,
"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.2418,
"after": 0.333,
"delta": 0.0912,
"percent_delta": 0.3772,
"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.2906,
"after": 0.333,
"delta": 0.0424,
"percent_delta": 0.1459,
"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.1847,
"after": 0.333,
"delta": 0.1483,
"percent_delta": 0.8029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1847,
"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.2418,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2906,
"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.1847,
"delta": -0.1483,
"percent_delta": -0.4452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2418,
"delta": -0.0912,
"percent_delta": -0.2738,
"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.2906,
"delta": -0.0424,
"percent_delta": -0.1274,
"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.1847,
"delta": -0.1483,
"percent_delta": -0.4452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"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.043,
"after": 3.0,
"delta": -0.043,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.1847,
"delta": -0.0423,
"percent_delta": -0.1863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.234,
"after": 0.0,
"delta": -0.234,
"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.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2418,
"delta": -0.0132,
"percent_delta": -0.0518,
"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.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2906,
"delta": -0.0144,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.532,
"after": 0.0,
"delta": -0.532,
"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.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.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.043 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.234 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.255 | - |
| predicted_R | 0.319 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.305 | - |
| 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.128 | -0.000 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.098 | 0.055 |
| predicted_AVG | 0.206 | -0.021 |
| predicted_BB | 0.233 | -0.001 |
| predicted_H | 0.576 | -0.014 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.067 | -0.003 |
| predicted_OBP | 0.246 | -0.009 |
| predicted_R | 0.334 | 0.015 |
| predicted_RBI | 0.312 | 0.002 |
| predicted_SLG | 0.293 | -0.012 |
| predicted_SO | 0.546 | 0.014 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.098 | 0.000 |
| predicted_AVG | 0.185 | -0.021 |
| predicted_BB | 0.233 | 0.000 |
| predicted_H | 0.572 | -0.004 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.066 | -0.001 |
| predicted_OBP | 0.242 | -0.004 |
| predicted_R | 0.330 | -0.003 |
| predicted_RBI | 0.309 | -0.003 |
| predicted_SLG | 0.291 | -0.002 |
| predicted_SO | 0.546 | 0.000 |
AB rounded to 3 (raw=3.10), rates preserved: AVG=0.185 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.128 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.098 |
| predicted_AVG | 0.333 | 0.148 |
| predicted_BB | 0.000 | -0.233 |
| predicted_H | 1.000 | 0.428 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.333 | 0.091 |
| predicted_R | 0.000 | -0.330 |
| predicted_RBI | 0.000 | -0.309 |
| predicted_SLG | 0.333 | 0.042 |
| predicted_SO | 1.000 | 0.454 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.0000 | 0.0625 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0667 | 0.1333 |
| last_10 | 0.20 | 10 | - | 31.000 | 4.000 | 2.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 6.000 | 0.1290 | 0.1818 | 0.1935 | 0.1290 | 0.0000 | 0.0645 | 0.0645 | 0.1935 |
| season | 0.60 | 47 | - | 143.000 | 32.000 | 6.000 | 0.000 | 4.000 | 19.000 | 15.000 | 11.000 | 25.000 | 0.2238 | 0.2792 | 0.3497 | 0.2238 | 0.0280 | 0.1329 | 0.0769 | 0.1748 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1270 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.1790 |
| predicted_AVG | 0.1748 |
| predicted_BB | 0.2320 |
| predicted_H | 0.5560 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.2322 |
| predicted_R | 0.3560 |
| predicted_RBI | 0.3150 |
| predicted_SLG | 0.2748 |
| predicted_SO | 0.5670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.1270 | 0.1276 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0430 | 3.1790 | 3.0977 | model_form_blend |
| predicted_AVG | 0.2270 | 0.1748 | 0.2060 | model_form_blend |
| predicted_BB | 0.2340 | 0.2320 | 0.2332 | model_form_blend |
| predicted_H | 0.5900 | 0.5560 | 0.5763 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0700 | 0.0620 | 0.0668 | model_form_blend |
| predicted_OBP | 0.2550 | 0.2322 | 0.2458 | model_form_blend |
| predicted_R | 0.3190 | 0.3560 | 0.3339 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3150 | 0.3120 | model_form_blend |
| predicted_SLG | 0.3050 | 0.2748 | 0.2928 | model_form_blend |
| predicted_SO | 0.5320 | 0.5670 | 0.5461 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 131 |
| Season rows before report date | 131 |
| Report year | 2026 |
| Profile rows used | 47 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260614_HOU@KC |
| game_type | short |
| mlbID | 543877 |
| playerID | 543877 |
| playerName | Christian Vázquez |
| pos | C |
| started | False |
| startingPosition | C |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-14 |
| sl_k_percent | 15.9 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.281 |
| sl_xwoba | 0.238 |
| sl_xba | 0.199 |
| sl_xslg | 0.269 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 1.7 |
| sl_hard_hit_percent | 23.3 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 13.7 |
| sl_whiff_percent | 18.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_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.200 | 3.000 | -1.200 | -3.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.050 | 5.000 | -1.050 | -5.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 2.050 | 7.000 | 1.950 | -3.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 2.410 | 4.000 | 2.590 | 1.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.450 | 5.000 | 1.550 | -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": "678906",
"player_name": "Kai-Wei Teng",
"position": "Starter",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 0.0,
"predicted_SO": 4.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": 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": 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": 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 | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.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 | 25.000 | 12.000 | 21.000 | 16.000 | 26.000 | 3.000 | 4.3200 | 1.4800 | 0.4800 | 0.8400 | 0.6400 | 1.0400 | 0.1200 |
| last_10 | 0.35 | 10 | 34.200 | 18.000 | 34.000 | 18.000 | 33.000 | 4.000 | 4.6731 | 1.5000 | 0.5192 | 0.9808 | 0.5192 | 0.9519 | 0.1154 |
| season | 0.20 | 20 | 51.000 | 21.000 | 41.000 | 24.000 | 49.000 | 6.000 | 3.7059 | 1.2745 | 0.4118 | 0.8039 | 0.4706 | 0.9608 | 0.1177 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1350 |
| predicted_ER | 2.0870 |
| predicted_ERA | 4.3696 |
| predicted_H | 3.9190 |
| predicted_HR | 0.5460 |
| predicted_IP | 4.1000 |
| predicted_SO | 4.1840 |
| predicted_WHIP | 1.4086 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 2.1350 | 1.0890 | model_form_blend |
| predicted_ER | 0.0000 | 2.0870 | 1.0645 | model_form_blend |
| predicted_ERA | - | 4.3696 | 4.3696 | form_only |
| predicted_H | 4.0000 | 3.9190 | 3.9587 | model_form_blend |
| predicted_HR | 0.0000 | 0.5460 | 0.2785 | model_form_blend |
| predicted_IP | 5.0000 | 4.1000 | 4.2000 | model_form_blend |
| predicted_SO | 4.0000 | 4.1840 | 4.0939 | model_form_blend |
| predicted_WHIP | - | 1.4086 | 1.4086 | 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 | 5.0 |
| H | 4 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 4 |
| HR | 0 |
| BF | 19 |
| 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 | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 5 |
| Pitching_ERA | 3.71 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 4 |
| Pitching_H | 7 |
| Pitching_HBP | 2 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 93 |
| Pitching_R | 7 |
| Pitching_SO | 5 |
| Pitching_Strikes | 55 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_HOU@LAA |
| game_type | full |
| mlbID | 678906 |
| playerID | 678906 |
| playerName | Kai-Wei Teng |
| pos | P |
| started | True |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-09 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.312 |
| sl_xwoba | 0.314 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 39.9 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 43.7 |
| sl_avg_best_speed | 80.570736377 |
| sl_avg_hyper_speed | 94.469078029 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.889 | 0.000 | -0.889 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.630 | 0.000 | 0.370 | 1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.778 | 1.000 | -0.778 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.778 | 1.000 | 0.222 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.148 | 0.000 | -0.148 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "650556",
"player_name": "Bryan Abreu",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.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": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 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 | 3.000 | 4.000 | 2.000 | 8.000 | 1.000 | 5.4000 | 1.2000 | 0.6000 | 0.8000 | 0.4000 | 1.6000 | 0.2000 |
| last_10 | 0.35 | 10 | 8.100 | 4.000 | 5.000 | 6.000 | 10.000 | 1.000 | 4.3200 | 1.3200 | 0.4800 | 0.6000 | 0.7200 | 1.2000 | 0.1200 |
| season | 0.20 | 26 | 23.100 | 17.000 | 19.000 | 24.000 | 31.000 | 5.000 | 6.5571 | 1.8429 | 0.7286 | 0.8143 | 1.0286 | 1.3286 | 0.2143 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4660 |
| predicted_ER | 0.5080 |
| predicted_ERA | 4.8454 |
| predicted_H | 0.8090 |
| predicted_HR | 0.1510 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0950 |
| predicted_WHIP | 1.3512 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4660 | 0.2006 | model_form_blend |
| predicted_ER | 1.0000 | 0.5080 | 0.7882 | model_form_blend |
| predicted_ERA | - | 4.8454 | 4.8454 | form_only |
| predicted_H | 0.0000 | 0.8090 | 0.3482 | model_form_blend |
| predicted_HR | 0.0000 | 0.1510 | 0.0650 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0950 | 1.0409 | model_form_blend |
| predicted_WHIP | - | 1.3512 | 1.3512 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 1 |
| ER | 1 |
| 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 | 0 |
| Pitching_ERA | 6.56 |
| 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.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260613_HOU@KC |
| game_type | full |
| mlbID | 650556 |
| playerID | 650556 |
| playerName | Bryan Abreu |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-13 |
| sl_k_percent | 27.4 |
| sl_bb_percent | 21.2 |
| sl_woba | 0.403 |
| sl_xwoba | 0.361 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 52.7 |
| sl_whiff_percent | 32.9 |
| sl_swing_percent | 38.1 |
| sl_avg_best_speed | 84.011702593 |
| sl_avg_hyper_speed | 95.678407925 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.429 | 0.000 | -0.429 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.964 | 0.000 | 0.036 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.925 | 1.000 | 0.075 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.857 | 1.000 | -0.857 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687911",
"player_name": "Bryan King",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 0.000 | 2.000 | 2.000 | 4.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.5000 | 0.5000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.100 | 1.000 | 7.000 | 3.000 | 7.000 | 1.000 | 0.9643 | 1.0714 | 0.1071 | 0.7500 | 0.3214 | 0.7500 | 0.1071 |
| season | 0.20 | 28 | 30.100 | 8.000 | 27.000 | 12.000 | 24.000 | 1.000 | 2.3736 | 1.2857 | 0.2637 | 0.8901 | 0.3956 | 0.7912 | 0.0330 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3590 |
| predicted_ER | 0.2520 |
| predicted_ERA | 2.4732 |
| predicted_H | 0.7390 |
| predicted_HR | 0.0830 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8260 |
| predicted_WHIP | 1.1962 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3590 | 0.1644 | model_form_blend |
| predicted_ER | 0.0000 | 0.2520 | 0.1154 | model_form_blend |
| predicted_ERA | - | 2.4732 | 2.4732 | form_only |
| predicted_H | 1.0000 | 0.7390 | 0.8804 | model_form_blend |
| predicted_HR | 0.0000 | 0.0830 | 0.0380 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8260 | 0.3784 | model_form_blend |
| predicted_WHIP | - | 1.1962 | 1.1962 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.37 |
| 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 | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260613_HOU@KC |
| game_type | full |
| mlbID | 687911 |
| playerID | 687911 |
| playerName | Bryan King |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-13 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.291 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 38.5 |
| sl_whiff_percent | 17.7 |
| sl_swing_percent | 48.1 |
| sl_avg_best_speed | 75.715344889 |
| sl_avg_hyper_speed | 93.230498444 |
| 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.276 | 1.000 | 1.724 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.517 | 2.000 | 0.483 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.931 | 2.000 | 0.069 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.866 | 0.100 | 0.134 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.000 | 0.000 | 0.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "660853",
"player_name": "Enyel De Los Santos",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 6.000 | 7.000 | 3.000 | 4.000 | 1.000 | 11.5714 | 2.1429 | 1.2857 | 1.5000 | 0.6429 | 0.8571 | 0.2143 |
| last_10 | 0.35 | 10 | 10.000 | 6.000 | 8.000 | 4.000 | 12.000 | 1.000 | 5.4000 | 1.2000 | 0.6000 | 0.8000 | 0.4000 | 1.2000 | 0.1000 |
| season | 0.20 | 29 | 30.000 | 15.000 | 27.000 | 8.000 | 29.000 | 2.000 | 4.5000 | 1.1667 | 0.5000 | 0.9000 | 0.2667 | 0.9667 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4270 |
| predicted_ER | 0.7090 |
| predicted_ERA | 6.3845 |
| predicted_H | 1.0610 |
| predicted_HR | 0.1450 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9690 |
| predicted_WHIP | 1.4877 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.4270 | 1.2813 | model_form_blend |
| predicted_ER | 1.0000 | 0.7090 | 0.8670 | model_form_blend |
| predicted_ERA | - | 6.3845 | 6.3845 | form_only |
| predicted_H | 1.0000 | 1.0610 | 1.0279 | model_form_blend |
| predicted_HR | 0.0000 | 0.1450 | 0.0663 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9690 | 0.9858 | model_form_blend |
| predicted_WHIP | - | 1.4877 | 1.4877 | 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 | 1 |
| ER | 1 |
| BB | 2 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 16 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260613_HOU@KC |
| game_type | full |
| mlbID | 660853 |
| playerID | 660853 |
| playerName | Enyel De Los Santos |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-13 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.282 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 38.6 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 54.6 |
| sl_avg_best_speed | 79.250556047 |
| sl_avg_hyper_speed | 94.105890465 |
| 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.200 | 0.000 | 2.800 | 3.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.000 | 0.000 | 2.000 | 2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.400 | 0.000 | -0.400 | 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": "623352",
"player_name": "Josh Hader",
"position": "Middle Reliever",
"team": "HOU",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.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": 3.0,
"predicted_ER": 2.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 3.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 0.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 5 | 5.000 | 0.000 | 0.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 1.4000 | 0.0000 |
| season | 0.20 | 5 | 5.000 | 0.000 | 0.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.2000 | 0.0000 | 0.0000 | 0.2000 | 1.4000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3340 |
| predicted_ER | 0.4140 |
| predicted_ERA | 3.7297 |
| predicted_H | 0.8110 |
| predicted_HR | 0.1210 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0110 |
| predicted_WHIP | 1.1459 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.3340 | 2.2073 | model_form_blend |
| predicted_ER | 2.0000 | 0.4140 | 1.5284 | model_form_blend |
| predicted_ERA | - | 3.7297 | 3.7297 | form_only |
| predicted_H | 1.0000 | 0.8110 | 0.9438 | model_form_blend |
| predicted_HR | 0.0000 | 0.1210 | 0.0360 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0110 | 1.0033 | model_form_blend |
| predicted_WHIP | - | 1.1459 | 1.1459 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 5 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 1 |
| HR | 0 |
| BF | 7 |
| Pitches | 28 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 20 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 7 |
| allPositionsPlayed | P |
| gameID | 20260612_HOU@KC |
| game_type | full |
| mlbID | 623352 |
| playerID | 623352 |
| playerName | Josh Hader |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-06-12 |
| sl_k_percent | 43.8 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.044 |
| sl_xwoba | 0.124 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 12.5 |
| sl_whiff_percent | 37.0 |
| sl_swing_percent | 59.0 |
| sl_avg_best_speed | 56.135015 |
| sl_avg_hyper_speed | 89.29163125 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | KC 2 - 5 WAS | WAS | 0.569 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | KC 3 - 4 WAS | WAS | - | 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.5691 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.932 | 6.707 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 4 | 0.5691 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 5 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46613562231759664,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.050684978540772585,
"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": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 118,
"near_bucket_sample_size": 14,
"medium_bucket_sample_size": 25,
"wide_bucket_sample_size": 118,
"global_sample_size": 214,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.5169,
"bayesian_hit_rate": 0.5147,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8676,
"confidence_cap": 0.78,
"raw_pick_probability": 0.67,
"calibrated_pick_probability": 0.5691,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "WAS",
"games": 72,
"wins": 37,
"losses": 35,
"win_pct": 0.5138888888888888,
"runs_scored": 392,
"runs_allowed": 379,
"run_differential": 13,
"run_differential_per_game": 0.18055555555555555,
"available": true
},
"away": {
"team": "KC",
"games": 72,
"wins": 29,
"losses": 43,
"win_pct": 0.4027777777777778,
"runs_scored": 288,
"runs_allowed": 337,
"run_differential": -49,
"run_differential_per_game": -0.6805555555555556,
"available": true
},
"run_differential_edge_per_game": 0.8611,
"win_pct_edge": 0.1111,
"quality_edge": 1.0278,
"margin_adjustment": 0.4317,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.229,
"home_runs": 4.607,
"home_win_probability": 0.7871
}
}{
"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": "KC",
"final_score_winner": "WAS",
"pre_simulation_winner": "WAS",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "KC 2 - 5 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "KC 3 - 4 WAS",
"winner": "WAS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "WAS",
"games": 72,
"wins": 37,
"losses": 35,
"win_pct": 0.5138888888888888,
"runs_scored": 392,
"runs_allowed": 379,
"run_differential": 13,
"run_differential_per_game": 0.18055555555555555,
"available": true
},
"away": {
"team": "KC",
"games": 72,
"wins": 29,
"losses": 43,
"win_pct": 0.4027777777777778,
"runs_scored": 288,
"runs_allowed": 337,
"run_differential": -49,
"run_differential_per_game": -0.6805555555555556,
"available": true
}
}
}{
"applied": true,
"raw_margin": 3.378,
"final_margin": 2.0,
"margin_cap": 2.0,
"season_quality_edge": 1.0278,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 1.918,
"home_runs": 3.918
}
}{
"applied": false,
"raw_confidence": 0.569141,
"final_confidence": 0.569141,
"confidence_cap": 0.66,
"score_gap": 2.0,
"calibration_sample_size": 118,
"calibration_empirical_hit_rate": 0.5169,
"calibration_bayesian_hit_rate": 0.5147,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.0278,
"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": 2,
"home_runs": 5,
"score_text": "KC 2 - 5 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "KC 3 - 4 WAS",
"winner": "WAS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 2,
"home_runs": 5,
"confidence": 0.569141,
"home_win_probability": 0.569141,
"away_win_probability": 0.430859,
"predicted_score_text": "KC 2 - 5 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": "KC",
"original_runs": 2,
"run_delta": 0.1152,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.18270020106112725,
"contact": 0.17683313903094416,
"power": 0.19945795265205724,
"discipline": 0.11100892033081385,
"xwoba": 0.3202258064516129,
"recent_xwoba": 0.3202258064516129,
"barrel": 9.132258064516128,
"ab_hard_contact": 0.07790866901656887,
"ab_bat_speed": 71.42763541474994,
"ab_strikeout_rate": 0.22491213230076515,
"available_players": 9,
"top_players": [
{
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"position": "SS",
"weight": 4.0,
"quality": 1.3708507272044008,
"contact": 1.644885123218457,
"power": 1.4375153702994623,
"discipline": 0.33552069989789296,
"xwoba": 0.385,
"recent_xwoba": 0.385,
"barrel": 12.5,
"ab_hard_contact": 1.6398312155130619,
"ab_bat_speed": 72.66099828532236,
"ab_strikeout_rate": 0.1765432098765432,
"available": 1.0
},
{
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"weight": 3.0,
"quality": 0.7820756541893349,
"contact": 1.0172602581210952,
"power": 1.4884301477468649,
"discipline": -0.4605517364840672,
"xwoba": 0.359,
"recent_xwoba": 0.359,
"barrel": 15.2,
"ab_hard_contact": 0.4912696216039668,
"ab_bat_speed": 75.01769517330742,
"ab_strikeout_rate": 0.31411564625850336,
"available": 1.0
},
{
"player_id": "695600",
"player_name": "Carter Jensen",
"position": "C",
"weight": 4.0,
"quality": -0.37594980494450625,
"contact": -0.7825410110722963,
"power": -0.049016173641106164,
"discipline": -0.45425581811672033,
"xwoba": 0.272,
"recent_xwoba": 0.272,
"barrel": 9.5,
"ab_hard_contact": -0.351942520441175,
"ab_bat_speed": 72.7519387755102,
"ab_strikeout_rate": 0.3064625850340136,
"available": 1.0
},
{
"player_id": "686555",
"player_name": "Isaac Collins",
"position": "LF",
"weight": 3.0,
"quality": -0.21941665812071412,
"contact": -0.3358558311025307,
"power": -0.48216811943518,
"discipline": 0.3754210526315792,
"xwoba": 0.305,
"recent_xwoba": 0.305,
"barrel": 7.4,
"ab_hard_contact": -0.0726957220369339,
"ab_bat_speed": 71.07328395061728,
"ab_strikeout_rate": 0.27999999999999997,
"available": 1.0
},
{
"player_id": "657041",
"player_name": "Lane Thomas",
"position": "CF",
"weight": 3.0,
"quality": -0.12333766351808778,
"contact": -0.23594754631417084,
"power": -0.703495883203379,
"discipline": 1.0163602060707326,
"xwoba": 0.316,
"recent_xwoba": 0.316,
"barrel": 4.1,
"ab_hard_contact": 0.33503471688480435,
"ab_bat_speed": 70.60215277777779,
"ab_strikeout_rate": 0.2037037037037037,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "674841",
"player_name": "Andrew Alvarez",
"quality": -0.050063311972064116,
"contact": -0.7775083602869844,
"command": 0.25999999999999984,
"movement": -0.29719867802949473,
"xwoba": 0.339,
"whiff": 28.4,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "WAS",
"original_runs": 4,
"run_delta": 0.6131,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.2717747708842122,
"contact": 0.4167329605533752,
"power": 0.38713830692958906,
"discipline": 0.04484223920487794,
"xwoba": 0.3358125,
"recent_xwoba": 0.3358125,
"barrel": 9.8375,
"ab_hard_contact": 0.19296111854383408,
"ab_bat_speed": 69.84671966138386,
"ab_strikeout_rate": 0.18660559914098682,
"available_players": 9,
"top_players": [
{
"player_id": "695578",
"player_name": "James Wood",
"position": "DH",
"weight": 4.0,
"quality": 1.5410282499151415,
"contact": 1.537340888830522,
"power": 2.0,
"discipline": 0.5174380594343002,
"xwoba": 0.431,
"recent_xwoba": 0.431,
"barrel": 25.0,
"ab_hard_contact": 1.346512220568783,
"ab_bat_speed": 74.21144047619048,
"ab_strikeout_rate": 0.2949829931972789,
"available": 1.0
},
{
"player_id": "683083",
"player_name": "Nasim Nuñez",
"position": "2B",
"weight": 3.0,
"quality": -0.9041186744410826,
"contact": -1.1351148055329379,
"power": -1.6781571369669213,
"discipline": 0.2326727533118509,
"xwoba": 0.269,
"recent_xwoba": 0.269,
"barrel": 0.0,
"ab_hard_contact": -1.2035236917193788,
"ab_bat_speed": 63.84837018140589,
"ab_strikeout_rate": 0.19931972789115648,
"available": 1.0
},
{
"player_id": "671277",
"player_name": "Luis García Jr.",
"position": "1B",
"weight": 3.0,
"quality": 0.5210045499770096,
"contact": 0.9475733378392678,
"power": 0.7296087650682258,
"discipline": -0.1924837092731829,
"xwoba": 0.333,
"recent_xwoba": 0.333,
"barrel": 8.4,
"ab_hard_contact": 0.48893720612642605,
"ab_bat_speed": 71.92312936507936,
"ab_strikeout_rate": 0.14833333333333334,
"available": 1.0
},
{
"player_id": "682928",
"player_name": "CJ Abrams",
"position": "SS",
"weight": 4.0,
"quality": 0.5254090538896083,
"contact": 0.6752433348151493,
"power": 0.690134073353593,
"discipline": 0.035343130553657016,
"xwoba": 0.359,
"recent_xwoba": 0.359,
"barrel": 10.7,
"ab_hard_contact": 0.6533481337385273,
"ab_bat_speed": 71.01854023569024,
"ab_strikeout_rate": 0.2077922077922078,
"available": 1.0
},
{
"player_id": "678554",
"player_name": "Curtis Mead",
"position": "3B",
"weight": 3.0,
"quality": 0.4706066915263621,
"contact": 0.8091004902550639,
"power": 0.6749849599827563,
"discipline": 0.9603896937465615,
"xwoba": 0.366,
"recent_xwoba": 0.366,
"barrel": 11.0,
"ab_hard_contact": 0.3286515806075007,
"ab_bat_speed": 71.61702574525745,
"ab_strikeout_rate": 0.1573170731707317,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "687765",
"player_name": "Mitch Spence",
"quality": -0.00892379102813886,
"contact": 2.0,
"command": -1.4020000000000001,
"movement": -1.6999999999999997,
"xwoba": 0.312,
"whiff": 25.5,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 5,
"predicted_score_text": "KC 2 - 5 WAS",
"confidence": 0.569141,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "KC 2 - 5 WAS",
"winner": "WAS"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 4,
"score_text": "KC 3 - 4 WAS",
"winner": "WAS"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 1,
"home_run_delta": -1,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away KC | True | 1.0237 | 1.0237 | 1 | 9 | 0 |
| Home WAS | True | 1.0327 | 1.0327 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CF | Lane Thomas | 262 | 0.9957 | -0.0573 | neutral | 0.3160 | 0.2230 | 0.3280 | 4.10 | 36.10 | 87 | 23.40 | 21.60 | 22.40 | 16.10 | -0.1143 |
| DH | Starling Marte | 408 | 1.0190 | 0.2527 | neutral | 0.3200 | 0.2500 | 0.4170 | 14.30 | 40.80 | 91.40 | 6.80 | 30.10 | 29.10 | 6.30 | 0.6857 |
| SS | Bobby Witt Jr. | 2 | 1.1277 | 1.7026 | positive_batter_regression | 0.3850 | 0.3040 | 0.5140 | 12.50 | 52.20 | 93.10 | 16.70 | 23.90 | 17.70 | 10.10 | 0.8857 |
| 3B | Maikel Garcia | 67 | 1.0279 | 0.3725 | neutral | 0.3230 | 0.2770 | 0.3830 | 5.30 | 41.10 | 90.10 | 8.70 | 14.70 | 15.60 | 8.40 | 0.4000 |
| RF | Jac Caglianone | 89 | 1.0789 | 1.0519 | neutral | 0.3590 | 0.2690 | 0.4830 | 15.20 | 57.20 | 93.70 | 8.40 | 31.20 | 29.20 | 9.20 | 0.2857 |
| 1B | Salvador Perez | 552 | 1.0003 | 0.0038 | neutral | 0.2890 | 0.2260 | 0.3880 | 8.30 | 40.50 | 88.50 | 16.90 | 25.50 | 19 | 4.40 | 0.8571 |
| 2B | Nick Loftin | 424 | 1.0003 | 0.0044 | neutral | 0.3170 | 0.2370 | 0.3470 | 5.90 | 32.90 | 86.60 | 14.70 | 14.80 | 12.10 | 12.10 | 0.2000 |
| C | Carter Jensen | 324 | 0.9712 | -0.3840 | neutral | 0.2720 | 0.1970 | 0.3410 | 9.50 | 40.90 | 90.20 | 20.40 | 31.10 | 28.90 | 9.10 | -0.7429 |
| LF | Isaac Collins | 449 | 0.9920 | -0.1062 | neutral | 0.3050 | 0.2200 | 0.3090 | 7.40 | 39 | 88.50 | 19.10 | 25.90 | 25.50 | 13.40 | 0.1429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Curtis Mead | 117 | 1.0489 | 0.6524 | neutral | 0.3660 | 0.2620 | 0.4680 | 11 | 43.10 | 88.90 | 15.70 | 15.80 | 17.10 | 12.60 | 0.2571 |
| 1B | Luis García Jr. | 143 | 1.0447 | 0.5956 | neutral | 0.3330 | 0.2860 | 0.4610 | 8.40 | 47.80 | 92.30 | 10.80 | 18.30 | 15.20 | 3.60 | 0.2286 |
| DH | James Wood | 4 | 1.1491 | 1.9879 | neutral | 0.4310 | 0.2780 | 0.6200 | 25 | 58.10 | 95.60 | 10.20 | 32.10 | 29.60 | 17.20 | 0.6571 |
| SS | CJ Abrams | 24 | 1.0585 | 0.7794 | negative_batter_regression | 0.3590 | 0.2670 | 0.4610 | 10.70 | 42.10 | 90 | 16.60 | 28.70 | 20.30 | 9.80 | -0.8857 |
| LF | Daylen Lile | 96 | 1.0278 | 0.3705 | neutral | 0.3270 | 0.2630 | 0.4270 | 7.90 | 36.40 | 87.70 | 17.20 | 23.10 | 17.30 | 7.50 | 0.0571 |
| RF | Dylan Crews | 392 | 1.0341 | 0.4549 | positive_batter_regression | 0.3380 | 0.2680 | 0.4740 | 9.80 | 45.90 | 91.60 | 12.10 | 24.70 | 20.50 | 2.40 | 2 |
| C | Keibert Ruiz | 130 | 0.9733 | -0.3556 | negative_batter_regression | 0.2620 | 0.2200 | 0.3570 | 5.80 | 39.70 | 89.60 | 18.30 | 14.30 | 13.10 | 2.80 | -1.9143 |
| CF | Jacob Young | 100 | 1.0127 | 0.1694 | neutral | 0.3090 | 0.2600 | 0.3960 | 6.40 | 37.20 | 89.30 | 11.70 | 19.80 | 19 | 4.80 | 0.3429 |
| 2B | Nasim Nuñez | 204 | 0.9451 | -0.7323 | neutral | 0.2690 | 0.2220 | 0.2680 | 0 | 19.70 | 84.80 | 8.40 | 23.30 | 22.10 | 10.20 | 0.7143 |
{
"home": {
"applied": true,
"offense_factor": 1.0327,
"raw_average_factor": 1.0327,
"team_espn_average_rank": 134.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "678554",
"player_name": "Curtis Mead",
"offense_factor": 1.0489,
"quality_score": 0.6524,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678554",
"espn_id": 42360,
"player_name": "Curtis Mead",
"team": "WSH",
"role": "batter",
"espn_rank": 117,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 117,
"gp_value": 56.0,
"gp_rank": 190,
"ab_value": 171.0,
"ab_rank": 195,
"r_value": 31.0,
"r_rank": 98,
"h_value": 40.0,
"h_rank": 197,
"avg_value": 0.2339181,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 10.0,
"hr_rank": 60,
"rbi_value": 29.0,
"rbi_rank": 110,
"tb_value": 80.0,
"tb_rank": 875,
"bb_value": 25.0,
"bb_rank": 83,
"so_value": 34.0,
"so_rank": 233,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3417085,
"obp_rank": "-",
"slg_value": 0.4678362,
"slg_rank": "-",
"ops_value": 0.8095447,
"ops_rank": null,
"war_value": 1.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 141.0,
"k_percent": 17.1,
"bb_percent": 12.6,
"woba": 0.357,
"xwoba": 0.366,
"xba": 0.262,
"xslg": 0.468,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 11.0,
"hard_hit_percent": 43.1,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 15.7,
"whiff_percent": 15.8,
"swing_percent": 41.3
},
"components": {
"expected_quality": 1.1418,
"regression_edge": 0.2571,
"xwoba_edge": 1.7429,
"xba_edge": 0.6857,
"xslg_edge": 1.3286,
"barrel_edge": 0.9111,
"hard_hit_edge": 0.6429,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "671277",
"player_name": "Luis García Jr.",
"offense_factor": 1.0447,
"quality_score": 0.5956,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671277",
"espn_id": 40459,
"player_name": "Luis Garcia Jr.",
"team": "WSH",
"role": "batter",
"espn_rank": 143,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 143,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 220.0,
"ab_rank": 123,
"r_value": 28.0,
"r_rank": 130,
"h_value": 57.0,
"h_rank": 101,
"avg_value": 0.2590909,
"avg_rank": 68.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 43.0,
"rbi_rank": 21,
"tb_value": 102.0,
"tb_rank": 412,
"bb_value": 8.0,
"bb_rank": 307,
"so_value": 36.0,
"so_rank": 215,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.2838427,
"obp_rank": "146",
"slg_value": 0.4636363,
"slg_rank": "45",
"ops_value": 0.747479,
"ops_rank": 101.0,
"war_value": 0.87,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 169.0,
"k_percent": 15.2,
"bb_percent": 3.6,
"woba": 0.325,
"xwoba": 0.333,
"xba": 0.286,
"xslg": 0.461,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 47.8,
"exit_velocity_avg": 92.3,
"launch_angle_avg": 10.8,
"whiff_percent": 18.3,
"swing_percent": 55.3
},
"components": {
"expected_quality": 0.8644,
"regression_edge": 0.2286,
"xwoba_edge": 0.8,
"xba_edge": 1.3714,
"xslg_edge": 1.2286,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.3143,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "695578",
"player_name": "James Wood",
"offense_factor": 1.1491,
"quality_score": 1.9879,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695578",
"espn_id": 4918256,
"player_name": "James Wood",
"team": "WSH",
"role": "batter",
"espn_rank": 4,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 4,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 274.0,
"ab_rank": 18,
"r_value": 66.0,
"r_rank": 1,
"h_value": 77.0,
"h_rank": 11,
"avg_value": 0.2810218,
"avg_rank": 28.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 20.0,
"hr_rank": 4,
"rbi_value": 46.0,
"rbi_rank": 14,
"tb_value": 153.0,
"tb_rank": 417,
"bb_value": 58.0,
"bb_rank": 4,
"so_value": 98.0,
"so_rank": 3,
"sb_value": 13.0,
"sb_rank": 16,
"obp_value": 0.4136904,
"obp_rank": "4",
"slg_value": 0.5583941,
"slg_rank": "8",
"ops_value": 0.9720845,
"ops_rank": 12.0,
"war_value": 3.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 255.0,
"k_percent": 29.6,
"bb_percent": 17.2,
"woba": 0.408,
"xwoba": 0.431,
"xba": 0.278,
"xslg": 0.62,
"sweet_spot_percent": 42.4,
"barrel_batted_rate": 25.0,
"hard_hit_percent": 58.1,
"exit_velocity_avg": 95.6,
"launch_angle_avg": 10.2,
"whiff_percent": 32.1,
"swing_percent": 37.3
},
"components": {
"expected_quality": 2.2046,
"regression_edge": 0.6571,
"xwoba_edge": 2.5,
"xba_edge": 1.1429,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": 1.5167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "682928",
"player_name": "CJ Abrams",
"offense_factor": 1.0585,
"quality_score": 0.7794,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682928",
"espn_id": 42402,
"player_name": "CJ Abrams",
"team": "WSH",
"role": "batter",
"espn_rank": 24,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 24,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 259.0,
"ab_rank": 41,
"r_value": 46.0,
"r_rank": 13,
"h_value": 75.0,
"h_rank": 18,
"avg_value": 0.2895752,
"avg_rank": 22.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 14.0,
"hr_rank": 29,
"rbi_value": 53.0,
"rbi_rank": 4,
"tb_value": 134.0,
"tb_rank": 186,
"bb_value": 29.0,
"bb_rank": 59,
"so_value": 61.0,
"so_rank": 70,
"sb_value": 10.0,
"sb_rank": 34,
"obp_value": 0.3766666,
"obp_rank": "20",
"slg_value": 0.5173745,
"slg_rank": "21",
"ops_value": 0.8940411,
"ops_rank": 1.0,
"war_value": 2.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 20.3,
"bb_percent": 9.8,
"woba": 0.39,
"xwoba": 0.359,
"xba": 0.267,
"xslg": 0.461,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 16.6,
"whiff_percent": 28.7,
"swing_percent": 50.6
},
"components": {
"expected_quality": 1.0504,
"regression_edge": -0.8857,
"xwoba_edge": 1.5429,
"xba_edge": 0.8286,
"xslg_edge": 1.2286,
"barrel_edge": 0.8444,
"hard_hit_edge": 0.5,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "695734",
"player_name": "Daylen Lile",
"offense_factor": 1.0278,
"quality_score": 0.3705,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695734",
"espn_id": 4917889,
"player_name": "Daylen Lile",
"team": "WSH",
"role": "batter",
"espn_rank": 96,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 96,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 282.0,
"ab_rank": 8,
"r_value": 42.0,
"r_rank": 34,
"h_value": 74.0,
"h_rank": 24,
"avg_value": 0.2624113,
"avg_rank": 63.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 37.0,
"rbi_rank": 48,
"tb_value": 120.0,
"tb_rank": 327,
"bb_value": 23.0,
"bb_rank": 98,
"so_value": 54.0,
"so_rank": 104,
"sb_value": 7.0,
"sb_rank": 58,
"obp_value": 0.3183279,
"obp_rank": "106",
"slg_value": 0.4255319,
"slg_rank": "77",
"ops_value": 0.7438598,
"ops_rank": 183.0,
"war_value": 1.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 17.3,
"bb_percent": 7.5,
"woba": 0.325,
"xwoba": 0.327,
"xba": 0.263,
"xslg": 0.427,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 17.2,
"whiff_percent": 23.1,
"swing_percent": 54.5
},
"components": {
"expected_quality": 0.4215,
"regression_edge": 0.0571,
"xwoba_edge": 0.6286,
"xba_edge": 0.7143,
"xslg_edge": 0.7429,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.3143,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "686611",
"player_name": "Dylan Crews",
"offense_factor": 1.0341,
"quality_score": 0.4549,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686611",
"espn_id": 4719511,
"player_name": "Dylan Crews",
"team": "WSH",
"role": "batter",
"espn_rank": 392,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 392,
"gp_value": 22.0,
"gp_rank": 396,
"ab_value": 83.0,
"ab_rank": 351,
"r_value": 10.0,
"r_rank": 334,
"h_value": 16.0,
"h_rank": 361,
"avg_value": 0.192771,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 384,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 10.0,
"rbi_rank": 315,
"tb_value": 27.0,
"tb_rank": 1821,
"bb_value": 2.0,
"bb_rank": 440,
"so_value": 17.0,
"so_rank": 377,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.2386363,
"obp_rank": "-",
"slg_value": 0.3253012,
"slg_rank": "-",
"ops_value": 0.5639375,
"ops_rank": null,
"war_value": -0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 30.0,
"k_percent": 20.5,
"bb_percent": 2.4,
"woba": 0.252,
"xwoba": 0.338,
"xba": 0.268,
"xslg": 0.474,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 12.1,
"whiff_percent": 24.7,
"swing_percent": 53.8
},
"components": {
"expected_quality": 0.85,
"regression_edge": 2.0,
"xwoba_edge": 0.9429,
"xba_edge": 0.8571,
"xslg_edge": 1.4143,
"barrel_edge": 0.6444,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": -0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "660688",
"player_name": "Keibert Ruiz",
"offense_factor": 0.9733,
"quality_score": -0.3556,
"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": 130,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 130,
"gp_value": 45.0,
"gp_rank": 256,
"ab_value": 142.0,
"ab_rank": 244,
"r_value": 20.0,
"r_rank": 207,
"h_value": 40.0,
"h_rank": 197,
"avg_value": 0.2816901,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 37,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 29.0,
"rbi_rank": 110,
"tb_value": 72.0,
"tb_rank": 1055,
"bb_value": 4.0,
"bb_rank": 401,
"so_value": 19.0,
"so_rank": 354,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3020134,
"obp_rank": "-",
"slg_value": 0.5070422,
"slg_rank": "-",
"ops_value": 0.8090556,
"ops_rank": null,
"war_value": 0.93,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 13.1,
"bb_percent": 2.8,
"woba": 0.329,
"xwoba": 0.262,
"xba": 0.22,
"xslg": 0.357,
"sweet_spot_percent": 30.6,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 39.7,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 18.3,
"whiff_percent": 14.3,
"swing_percent": 49.8
},
"components": {
"expected_quality": -0.5229,
"regression_edge": -1.9143,
"xwoba_edge": -1.2286,
"xba_edge": -0.5143,
"xslg_edge": -0.2571,
"barrel_edge": -0.2444,
"hard_hit_edge": 0.1571,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.45,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "696285",
"player_name": "Jacob Young",
"offense_factor": 1.0127,
"quality_score": 0.1694,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696285",
"espn_id": 4414210,
"player_name": "Jacob Young",
"team": "WSH",
"role": "batter",
"espn_rank": 100,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 100,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 219.0,
"ab_rank": 124,
"r_value": 31.0,
"r_rank": 98,
"h_value": 52.0,
"h_rank": 124,
"avg_value": 0.2374429,
"avg_rank": 110.0,
"2b_value": 8.0,
"2b_rank": 183,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 28.0,
"rbi_rank": 120,
"tb_value": 88.0,
"tb_rank": 616,
"bb_value": 11.0,
"bb_rank": 262,
"so_value": 45.0,
"so_rank": 149,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.2863247,
"obp_rank": "141",
"slg_value": 0.4018264,
"slg_rank": "100",
"ops_value": 0.6881511,
"ops_rank": 241.0,
"war_value": 1.27,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 19.0,
"bb_percent": 4.8,
"woba": 0.297,
"xwoba": 0.309,
"xba": 0.26,
"xslg": 0.396,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 37.2,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 11.7,
"whiff_percent": 19.8,
"swing_percent": 43.1
},
"components": {
"expected_quality": 0.1759,
"regression_edge": 0.3429,
"xwoba_edge": 0.1143,
"xba_edge": 0.6286,
"xslg_edge": 0.3,
"barrel_edge": -0.1111,
"hard_hit_edge": -0.2,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "683083",
"player_name": "Nasim Nuñez",
"offense_factor": 0.9451,
"quality_score": -0.7323,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683083",
"espn_id": 4728688,
"player_name": "Nasim Nunez",
"team": "WSH",
"role": "batter",
"espn_rank": 204,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 204,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 199.0,
"ab_rank": 150,
"r_value": 25.0,
"r_rank": 160,
"h_value": 40.0,
"h_rank": 197,
"avg_value": 0.201005,
"avg_rank": 154.0,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 22.0,
"rbi_rank": 182,
"tb_value": 45.0,
"tb_rank": 1989,
"bb_value": 23.0,
"bb_rank": 98,
"so_value": 52.0,
"so_rank": 118,
"sb_value": 25.0,
"sb_rank": 2,
"obp_value": 0.2857142,
"obp_rank": "141",
"slg_value": 0.2261306,
"slg_rank": "162",
"ops_value": 0.5118448,
"ops_rank": 21.0,
"war_value": 0.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 183.0,
"k_percent": 22.1,
"bb_percent": 10.2,
"woba": 0.244,
"xwoba": 0.269,
"xba": 0.222,
"xslg": 0.268,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 19.7,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 8.4,
"whiff_percent": 23.3,
"swing_percent": 48.0
},
"components": {
"expected_quality": -1.14,
"regression_edge": 0.7143,
"xwoba_edge": -1.0286,
"xba_edge": -0.4571,
"xslg_edge": -1.5286,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0237,
"raw_average_factor": 1.0237,
"team_espn_average_rank": 286.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "CF",
"player_id": "657041",
"player_name": "Lane Thomas",
"offense_factor": 0.9957,
"quality_score": -0.0573,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657041",
"espn_id": 36409,
"player_name": "Lane Thomas",
"team": "KC",
"role": "batter",
"espn_rank": 262,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 262,
"gp_value": 57.0,
"gp_rank": 181,
"ab_value": 134.0,
"ab_rank": 251,
"r_value": 14.0,
"r_rank": 276,
"h_value": 30.0,
"h_rank": 258,
"avg_value": 0.2238805,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 16.0,
"rbi_rank": 249,
"tb_value": 43.0,
"tb_rank": 1629,
"bb_value": 26.0,
"bb_rank": 77,
"so_value": 36.0,
"so_rank": 215,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3536585,
"obp_rank": "-",
"slg_value": 0.3208955,
"slg_rank": "-",
"ops_value": 0.674554,
"ops_rank": null,
"war_value": 0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 22.4,
"bb_percent": 16.1,
"woba": 0.32,
"xwoba": 0.316,
"xba": 0.223,
"xslg": 0.328,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 36.1,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 23.4,
"whiff_percent": 21.6,
"swing_percent": 40.0
},
"components": {
"expected_quality": -0.1111,
"regression_edge": -0.1143,
"xwoba_edge": 0.3143,
"xba_edge": -0.4286,
"xslg_edge": -0.6714,
"barrel_edge": -0.6222,
"hard_hit_edge": -0.3571,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.6333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "516782",
"player_name": "Starling Marte",
"offense_factor": 1.019,
"quality_score": 0.2527,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "516782",
"espn_id": 30830,
"player_name": "Starling Marte",
"team": "KC",
"role": "batter",
"espn_rank": 408,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 408,
"gp_value": 31.0,
"gp_rank": 345,
"ab_value": 71.0,
"ab_rank": 372,
"r_value": 5.0,
"r_rank": 411,
"h_value": 18.0,
"h_rank": 344,
"avg_value": 0.2535211,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 5.0,
"rbi_rank": 396,
"tb_value": 24.0,
"tb_rank": 2148,
"bb_value": 5.0,
"bb_rank": 377,
"so_value": 23.0,
"so_rank": 317,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3164556,
"obp_rank": "-",
"slg_value": 0.3380281,
"slg_rank": "-",
"ops_value": 0.6544837,
"ops_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 54.0,
"k_percent": 29.1,
"bb_percent": 6.3,
"woba": 0.296,
"xwoba": 0.32,
"xba": 0.25,
"xslg": 0.417,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 40.8,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 6.8,
"whiff_percent": 30.1,
"swing_percent": 49.3
},
"components": {
"expected_quality": 0.5413,
"regression_edge": 0.6857,
"xwoba_edge": 0.4286,
"xba_edge": 0.3429,
"xslg_edge": 0.6,
"barrel_edge": 1.6444,
"hard_hit_edge": 0.3143,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677951",
"player_name": "Bobby Witt Jr.",
"offense_factor": 1.1277,
"quality_score": 1.7026,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677951",
"espn_id": 42403,
"player_name": "Bobby Witt Jr.",
"team": "KC",
"role": "batter",
"espn_rank": 2,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 2,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 286.0,
"ab_rank": 4,
"r_value": 36.0,
"r_rank": 62,
"h_value": 82.0,
"h_rank": 5,
"avg_value": 0.2867132,
"avg_rank": 23.0,
"2b_value": 19.0,
"2b_rank": 4,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 28.0,
"rbi_rank": 120,
"tb_value": 130.0,
"tb_rank": 358,
"bb_value": 32.0,
"bb_rank": 42,
"so_value": 56.0,
"so_rank": 91,
"sb_value": 26.0,
"sb_rank": 1,
"obp_value": 0.3582554,
"obp_rank": "43",
"slg_value": 0.4545454,
"slg_rank": "51",
"ops_value": 0.8128008,
"ops_rank": 94.0,
"war_value": 3.88,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 17.7,
"bb_percent": 10.1,
"woba": 0.354,
"xwoba": 0.385,
"xba": 0.304,
"xslg": 0.514,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 52.2,
"exit_velocity_avg": 93.1,
"launch_angle_avg": 16.7,
"whiff_percent": 23.9,
"swing_percent": 48.0
},
"components": {
"expected_quality": 1.8355,
"regression_edge": 0.8857,
"xwoba_edge": 2.2857,
"xba_edge": 1.8857,
"xslg_edge": 1.9857,
"barrel_edge": 1.2444,
"hard_hit_edge": 1.9429,
"exit_velocity_edge": 1.72,
"sweet_spot_edge": 0.95,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "672580",
"player_name": "Maikel Garcia",
"offense_factor": 1.0279,
"quality_score": 0.3725,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672580",
"espn_id": 4905884,
"player_name": "Maikel Garcia",
"team": "KC",
"role": "batter",
"espn_rank": 67,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 67,
"gp_value": 65.0,
"gp_rank": 120,
"ab_value": 254.0,
"ab_rank": 58,
"r_value": 32.0,
"r_rank": 86,
"h_value": 68.0,
"h_rank": 48,
"avg_value": 0.2677165,
"avg_rank": 55.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 28.0,
"rbi_rank": 120,
"tb_value": 97.0,
"tb_rank": 788,
"bb_value": 23.0,
"bb_rank": 98,
"so_value": 43.0,
"so_rank": 166,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3261648,
"obp_rank": "91",
"slg_value": 0.3818897,
"slg_rank": "115",
"ops_value": 0.7080545,
"ops_rank": 206.0,
"war_value": 1.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 15.6,
"bb_percent": 8.4,
"woba": 0.309,
"xwoba": 0.323,
"xba": 0.277,
"xslg": 0.383,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 41.1,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 8.7,
"whiff_percent": 14.7,
"swing_percent": 38.7
},
"components": {
"expected_quality": 0.368,
"regression_edge": 0.4,
"xwoba_edge": 0.5143,
"xba_edge": 1.1143,
"xslg_edge": 0.1143,
"barrel_edge": -0.3556,
"hard_hit_edge": 0.3571,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "695506",
"player_name": "Jac Caglianone",
"offense_factor": 1.0789,
"quality_score": 1.0519,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695506",
"espn_id": 4926296,
"player_name": "Jac Caglianone",
"team": "KC",
"role": "batter",
"espn_rank": 89,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 89,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 219.0,
"ab_rank": 124,
"r_value": 28.0,
"r_rank": 130,
"h_value": 59.0,
"h_rank": 90,
"avg_value": 0.2694063,
"avg_rank": 53.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 20.0,
"rbi_rank": 202,
"tb_value": 96.0,
"tb_rank": 599,
"bb_value": 22.0,
"bb_rank": 118,
"so_value": 73.0,
"so_rank": 29,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3442622,
"obp_rank": "61",
"slg_value": 0.4383561,
"slg_rank": "68",
"ops_value": 0.7826183,
"ops_rank": 129.0,
"war_value": 1.39,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 178.0,
"k_percent": 29.2,
"bb_percent": 9.2,
"woba": 0.349,
"xwoba": 0.359,
"xba": 0.269,
"xslg": 0.483,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 57.2,
"exit_velocity_avg": 93.7,
"launch_angle_avg": 8.4,
"whiff_percent": 31.2,
"swing_percent": 48.8
},
"components": {
"expected_quality": 1.4653,
"regression_edge": 0.2857,
"xwoba_edge": 1.5429,
"xba_edge": 0.8857,
"xslg_edge": 1.5429,
"barrel_edge": 1.8444,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.96,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "521692",
"player_name": "Salvador Perez",
"offense_factor": 1.0003,
"quality_score": 0.0038,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "521692",
"espn_id": 31127,
"player_name": "Salvador Perez",
"team": "KC",
"role": "batter",
"espn_rank": 552,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 552,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 257.0,
"ab_rank": 45,
"r_value": 25.0,
"r_rank": 160,
"h_value": 52.0,
"h_rank": 124,
"avg_value": 0.2023346,
"avg_rank": 153.0,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 85.0,
"tb_rank": 958,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 54.0,
"so_rank": 104,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2482014,
"obp_rank": "162",
"slg_value": 0.3307392,
"slg_rank": "143",
"ops_value": 0.5789406,
"ops_rank": 305.0,
"war_value": -0.85,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 218.0,
"k_percent": 19.0,
"bb_percent": 4.4,
"woba": 0.259,
"xwoba": 0.289,
"xba": 0.226,
"xslg": 0.388,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 16.9,
"whiff_percent": 25.5,
"swing_percent": 57.7
},
"components": {
"expected_quality": -0.135,
"regression_edge": 0.8571,
"xwoba_edge": -0.4571,
"xba_edge": -0.3429,
"xslg_edge": 0.1857,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.2714,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "679845",
"player_name": "Nick Loftin",
"offense_factor": 1.0003,
"quality_score": 0.0044,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679845",
"espn_id": 4314013,
"player_name": "Nick Loftin",
"team": "KC",
"role": "batter",
"espn_rank": 424,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 424,
"gp_value": 36.0,
"gp_rank": 323,
"ab_value": 95.0,
"ab_rank": 326,
"r_value": 14.0,
"r_rank": 276,
"h_value": 21.0,
"h_rank": 324,
"avg_value": 0.2210526,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 183,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 18.0,
"rbi_rank": 222,
"tb_value": 34.0,
"tb_rank": 1718,
"bb_value": 14.0,
"bb_rank": 208,
"so_value": 14.0,
"so_rank": 400,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3304347,
"obp_rank": "-",
"slg_value": 0.3578947,
"slg_rank": "-",
"ops_value": 0.6883294,
"ops_rank": null,
"war_value": -0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 66.0,
"k_percent": 12.1,
"bb_percent": 12.1,
"woba": 0.31,
"xwoba": 0.317,
"xba": 0.237,
"xslg": 0.347,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 32.9,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 14.7,
"whiff_percent": 14.8,
"swing_percent": 39.0
},
"components": {
"expected_quality": -0.0212,
"regression_edge": 0.2,
"xwoba_edge": 0.3429,
"xba_edge": -0.0286,
"xslg_edge": -0.4,
"barrel_edge": -0.2222,
"hard_hit_edge": -0.8143,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "695600",
"player_name": "Carter Jensen",
"offense_factor": 0.9712,
"quality_score": -0.384,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695600",
"espn_id": 4917812,
"player_name": "Carter Jensen",
"team": "KC",
"role": "batter",
"espn_rank": 324,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 324,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 218.0,
"ab_rank": 126,
"r_value": 30.0,
"r_rank": 114,
"h_value": 48.0,
"h_rank": 151,
"avg_value": 0.2201834,
"avg_rank": 136.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 35.0,
"rbi_rank": 58,
"tb_value": 85.0,
"tb_rank": 861,
"bb_value": 22.0,
"bb_rank": 118,
"so_value": 71.0,
"so_rank": 37,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2886178,
"obp_rank": "139",
"slg_value": 0.3899082,
"slg_rank": "111",
"ops_value": 0.678526,
"ops_rank": 250.0,
"war_value": 0.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 28.9,
"bb_percent": 9.1,
"woba": 0.298,
"xwoba": 0.272,
"xba": 0.197,
"xslg": 0.341,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 20.4,
"whiff_percent": 31.1,
"swing_percent": 44.6
},
"components": {
"expected_quality": -0.413,
"regression_edge": -0.7429,
"xwoba_edge": -0.9429,
"xba_edge": -1.1714,
"xslg_edge": -0.4857,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.3286,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "686555",
"player_name": "Isaac Collins",
"offense_factor": 0.992,
"quality_score": -0.1062,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686555",
"espn_id": 42959,
"player_name": "Isaac Collins",
"team": "KC",
"role": "batter",
"espn_rank": 449,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 449,
"gp_value": 63.0,
"gp_rank": 145,
"ab_value": 193.0,
"ab_rank": 159,
"r_value": 24.0,
"r_rank": 168,
"h_value": 42.0,
"h_rank": 185,
"avg_value": 0.2176165,
"avg_rank": 140.0,
"2b_value": 8.0,
"2b_rank": 183,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 17.0,
"rbi_rank": 236,
"tb_value": 59.0,
"tb_rank": 1444,
"bb_value": 32.0,
"bb_rank": 42,
"so_value": 59.0,
"so_rank": 80,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3405172,
"obp_rank": "67",
"slg_value": 0.3056994,
"slg_rank": "157",
"ops_value": 0.6462166,
"ops_rank": 90.0,
"war_value": -0.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 25.5,
"bb_percent": 13.4,
"woba": 0.3,
"xwoba": 0.305,
"xba": 0.22,
"xslg": 0.309,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 39.0,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 19.1,
"whiff_percent": 25.9,
"swing_percent": 39.0
},
"components": {
"expected_quality": -0.1776,
"regression_edge": 0.1429,
"xwoba_edge": 0.0,
"xba_edge": -0.5143,
"xslg_edge": -0.9429,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.0571,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.0333,
"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 | 503 | 0.0076 | 0.4500 | 0.9994 | 1 | 1 | 0.9972 | neutral | 0.3120 | 0.3080 | 22.70 | 9.10 | 25.50 | 7.10 | 38.60 | |
| Home WAS | True | 212 | -0.1402 | 0.4500 | 1.0119 | 1.0139 | 1.0144 | 1.0294 | neutral | 0.3390 | 0.3340 | 25.20 | 10.70 | 28.40 | 7.60 | 45.50 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away KC | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home WAS | True | None | 33 | 86.95 | 2568 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1556 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0054 |
| home_runs_vs_away_pitcher | 0.9997 |
| home_pitcher_quality_edge | -0.1478 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "674841",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 35.0,
"k_percent": 25.2,
"bb_percent": 10.7,
"woba": 0.334,
"xwoba": 0.339,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 45.5,
"avg_best_speed": 79.2085,
"avg_hyper_speed": 95.4062,
"whiff_percent": 28.4,
"swing_percent": 45.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.6135,
"command_and_miss": 0.2257,
"regression_edge": -0.1429,
"xwoba_edge": -0.6857,
"barrel_edge": -0.0667,
"hard_hit_edge": -0.9857,
"whiff_edge": 0.4143,
"bb_edge": -0.4,
"pitch_design_score": -0.1556
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "674841",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 33,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 86.9490516726404,
"release_spin_rate": 2568.2694145758664,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 86.9490516726404,
"release_spin_rate": 2568.2694145758664,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9491,
"release_spin_rate": 2568.2694,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1556,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1116,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1402,
"sample_weight": 0.45,
"run_prevention_factor": 1.0119,
"strikeout_factor": 1.0139,
"walk_factor": 1.0144,
"homer_factor": 1.0294,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "674841",
"espn_id": 4300668,
"player_name": "Andrew Alvarez",
"team": "WSH",
"role": "pitcher",
"espn_rank": 212,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 212,
"gp_value": 7.0,
"gp_rank": 440,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.6986,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 24.1,
"ip_rank": 321,
"h_value": 24.0,
"h_rank": 268,
"er_value": 10.0,
"er_rank": 308,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 26.0,
"k_rank": 281,
"k_per_9_value": 9.616439,
"k_per_9_rank": 23,
"whip_value": 1.4383,
"whip_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "687765",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0504,
"command_and_miss": 0.0,
"regression_edge": -0.1143,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0444,
"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": "687765",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0076,
"sample_weight": 0.45,
"run_prevention_factor": 0.9994,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9972,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687765",
"espn_id": 4987645,
"player_name": "Mitch Spence",
"team": "KC",
"role": "pitcher",
"espn_rank": 503,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 503,
"gp_value": 1.0,
"gp_rank": 631,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 13.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 4.0,
"ip_rank": 564,
"h_value": 4.0,
"h_rank": 579,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 5.0,
"bb_rank": 466,
"k_value": 3.0,
"k_rank": 572,
"k_per_9_value": 6.75,
"k_per_9_rank": 27,
"whip_value": 2.25,
"whip_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0054,
"home_runs_vs_away_pitcher": 0.9997,
"home_pitcher_quality_edge": -0.1478
},
"score_before": {
"away_runs": 1.4159,
"home_runs": 4.371
},
"score_after": {
"away_runs": 1.4235,
"home_runs": 4.3698,
"home_win_probability": 0.7478
},
"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 | 11-51 | 0.177 | 1.10 | 3.90 | -177 | cold | average | |
| Home WAS | 16-48 | 0.250 | 1.30 | 3.50 | -142 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away KC | 29-43 | 0.403 | -49 | -0.681 | True |
| Home WAS | 37-35 | 0.514 | 13 | 0.181 | True |
| Signal | - | - | 0.861 | 1.028 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target KC | - | - | 2 | - | - | - | - |
| Game target WAS | - | - | 5 | - | - | - | - |
| Player finalized KC | 31 | 9 | 0 | 0 | 2 | 0 | 8 |
| Player finalized WAS | 32 | 9 | 8 | 0 | 4 | 1 | 8 |
| Player model fractional KC | 30.71 | 7.19 | 3.61 | 0.75 | 3.45 | 3.09 | 7.52 |
| Player model fractional WAS | 32.59 | 7.85 | 5.44 | 1.29 | 5.00 | 2.75 | 6.99 |
| Simulation box KC | 34 | 7 | 3 | 1 | 3 | 7 | 9 |
| Simulation box WAS | 31 | 7 | 4 | 1 | 4 | 3 | 4 |
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 | Mitch Spence | 3.20 | 4 | 1 | 7 | 2 | 5.97 | 1.49 | True |
| Away KC | Middle Reliever | Alex Lange | 1.10 | 0 | 0 | 0 | 1 | 3.59 | 1.48 | True |
| Away KC | Middle Reliever | Daniel Lynch IV | 1.10 | 0 | 1 | 0 | 0 | 3.09 | 0.98 | True |
| Away KC | Middle Reliever | Lucas Erceg | 1 | 0 | 0 | 0 | 0 | 4.79 | 1.70 | True |
| Away KC | Middle Reliever | Matt Strahm | 0.20 | 0 | 2 | 0 | 0 | 6.35 | 1.27 | True |
| Home WAS | Starter | Andrew Alvarez | 4.10 | 2 | 4 | 5 | 4 | 4.26 | 1.46 | True |
| Home WAS | Middle Reliever | Brad Lord | 1 | 0 | 1 | 0 | 1 | 1.98 | 1.08 | True |
| Home WAS | Middle Reliever | Clayton Beeter | 1 | 0 | 1 | 0 | 0 | 4.58 | 1.28 | True |
| Home WAS | Middle Reliever | Gus Varland | 1 | 1 | 1 | 1 | 1 | 4.71 | 1.63 | True |
| Home WAS | Middle Reliever | Orlando Ribalta | 1.20 | 0 | 2 | 1 | 1 | 3.34 | 1.23 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | KC | batter | DH | Starling Marte | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | 2.4640 | boost | better |
| away | KC | batter | CF | Lane Thomas | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 2.3100 | boost | better |
| away | KC | batter | 3B | Maikel Garcia | boosted | 10 | 6 | 4 | 5 | 5 | predicted_BB | 1.6670 | boost | better |
| away | KC | batter | SS | Bobby Witt Jr. | worse | 11 | 3 | 8 | 2 | 9 | predicted_BB | 1.5770 | boost | better |
| home | WAS | batter | RF | Dylan Crews | worse | 8 | 4 | 4 | 3 | 5 | predicted_RBI | 1.4600 | boost | better |
| home | WAS | batter | 2B | Nasim Nuñez | better | 9 | 4 | 5 | 5 | 4 | predicted_AB | -1.2620 | deboost | worse |
| away | KC | batter | 2B | Nick Loftin | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | 1.2060 | boost | better |
| away | KC | batter | C | Carter Jensen | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -1.0940 | deboost | better |
| away | KC | batter | LF | Isaac Collins | worse | 11 | 4 | 7 | 3 | 8 | predicted_SO | 1.0330 | boost | worse |
| home | WAS | batter | LF | Daylen Lile | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -1.0300 | deboost | worse |
| away | KC | batter | 1B | Salvador Perez | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -0.9500 | deboost | worse |
| away | KC | batter | RF | Jac Caglianone | better | 11 | 6 | 5 | 7 | 4 | predicted_HR | 0.9400 | boost | better |
| home | WAS | batter | SS | CJ Abrams | better | 9 | 6 | 3 | 7 | 2 | predicted_AB | -0.9200 | deboost | worse |
| home | WAS | pitcher | Starter | Andrew Alvarez | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.9000 | deboost | worse |
| home | WAS | batter | DH | James Wood | better | 11 | 6 | 5 | 7 | 4 | predicted_H | 0.8400 | boost | better |
| away | KC | pitcher | Starter | Mitch Spence | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.8000 | deboost | worse |
| home | WAS | batter | C | Keibert Ruiz | worse | 10 | 1 | 9 | 2 | 8 | predicted_H | -0.7900 | deboost | worse |
| home | WAS | batter | CF | Jacob Young | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.7260 | deboost | better |
| home | WAS | batter | 1B | Luis García Jr. | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 0.6670 | boost | better |
| home | WAS | batter | 3B | Curtis Mead | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -0.6070 | deboost | better |
| home | WAS | pitcher | Middle Reliever | Orlando Ribalta | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | KC | pitcher | Middle Reliever | Alex Lange | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| away | KC | pitcher | Middle Reliever | Daniel Lynch IV | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| away | KC | pitcher | Middle Reliever | Matt Strahm | 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 | Mitch Spence |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0076 |
| ESPN Rank | 503 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 3.2000 |
| Pre ER | 4 |
| Pre H | 7 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 13.5000 |
| Season WHIP | 2.2500 |
| Role Avg IP | 4 |
| Recent Avg IP | 4 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"opponent": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": -0.233,
"offense_edge": -0.1373,
"opponent_offense_edge": 0.1388,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.1197,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9838,
"run_prevention": 1.0383,
"strikeout": 0.9819
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687765",
"profile": {
"available": true,
"pitcher_id": "687765",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0504,
"command_and_miss": 0.0,
"regression_edge": -0.1143,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0444,
"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": "687765",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0076,
"sample_weight": 0.45,
"run_prevention_factor": 0.9994,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9972,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687765",
"espn_id": 4987645,
"player_name": "Mitch Spence",
"team": "KC",
"role": "pitcher",
"espn_rank": 503,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 503,
"gp_value": 1.0,
"gp_rank": 631,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 13.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 4.0,
"ip_rank": 564,
"h_value": 4.0,
"h_rank": 579,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 5.0,
"bb_rank": 466,
"k_value": 3.0,
"k_rank": 572,
"k_per_9_value": 6.75,
"k_per_9_rank": 27,
"whip_value": 2.25,
"whip_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 0.9997,
"adjusted": 4
},
"predicted_H": {
"original": 4.0,
"factor": 0.9997,
"adjusted": 4
},
"predicted_BB": {
"original": 5.0,
"factor": 1.0,
"adjusted": 5
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9987,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0,
"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": 4.0,
"ER": 6,
"H": 4,
"BB": 5,
"SO": 3,
"HR": 1,
"ERA": 13.5,
"WHIP": 2.25,
"K9": 6.75,
"HR9": 2.25,
"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-04-18T00:00:00"
}{
"available": false,
"pitcher_id": "687765",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1667,
"prior_weight": 0.8333
},
"role": "pitcher",
"player_id": "687765",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 4.0,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 4.0,
"ER": 6.0,
"R": 6.0,
"H": 4.0,
"BB": 5.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 84.0
},
"per_game": {
"IP": 4.0,
"ER": 6.0,
"R": 6.0,
"H": 4.0,
"BB": 5.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 84.0
},
"rates": {
"ERA": 13.5,
"WHIP": 2.25,
"ER_per_IP": 1.5,
"H_per_IP": 1.0,
"BB_per_IP": 1.25,
"SO_per_IP": 0.75,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 4.0,
"ER": 6.0,
"R": 6.0,
"H": 4.0,
"BB": 5.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 84.0
},
"per_game": {
"IP": 4.0,
"ER": 6.0,
"R": 6.0,
"H": 4.0,
"BB": 5.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 84.0
},
"rates": {
"ERA": 13.5,
"WHIP": 2.25,
"ER_per_IP": 1.5,
"H_per_IP": 1.0,
"BB_per_IP": 1.25,
"SO_per_IP": 0.75,
"HR_per_IP": 0.25
}
},
"season": {
"games": 1,
"totals": {
"IP": 4.0,
"ER": 6.0,
"R": 6.0,
"H": 4.0,
"BB": 5.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 84.0
},
"per_game": {
"IP": 4.0,
"ER": 6.0,
"R": 6.0,
"H": 4.0,
"BB": 5.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 84.0
},
"rates": {
"ERA": 13.5,
"WHIP": 2.25,
"ER_per_IP": 1.5,
"H_per_IP": 1.0,
"BB_per_IP": 1.25,
"SO_per_IP": 0.75,
"HR_per_IP": 0.25
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 2.655,
"predicted_H": 3.907,
"predicted_BB": 2.037,
"predicted_SO": 3.613,
"predicted_HR": 0.651,
"predicted_ERA": 5.9739,
"predicted_WHIP": 1.486
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7021,
"form_weight": 0.2979,
"form_reliability": 0.1667,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1667,
"prior_weight": 0.8333
},
"applied_metrics": {
"predicted_IP": {
"model": 4.0,
"form": 4.0,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.655,
"final": 3.5993,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 3.907,
"final": 6.0785,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.037,
"final": 2.011,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 3.613,
"final": 1.7785,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.651,
"final": 0.896,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.9739,
"final": 5.9739,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.486,
"final": 1.486,
"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 Lange |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1893 |
| ESPN Rank | 277 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 4.1327 |
| Season WHIP | 1.4388 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"opponent": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": -0.233,
"offense_edge": -0.1373,
"opponent_offense_edge": 0.1388,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.1197,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9838,
"run_prevention": 1.0383,
"strikeout": 0.9819
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656638",
"profile": {
"available": true,
"pitcher_id": "656638",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 99.0,
"k_percent": 24.6,
"bb_percent": 13.4,
"woba": 0.331,
"xwoba": 0.337,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 14.1,
"hard_hit_percent": 43.5,
"avg_best_speed": 80.433,
"avg_hyper_speed": 95.2725,
"whiff_percent": 30.4,
"swing_percent": 45.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.7912,
"command_and_miss": 0.1521,
"regression_edge": -0.1714,
"xwoba_edge": -0.6286,
"barrel_edge": -1.5111,
"hard_hit_edge": -0.7,
"whiff_edge": 0.7,
"bb_edge": -1.075,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656638",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1893,
"sample_weight": 0.45,
"run_prevention_factor": 1.0161,
"strikeout_factor": 1.0175,
"walk_factor": 1.0387,
"homer_factor": 1.0755,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656638",
"espn_id": 40976,
"player_name": "Alex Lange",
"team": "KC",
"role": "pitcher",
"espn_rank": 277,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 277,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.1326,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 4.0,
"l_rank": 59,
"sv_value": 4.0,
"sv_rank": 30,
"hld_value": 1.0,
"hld_rank": 193,
"ip_value": 32.2,
"ip_rank": 200,
"h_value": 28.0,
"h_rank": 222,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 19.0,
"bb_rank": 121,
"k_value": 35.0,
"k_rank": 188,
"k_per_9_value": 9.642858,
"k_per_9_rank": 25,
"whip_value": 1.4387,
"whip_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0072,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0072,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0174,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.034,
"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": 9.2,
"ER": 2,
"H": 8,
"BB": 6,
"SO": 12,
"HR": 0,
"ERA": 1.862068965517241,
"WHIP": 1.4482758620689653,
"K9": 11.172413793103447,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "656638",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.469,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"role": "pitcher",
"player_id": "656638",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 5.0,
"SO": 7.0,
"HR": 0.0,
"BF": 28.0,
"Pitches": 130.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 1.0,
"SO": 1.4,
"HR": 0.0,
"BF": 5.6,
"Pitches": 26.0
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.7647,
"ER_per_IP": 0.35294,
"H_per_IP": 0.88235,
"BB_per_IP": 0.88235,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 3.0,
"H": 8.0,
"BB": 6.0,
"SO": 12.0,
"HR": 0.0,
"BF": 44.0,
"Pitches": 199.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.8,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.4,
"Pitches": 19.9
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.4483,
"ER_per_IP": 0.2069,
"H_per_IP": 0.82759,
"BB_per_IP": 0.62069,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.0
}
},
"season": {
"games": 30,
"totals": {
"IP": 32.2,
"ER": 15.0,
"R": 17.0,
"H": 28.0,
"BB": 19.0,
"SO": 35.0,
"HR": 2.0,
"BF": 142.0,
"Pitches": 604.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5667,
"H": 0.9333,
"BB": 0.6333,
"SO": 1.1667,
"HR": 0.0667,
"BF": 4.7333,
"Pitches": 20.1333
},
"rates": {
"ERA": 4.1327,
"WHIP": 1.4388,
"ER_per_IP": 0.45918,
"H_per_IP": 0.85714,
"BB_per_IP": 0.58163,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.06122
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.399,
"predicted_H": 0.908,
"predicted_BB": 0.569,
"predicted_SO": 1.087,
"predicted_HR": 0.07,
"predicted_ERA": 3.5881,
"predicted_WHIP": 1.4773
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5342,
"form_weight": 0.4658,
"form_reliability": 0.564,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.469,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.399,
"final": 0.1859,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.908,
"final": 0.4229,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.569,
"final": 0.7992,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.087,
"final": 0.5063,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0326,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5881,
"final": 3.5881,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4773,
"final": 1.4773,
"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.2949 |
| ESPN Rank | 90 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.8000 |
| Season WHIP | 0.9000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"opponent": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": -0.233,
"offense_edge": -0.1373,
"opponent_offense_edge": 0.1388,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.1197,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9838,
"run_prevention": 1.0383,
"strikeout": 0.9819
},
"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": 24.8,
"bb_percent": 7.7,
"woba": 0.243,
"xwoba": 0.267,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 35.1,
"avg_best_speed": 75.444,
"avg_hyper_speed": 93.7965,
"whiff_percent": 32.2,
"swing_percent": 47.5
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.0421,
"command_and_miss": 0.54,
"regression_edge": -0.6857,
"xwoba_edge": 1.3714,
"barrel_edge": 0.4667,
"hard_hit_edge": 0.5,
"whiff_edge": 0.9571,
"bb_edge": 0.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663738",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2949,
"sample_weight": 0.45,
"run_prevention_factor": 0.9749,
"strikeout_factor": 1.0226,
"walk_factor": 0.9874,
"homer_factor": 0.9557,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663738",
"espn_id": 41227,
"player_name": "Daniel Lynch IV",
"team": "KC",
"role": "pitcher",
"espn_rank": 90,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 90,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.8,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 9.0,
"hld_rank": 27,
"ip_value": 30.0,
"ip_rank": 240,
"h_value": 18.0,
"h_rank": 353,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 9.0,
"bb_rank": 322,
"k_value": 29.0,
"k_rank": 250,
"k_per_9_value": 8.7,
"k_per_9_rank": 28,
"whip_value": 0.9,
"whip_rank": null,
"war_value": 1.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9887,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9887,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9943,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9801,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0102,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 2,
"H": 6,
"BB": 2,
"SO": 3,
"HR": 0,
"ERA": 2.0000000000000004,
"WHIP": 0.8888888888888891,
"K9": 3.0000000000000004,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "663738",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"role": "pitcher",
"player_id": "663738",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 0.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 63.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.2,
"SO": 0.0,
"HR": 0.0,
"BF": 3.2,
"Pitches": 12.6
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.4286,
"ER_per_IP": 0.21429,
"H_per_IP": 0.21429,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 35.0,
"Pitches": 123.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 0.3,
"HR": 0.0,
"BF": 3.5,
"Pitches": 12.3
},
"rates": {
"ERA": 2.0,
"WHIP": 0.8889,
"ER_per_IP": 0.22222,
"H_per_IP": 0.66667,
"BB_per_IP": 0.22222,
"SO_per_IP": 0.33333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 30,
"totals": {
"IP": 30.0,
"ER": 6.0,
"R": 9.0,
"H": 18.0,
"BB": 9.0,
"SO": 29.0,
"HR": 1.0,
"BF": 120.0,
"Pitches": 459.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.6,
"BB": 0.3,
"SO": 0.9667,
"HR": 0.0333,
"BF": 4.0,
"Pitches": 15.3
},
"rates": {
"ERA": 1.8,
"WHIP": 0.9,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.3,
"SO_per_IP": 0.96667,
"HR_per_IP": 0.03333
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.343,
"predicted_H": 0.689,
"predicted_BB": 0.292,
"predicted_SO": 0.595,
"predicted_HR": 0.07,
"predicted_ERA": 3.0889,
"predicted_WHIP": 0.9807
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5431,
"form_weight": 0.4569,
"form_reliability": 0.543,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.343,
"final": 0.1567,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.689,
"final": 0.3148,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.292,
"final": 0.1334,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.595,
"final": 0.8149,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.032,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0889,
"final": 3.0889,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9807,
"final": 0.9807,
"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.0983 |
| ESPN Rank | 630 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.7848 |
| Season WHIP | 1.7468 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"opponent": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": -0.233,
"offense_edge": -0.1373,
"opponent_offense_edge": 0.1388,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.1197,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9838,
"run_prevention": 1.0383,
"strikeout": 0.9819
},
"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": 17.7,
"bb_percent": 15.3,
"woba": 0.39,
"xwoba": 0.325,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 39.0,
"avg_best_speed": 74.1594,
"avg_hyper_speed": 94.1563,
"whiff_percent": 21.5,
"swing_percent": 46.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3357,
"command_and_miss": -0.8314,
"regression_edge": 1.8571,
"xwoba_edge": -0.2857,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.0571,
"whiff_edge": -0.5714,
"bb_edge": -1.55,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668674",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0983,
"sample_weight": 0.45,
"run_prevention_factor": 1.0084,
"strikeout_factor": 0.9769,
"walk_factor": 1.0558,
"homer_factor": 0.9953,
"woba_minus_xwoba": 0.065,
"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": 630,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 630,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.8101,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 12.0,
"sv_rank": 10,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 26.1,
"ip_rank": 293,
"h_value": 32.0,
"h_rank": 185,
"er_value": 17.0,
"er_rank": 178,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 19.0,
"bb_rank": 121,
"k_value": 22.0,
"k_rank": 327,
"k_per_9_value": 7.518987,
"k_per_9_rank": 30,
"whip_value": 1.9367,
"whip_rank": null,
"war_value": -0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0038,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0038,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0251,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9979,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9896,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 7,
"H": 14,
"BB": 7,
"SO": 7,
"HR": 1,
"ERA": 7.0,
"WHIP": 2.3333333333333335,
"K9": 7.0,
"HR9": 1.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "668674",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.214,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5105,
"prior_weight": 0.4895
},
"role": "pitcher",
"player_id": "668674",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 6.0,
"SO": 4.0,
"HR": 1.0,
"BF": 26.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 1.2,
"SO": 0.8,
"HR": 0.2,
"BF": 5.2,
"Pitches": 22.6
},
"rates": {
"ERA": 3.6,
"WHIP": 2.0,
"ER_per_IP": 0.4,
"H_per_IP": 0.8,
"BB_per_IP": 1.2,
"SO_per_IP": 0.8,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 8.0,
"R": 9.0,
"H": 16.0,
"BB": 7.0,
"SO": 8.0,
"HR": 1.0,
"BF": 52.0,
"Pitches": 208.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.9,
"H": 1.6,
"BB": 0.7,
"SO": 0.8,
"HR": 0.1,
"BF": 5.2,
"Pitches": 20.8
},
"rates": {
"ERA": 7.2,
"WHIP": 2.3,
"ER_per_IP": 0.8,
"H_per_IP": 1.6,
"BB_per_IP": 0.7,
"SO_per_IP": 0.8,
"HR_per_IP": 0.1
}
},
"season": {
"games": 27,
"totals": {
"IP": 26.1,
"ER": 14.0,
"R": 16.0,
"H": 27.0,
"BB": 19.0,
"SO": 22.0,
"HR": 1.0,
"BF": 119.0,
"Pitches": 495.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5185,
"R": 0.5926,
"H": 1.0,
"BB": 0.7037,
"SO": 0.8148,
"HR": 0.037,
"BF": 4.4074,
"Pitches": 18.3333
},
"rates": {
"ERA": 4.7848,
"WHIP": 1.7468,
"ER_per_IP": 0.53165,
"H_per_IP": 1.02532,
"BB_per_IP": 0.72152,
"SO_per_IP": 0.83544,
"HR_per_IP": 0.03797
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.532,
"predicted_H": 1.05,
"predicted_BB": 0.651,
"predicted_SO": 0.869,
"predicted_HR": 0.139,
"predicted_ERA": 4.7893,
"predicted_WHIP": 1.7014
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5568,
"form_weight": 0.4432,
"form_reliability": 0.5105,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.214,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5105,
"prior_weight": 0.4895
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.532,
"final": 0.2358,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.05,
"final": 0.4653,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.651,
"final": 0.2885,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.869,
"final": 0.3851,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.139,
"final": 0.0616,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7893,
"final": 4.7893,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.7014,
"final": 1.7014,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Matt Strahm |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0266 |
| ESPN Rank | 572 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 5.4000 |
| Season WHIP | 1.2462 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"opponent": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"edges": {
"quality_edge": -0.233,
"offense_edge": -0.1373,
"opponent_offense_edge": 0.1388,
"defense_strength": -0.0443,
"opponent_defense_weakness": 0.1197,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9838,
"run_prevention": 1.0383,
"strikeout": 0.9819
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621381",
"profile": {
"available": true,
"pitcher_id": "621381",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 71.0,
"k_percent": 19.1,
"bb_percent": 7.4,
"woba": 0.374,
"xwoba": 0.306,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 43.3,
"avg_best_speed": 81.2823,
"avg_hyper_speed": 93.8172,
"whiff_percent": 23.0,
"swing_percent": 49.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3264,
"command_and_miss": -0.2714,
"regression_edge": 1.9429,
"xwoba_edge": 0.2571,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.6714,
"whiff_edge": -0.3571,
"bb_edge": 0.425,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "621381",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0266,
"sample_weight": 0.45,
"run_prevention_factor": 1.0023,
"strikeout_factor": 0.9843,
"walk_factor": 0.9847,
"homer_factor": 1.0222,
"woba_minus_xwoba": 0.068,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "621381",
"espn_id": 34862,
"player_name": "Matt Strahm",
"team": "KC",
"role": "pitcher",
"espn_rank": 572,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 572,
"gp_value": 23.0,
"gp_rank": 141,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.4,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 9.0,
"hld_rank": 27,
"ip_value": 21.2,
"ip_rank": 352,
"h_value": 20.0,
"h_rank": 318,
"er_value": 13.0,
"er_rank": 236,
"hr_value": 8.0,
"hr_rank": 74,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 18.0,
"k_rank": 366,
"k_per_9_value": 7.4769225,
"k_per_9_rank": 28,
"whip_value": 1.2461,
"whip_rank": null,
"war_value": -0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.001,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9931,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.01,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9929,
"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": 8,
"H": 10,
"BB": 1,
"SO": 4,
"HR": 6,
"ERA": 8.0,
"WHIP": 1.2222222222222223,
"K9": 4.0,
"HR9": 6.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "621381",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.29,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4618,
"prior_weight": 0.5382
},
"role": "pitcher",
"player_id": "621381",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 5.0,
"BB": 0.0,
"SO": 1.0,
"HR": 4.0,
"BF": 19.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.0,
"SO": 0.2,
"HR": 0.8,
"BF": 3.8,
"Pitches": 13.8
},
"rates": {
"ERA": 10.3846,
"WHIP": 1.1538,
"ER_per_IP": 1.15385,
"H_per_IP": 1.15385,
"BB_per_IP": 0.0,
"SO_per_IP": 0.23077,
"HR_per_IP": 0.92308
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 8.0,
"R": 8.0,
"H": 10.0,
"BB": 1.0,
"SO": 4.0,
"HR": 6.0,
"BF": 39.0,
"Pitches": 136.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.0,
"BB": 0.1,
"SO": 0.4,
"HR": 0.6,
"BF": 3.9,
"Pitches": 13.6
},
"rates": {
"ERA": 8.0,
"WHIP": 1.2222,
"ER_per_IP": 0.88889,
"H_per_IP": 1.11111,
"BB_per_IP": 0.11111,
"SO_per_IP": 0.44444,
"HR_per_IP": 0.66667
}
},
"season": {
"games": 23,
"totals": {
"IP": 21.2,
"ER": 13.0,
"R": 13.0,
"H": 20.0,
"BB": 7.0,
"SO": 18.0,
"HR": 8.0,
"BF": 94.0,
"Pitches": 363.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5652,
"R": 0.5652,
"H": 0.8696,
"BB": 0.3043,
"SO": 0.7826,
"HR": 0.3478,
"BF": 4.087,
"Pitches": 15.7826
},
"rates": {
"ERA": 5.4,
"WHIP": 1.2462,
"ER_per_IP": 0.6,
"H_per_IP": 0.92308,
"BB_per_IP": 0.32308,
"SO_per_IP": 0.83077,
"HR_per_IP": 0.36923
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.453,
"predicted_H": 0.659,
"predicted_BB": 0.155,
"predicted_SO": 0.448,
"predicted_HR": 0.264,
"predicted_ERA": 6.3547,
"predicted_WHIP": 1.2699
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5774,
"form_weight": 0.4226,
"form_reliability": 0.4618,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.29,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4618,
"prior_weight": 0.5382
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.453,
"final": 0.1914,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.659,
"final": 0.2785,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.155,
"final": 0.0655,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.448,
"final": 1.3441,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.264,
"final": 0.1116,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.3547,
"final": 6.3547,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2699,
"final": 1.2699,
"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.077 | 0.000 | 0.000 | Hitting_2B | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.690 | 5.000 | 3.000 | Hitting_AB | 2.778 | 3.000 | 2.222 | 2.000 |
| predicted_AVG | 0.258 | 0.200 | 0.333 | Hitting_AVG | 0.227 | 0.000 | -0.027 | 0.200 |
| predicted_BB | 0.462 | 0.000 | 0.000 | Hitting_BB | 0.541 | 0.000 | -0.541 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_H | 0.690 | 1.000 | 1.000 | Hitting_H | 0.630 | 0.000 | 0.370 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_OBP | 0.338 | 0.200 | 0.333 | Hitting_OBP | 0.356 | 0.000 | -0.156 | 0.200 |
| predicted_R | 0.231 | 0.000 | 0.000 | Hitting_R | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_SLG | 0.368 | 0.200 | 0.333 | Hitting_SLG | 0.320 | 0.000 | -0.120 | 0.200 |
| predicted_SO | 0.692 | 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 | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.6900 -> 5.0000 (boost 2.3100, better) |
| Biggest Deboost | predicted_BB: 0.4620 -> 0.0000 (deboost -0.4620, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2580 -> 0.2471 (deboost -0.0109, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3656 -> 0.3767 (boost 0.0111, better) | predicted_AVG: 0.2471 -> 0.2418 (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 | 8 | 3 | 5 | 2 | 6 | predicted_H: 0.6599 -> 1.0000 (boost 0.3401, better) | predicted_BB: 0.4443 -> 0.0000 (deboost -0.4443, worse) | AB rounded to 3 (raw=2.73), rates preserved: AVG=0.242 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2618 -> 0.0000 (deboost -0.2618, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2418 -> 0.3330 (boost 0.0912, better) | predicted_SLG: 0.3767 -> 0.3330 (deboost -0.0437, worse) | 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 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.3767 (boost 0.0437, better) | predicted_AVG: 0.3330 -> 0.2418 (deboost -0.0912, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657041",
"player_name": "Lane Thomas",
"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.077,
"predicted_3B": 0.0,
"predicted_AB": 2.69,
"predicted_AVG": 0.258,
"predicted_BB": 0.462,
"predicted_H": 0.69,
"predicted_HR": 0.1,
"predicted_OBP": 0.338,
"predicted_R": 0.231,
"predicted_RBI": 0.35,
"predicted_SLG": 0.368,
"predicted_SO": 0.692
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0713,
"predicted_3B": 0.0008,
"predicted_AB": 2.7292,
"predicted_AVG": 0.2471,
"predicted_BB": 0.4499,
"predicted_H": 0.671,
"predicted_HBP": 0.078,
"predicted_HR": 0.1,
"predicted_OBP": 0.3423,
"predicted_R": 0.2702,
"predicted_RBI": 0.3387,
"predicted_SLG": 0.3656,
"predicted_SO": 0.7356
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.077,
"after": 0.0713,
"delta": -0.0057,
"percent_delta": -0.074,
"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.69,
"after": 2.7292,
"delta": 0.0392,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2471,
"delta": -0.0109,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.462,
"after": 0.4499,
"delta": -0.0121,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.671,
"delta": -0.019,
"percent_delta": -0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3423,
"delta": 0.0043,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.231,
"after": 0.2702,
"delta": 0.0392,
"percent_delta": 0.1697,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3387,
"delta": -0.0113,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.368,
"after": 0.3656,
"delta": -0.0024,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.692,
"after": 0.7356,
"delta": 0.0436,
"percent_delta": 0.063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2471,
"delta": -0.0109,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"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.0713,
"predicted_3B": 0.0008,
"predicted_AB": 2.7292,
"predicted_AVG": 0.2418,
"predicted_BB": 0.4443,
"predicted_H": 0.6599,
"predicted_HBP": 0.078,
"predicted_HR": 0.0984,
"predicted_OBP": 0.3479,
"predicted_R": 0.2618,
"predicted_RBI": 0.3281,
"predicted_SLG": 0.3767,
"predicted_SO": 0.7448
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0713,
"after": 0.0713,
"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": 2.7292,
"after": 2.7292,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2471,
"after": 0.2418,
"delta": -0.0053,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4499,
"after": 0.4443,
"delta": -0.0056,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.671,
"after": 0.6599,
"delta": -0.0111,
"percent_delta": -0.0165,
"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.1,
"after": 0.0984,
"delta": -0.0016,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3423,
"after": 0.3479,
"delta": 0.0056,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2702,
"after": 0.2618,
"delta": -0.0084,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3387,
"after": 0.3281,
"delta": -0.0106,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3656,
"after": 0.3767,
"delta": 0.0111,
"percent_delta": 0.0304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7356,
"after": 0.7448,
"delta": 0.0092,
"percent_delta": 0.0125,
"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.3656,
"after": 0.3767,
"delta": 0.0111,
"percent_delta": 0.0304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2471,
"after": 0.2418,
"delta": -0.0053,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.73), rates preserved: AVG=0.242 HR/AB=0.036",
"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.0713,
"after": 0.0,
"delta": -0.0713,
"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": 2.7292,
"after": 3.0,
"delta": 0.2708,
"percent_delta": 0.0992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4443,
"after": 0.0,
"delta": -0.4443,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6599,
"after": 1.0,
"delta": 0.3401,
"percent_delta": 0.5154,
"direction": "boost",
"projection_effect": "better",
"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.0984,
"after": 0.0,
"delta": -0.0984,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3281,
"after": 0.0,
"delta": -0.3281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7448,
"after": 1.0,
"delta": 0.2552,
"percent_delta": 0.3426,
"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": 0.6599,
"after": 1.0,
"delta": 0.3401,
"percent_delta": 0.5154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4443,
"after": 0.0,
"delta": -0.4443,
"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.2618,
"after": 0.0,
"delta": -0.2618,
"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.2618,
"after": 0.0,
"delta": -0.2618,
"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.2418,
"after": 0.333,
"delta": 0.0912,
"percent_delta": 0.3772,
"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.3479,
"after": 0.333,
"delta": -0.0149,
"percent_delta": -0.0428,
"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.3767,
"after": 0.333,
"delta": -0.0437,
"percent_delta": -0.116,
"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.2418,
"after": 0.333,
"delta": 0.0912,
"percent_delta": 0.3772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3767,
"after": 0.333,
"delta": -0.0437,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2418,
"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.3479,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3767,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2418,
"delta": -0.0912,
"percent_delta": -0.2739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3479,
"delta": 0.0149,
"percent_delta": 0.0449,
"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.3767,
"delta": 0.0437,
"percent_delta": 0.1311,
"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.333,
"after": 0.3767,
"delta": 0.0437,
"percent_delta": 0.1311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2418,
"delta": -0.0912,
"percent_delta": -0.2739,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"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.69,
"after": 5.0,
"delta": 2.31,
"percent_delta": 0.8587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2418,
"delta": -0.0162,
"percent_delta": -0.0628,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3479,
"delta": 0.0099,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"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.368,
"after": 0.3767,
"delta": 0.0087,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.692,
"after": 1.0,
"delta": 0.308,
"percent_delta": 0.4451,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.69,
"after": 5.0,
"delta": 2.31,
"percent_delta": 0.8587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.462,
"after": 0.0,
"delta": -0.462,
"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.077 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.690 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.462 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.231 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.368 | - |
| predicted_SO | 0.692 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | -0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.729 | 0.039 |
| predicted_AVG | 0.247 | -0.011 |
| predicted_BB | 0.450 | -0.012 |
| predicted_H | 0.671 | -0.019 |
| predicted_HBP | 0.078 | - |
| predicted_HR | 0.100 | 0.000 |
| predicted_OBP | 0.342 | 0.004 |
| predicted_R | 0.270 | 0.039 |
| predicted_RBI | 0.339 | -0.011 |
| predicted_SLG | 0.366 | -0.002 |
| predicted_SO | 0.736 | 0.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.071 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.729 | 0.000 |
| predicted_AVG | 0.242 | -0.005 |
| predicted_BB | 0.444 | -0.006 |
| predicted_H | 0.660 | -0.011 |
| predicted_HBP | 0.078 | 0.000 |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.348 | 0.006 |
| predicted_R | 0.262 | -0.008 |
| predicted_RBI | 0.328 | -0.011 |
| predicted_SLG | 0.377 | 0.011 |
| predicted_SO | 0.745 | 0.009 |
AB rounded to 3 (raw=2.73), rates preserved: AVG=0.242 HR/AB=0.036
| 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.071 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.271 |
| predicted_AVG | 0.333 | 0.091 |
| predicted_BB | 0.000 | -0.444 |
| predicted_H | 1.000 | 0.340 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.333 | -0.015 |
| predicted_R | 0.000 | -0.262 |
| predicted_RBI | 0.000 | -0.328 |
| predicted_SLG | 0.333 | -0.044 |
| predicted_SO | 1.000 | 0.255 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 5.000 | 0.2143 | 0.3529 | 0.4286 | 0.2143 | 0.0714 | 0.1429 | 0.1429 | 0.3571 |
| last_10 | 0.20 | 10 | - | 24.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 8.000 | 0.2500 | 0.3793 | 0.3750 | 0.2500 | 0.0417 | 0.0833 | 0.1667 | 0.3333 |
| season | 0.60 | 52 | - | 134.000 | 30.000 | 4.000 | 0.000 | 3.000 | 15.000 | 12.000 | 24.000 | 36.000 | 0.2239 | 0.3478 | 0.3209 | 0.2239 | 0.0224 | 0.1119 | 0.1791 | 0.2687 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0630 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.7870 |
| predicted_AVG | 0.2309 |
| predicted_BB | 0.4320 |
| predicted_H | 0.6430 |
| predicted_HBP | 0.0780 |
| predicted_HR | 0.1000 |
| predicted_OBP | 0.3486 |
| predicted_R | 0.3280 |
| predicted_RBI | 0.3220 |
| predicted_SLG | 0.3621 |
| predicted_SO | 0.8000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0770 | 0.0630 | 0.0713 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.6900 | 2.7870 | 2.7292 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2309 | 0.2471 | model_form_blend |
| predicted_BB | 0.4620 | 0.4320 | 0.4499 | model_form_blend |
| predicted_H | 0.6900 | 0.6430 | 0.6710 | model_form_blend |
| predicted_HBP | - | 0.0780 | 0.0780 | form_only |
| predicted_HR | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3486 | 0.3423 | model_form_blend |
| predicted_R | 0.2310 | 0.3280 | 0.2702 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3220 | 0.3387 | model_form_blend |
| predicted_SLG | 0.3680 | 0.3621 | 0.3656 | model_form_blend |
| predicted_SO | 0.6920 | 0.8000 | 0.7356 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 135 |
| Season rows before report date | 135 |
| Report year | 2026 |
| Profile rows used | 52 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 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 | RF |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 657041 |
| playerID | 657041 |
| playerName | Lane Thomas |
| pos | CF |
| started | True |
| startingPosition | RF |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 16.1 |
| sl_woba | 0.32 |
| sl_xwoba | 0.316 |
| sl_xba | 0.223 |
| sl_xslg | 0.328 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 36.1 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 23.4 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 40.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.107 | 0.000 | 0.000 | Hitting_2B | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.536 | 5.000 | 3.000 | Hitting_AB | 2.864 | 1.000 | 2.136 | 4.000 |
| predicted_AVG | 0.270 | 0.400 | 0.333 | Hitting_AVG | 0.302 | 0.000 | 0.098 | 0.400 |
| predicted_BB | 0.179 | 0.000 | 0.000 | Hitting_BB | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_H | 0.650 | 2.000 | 1.000 | Hitting_H | 0.864 | 0.000 | 1.136 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_OBP | 0.304 | 0.400 | 0.333 | Hitting_OBP | 0.355 | 0.000 | 0.045 | 0.400 |
| predicted_R | 0.179 | 1.000 | 0.000 | Hitting_R | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_RBI | 0.340 | 1.000 | 0.000 | Hitting_RBI | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_SLG | 0.375 | 0.400 | 0.333 | Hitting_SLG | 0.370 | 0.000 | 0.030 | 0.400 |
| predicted_SO | 0.821 | 0.000 | 1.000 | Hitting_SO | 0.864 | 0.000 | -0.864 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 2.5360 -> 5.0000 (boost 2.4640, 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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.5360 -> 2.6727 (boost 0.1367, better) | predicted_AVG: 0.2700 -> 0.2573 (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_SLG: 0.3716 -> 0.3832 (boost 0.0116, better) | predicted_AVG: 0.2573 -> 0.2438 (deboost -0.0135, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_H: 0.6517 -> 1.0000 (boost 0.3483, better) | predicted_RBI: 0.3290 -> 0.0000 (deboost -0.3290, worse) | AB rounded to 3 (raw=2.67), rates preserved: AVG=0.244 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2192 -> 0.0000 (deboost -0.2192, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2438 -> 0.3330 (boost 0.0892, better) | predicted_SLG: 0.3832 -> 0.3330 (deboost -0.0502, 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_AB: 3.0000 -> 5.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.3832 (boost 0.0502, better) | predicted_AVG: 0.3330 -> 0.2438 (deboost -0.0892, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "516782",
"player_name": "Starling Marte",
"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.107,
"predicted_3B": 0.0,
"predicted_AB": 2.536,
"predicted_AVG": 0.27,
"predicted_BB": 0.179,
"predicted_H": 0.65,
"predicted_HR": 0.09,
"predicted_OBP": 0.304,
"predicted_R": 0.179,
"predicted_RBI": 0.34,
"predicted_SLG": 0.375,
"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.1015,
"predicted_3B": 0.0011,
"predicted_AB": 2.6727,
"predicted_AVG": 0.2573,
"predicted_BB": 0.193,
"predicted_H": 0.6626,
"predicted_HBP": 0.061,
"predicted_HR": 0.0911,
"predicted_OBP": 0.3031,
"predicted_R": 0.2263,
"predicted_RBI": 0.3396,
"predicted_SLG": 0.3716,
"predicted_SO": 0.8439
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.1015,
"delta": -0.0055,
"percent_delta": -0.0514,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0011,
"delta": 0.0011,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.536,
"after": 2.6727,
"delta": 0.1367,
"percent_delta": 0.0539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2573,
"delta": -0.0127,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.179,
"after": 0.193,
"delta": 0.014,
"percent_delta": 0.0782,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.6626,
"delta": 0.0126,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0911,
"delta": 0.0011,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3031,
"delta": -0.0009,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.179,
"after": 0.2263,
"delta": 0.0473,
"percent_delta": 0.2642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3396,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3716,
"delta": -0.0034,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.821,
"after": 0.8439,
"delta": 0.0229,
"percent_delta": 0.0279,
"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_AB",
"before": 2.536,
"after": 2.6727,
"delta": 0.1367,
"percent_delta": 0.0539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2573,
"delta": -0.0127,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 28
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1015,
"predicted_3B": 0.0011,
"predicted_AB": 2.6727,
"predicted_AVG": 0.2438,
"predicted_BB": 0.1906,
"predicted_H": 0.6517,
"predicted_HBP": 0.061,
"predicted_HR": 0.0896,
"predicted_OBP": 0.2942,
"predicted_R": 0.2192,
"predicted_RBI": 0.329,
"predicted_SLG": 0.3832,
"predicted_SO": 0.8544
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1015,
"after": 0.1015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6727,
"after": 2.6727,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2573,
"after": 0.2438,
"delta": -0.0135,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.193,
"after": 0.1906,
"delta": -0.0024,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6626,
"after": 0.6517,
"delta": -0.0109,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.061,
"after": 0.061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0911,
"after": 0.0896,
"delta": -0.0015,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3031,
"after": 0.2942,
"delta": -0.0089,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2263,
"after": 0.2192,
"delta": -0.0071,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3396,
"after": 0.329,
"delta": -0.0106,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3716,
"after": 0.3832,
"delta": 0.0116,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8439,
"after": 0.8544,
"delta": 0.0105,
"percent_delta": 0.0124,
"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.3716,
"after": 0.3832,
"delta": 0.0116,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2573,
"after": 0.2438,
"delta": -0.0135,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.67), rates preserved: AVG=0.244 HR/AB=0.034",
"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.1015,
"after": 0.0,
"delta": -0.1015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0,
"delta": -0.0011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6727,
"after": 3.0,
"delta": 0.3273,
"percent_delta": 0.1225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1906,
"after": 0.0,
"delta": -0.1906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6517,
"after": 1.0,
"delta": 0.3483,
"percent_delta": 0.5344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.061,
"after": 0.0,
"delta": -0.061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0896,
"after": 0.0,
"delta": -0.0896,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8544,
"after": 1.0,
"delta": 0.1456,
"percent_delta": 0.1704,
"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": 0.6517,
"after": 1.0,
"delta": 0.3483,
"percent_delta": 0.5344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.329,
"after": 0.0,
"delta": -0.329,
"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.2192,
"after": 0.0,
"delta": -0.2192,
"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.2192,
"after": 0.0,
"delta": -0.2192,
"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.2438,
"after": 0.333,
"delta": 0.0892,
"percent_delta": 0.3659,
"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.2942,
"after": 0.333,
"delta": 0.0388,
"percent_delta": 0.1319,
"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.3832,
"after": 0.333,
"delta": -0.0502,
"percent_delta": -0.131,
"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.2438,
"after": 0.333,
"delta": 0.0892,
"percent_delta": 0.3659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3832,
"after": 0.333,
"delta": -0.0502,
"percent_delta": -0.131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 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": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"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": 5.0,
"predicted_AVG": 0.2438,
"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.2942,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3832,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2438,
"delta": -0.0892,
"percent_delta": -0.2678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2942,
"delta": -0.0388,
"percent_delta": -0.1166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3832,
"delta": 0.0502,
"percent_delta": 0.1508,
"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.3832,
"delta": 0.0502,
"percent_delta": 0.1508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2438,
"delta": -0.0892,
"percent_delta": -0.2678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.536,
"after": 5.0,
"delta": 2.464,
"percent_delta": 0.9716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2438,
"delta": -0.0262,
"percent_delta": -0.097,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.65,
"after": 2.0,
"delta": 1.35,
"percent_delta": 2.0769,
"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.304,
"after": 0.2942,
"delta": -0.0098,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.179,
"after": 1.0,
"delta": 0.821,
"percent_delta": 4.5866,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.3832,
"delta": 0.0082,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"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": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.536,
"after": 5.0,
"delta": 2.464,
"percent_delta": 0.9716,
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.107 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.536 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.179 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.179 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.375 | - |
| 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.102 | -0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.673 | 0.137 |
| predicted_AVG | 0.257 | -0.013 |
| predicted_BB | 0.193 | 0.014 |
| predicted_H | 0.663 | 0.013 |
| predicted_HBP | 0.061 | - |
| predicted_HR | 0.091 | 0.001 |
| predicted_OBP | 0.303 | -0.001 |
| predicted_R | 0.226 | 0.047 |
| predicted_RBI | 0.340 | -0.000 |
| predicted_SLG | 0.372 | -0.003 |
| predicted_SO | 0.844 | 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.102 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.673 | 0.000 |
| predicted_AVG | 0.244 | -0.013 |
| predicted_BB | 0.191 | -0.002 |
| predicted_H | 0.652 | -0.011 |
| predicted_HBP | 0.061 | 0.000 |
| predicted_HR | 0.090 | -0.002 |
| predicted_OBP | 0.294 | -0.009 |
| predicted_R | 0.219 | -0.007 |
| predicted_RBI | 0.329 | -0.011 |
| predicted_SLG | 0.383 | 0.012 |
| predicted_SO | 0.854 | 0.011 |
AB rounded to 3 (raw=2.67), rates preserved: AVG=0.244 HR/AB=0.034
| 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.102 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.327 |
| predicted_AVG | 0.333 | 0.089 |
| predicted_BB | 0.000 | -0.191 |
| predicted_H | 1.000 | 0.348 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.333 | 0.039 |
| predicted_R | 0.000 | -0.219 |
| predicted_RBI | 0.000 | -0.329 |
| predicted_SLG | 0.333 | -0.050 |
| predicted_SO | 1.000 | 0.146 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 1.000 | 5.000 | 0.2143 | 0.2667 | 0.4286 | 0.2143 | 0.0714 | 0.2143 | 0.0714 | 0.3571 |
| last_10 | 0.20 | 10 | - | 23.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 8.000 | 0.1739 | 0.2692 | 0.3043 | 0.1739 | 0.0435 | 0.1304 | 0.0870 | 0.3478 |
| season | 0.60 | 28 | - | 71.000 | 18.000 | 3.000 | 0.000 | 1.000 | 5.000 | 5.000 | 5.000 | 23.000 | 0.2535 | 0.3165 | 0.3380 | 0.2535 | 0.0141 | 0.0704 | 0.0704 | 0.3239 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0920 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.9060 |
| predicted_AVG | 0.2355 |
| predicted_BB | 0.2170 |
| predicted_H | 0.6840 |
| predicted_HBP | 0.0610 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.3016 |
| predicted_R | 0.3070 |
| predicted_RBI | 0.3390 |
| predicted_SLG | 0.3659 |
| predicted_SO | 0.8830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1070 | 0.0920 | 0.1015 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.5360 | 2.9060 | 2.6727 | model_form_blend |
| predicted_AVG | 0.2700 | 0.2355 | 0.2573 | model_form_blend |
| predicted_BB | 0.1790 | 0.2170 | 0.1930 | model_form_blend |
| predicted_H | 0.6500 | 0.6840 | 0.6626 | model_form_blend |
| predicted_HBP | - | 0.0610 | 0.0610 | form_only |
| predicted_HR | 0.0900 | 0.0930 | 0.0911 | model_form_blend |
| predicted_OBP | 0.3040 | 0.3016 | 0.3031 | model_form_blend |
| predicted_R | 0.1790 | 0.3070 | 0.2263 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3390 | 0.3396 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3659 | 0.3716 | model_form_blend |
| predicted_SO | 0.8210 | 0.8830 | 0.8439 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 66 |
| Season rows before report date | 66 |
| Report year | 2026 |
| Profile rows used | 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| 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 | 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 | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-RF |
| gameID | 20260612_HOU@KC |
| game_type | ph |
| mlbID | 516782 |
| note | Grounded out for Pasquantino in the 8th. |
| playerID | 516782 |
| playerName | Starling Marte |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-12 |
| sl_k_percent | 29.1 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.296 |
| sl_xwoba | 0.32 |
| sl_xba | 0.25 |
| sl_xslg | 0.417 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 40.8 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 6.8 |
| sl_whiff_percent | 30.1 |
| 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.268 | 0.000 | 0.000 | Hitting_2B | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.440 | 3.000 | 4.000 | Hitting_AB | 4.015 | 4.000 | -1.015 | -1.000 |
| predicted_AVG | 0.262 | 0.000 | 0.250 | Hitting_AVG | 0.288 | 0.500 | -0.288 | -0.500 |
| predicted_BB | 0.423 | 2.000 | 0.000 | Hitting_BB | 0.444 | 0.000 | 1.556 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_H | 1.170 | 0.000 | 1.000 | Hitting_H | 1.158 | 2.000 | -1.158 | -2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.351 | 0.400 | 0.250 | Hitting_OBP | 0.357 | 0.500 | 0.043 | -0.100 |
| predicted_R | 0.507 | 0.000 | 0.000 | Hitting_R | 0.498 | 1.000 | -0.498 | -1.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.440 | 0.000 | -0.440 | 0.000 |
| predicted_SLG | 0.440 | 0.000 | 0.250 | Hitting_SLG | 0.477 | 0.500 | -0.477 | -0.500 |
| predicted_SO | 0.789 | 2.000 | 1.000 | Hitting_SO | 0.849 | 0.000 | 1.151 | 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_BB: 0.4230 -> 2.0000 (boost 1.5770, better) |
| Biggest Deboost | predicted_AB: 4.4400 -> 3.0000 (deboost -1.4400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2620 -> 0.2823 (boost 0.0203, better) | predicted_AB: 4.4400 -> 4.2914 (deboost -0.1486, 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.3583 -> 0.3385 (deboost -0.0198, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.7598 -> 1.0000 (boost 0.2402, worse) | predicted_BB: 0.3955 -> 0.0000 (deboost -0.3955, worse) | AB rounded to 4 (raw=4.44), rates preserved: AVG=0.268 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4974 -> 0.0000 (deboost -0.4974, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4233 -> 0.2500 (deboost -0.1733, worse) | 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_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4233 (boost 0.1733, 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.268,
"predicted_3B": 0.014,
"predicted_AB": 4.44,
"predicted_AVG": 0.262,
"predicted_BB": 0.423,
"predicted_H": 1.17,
"predicted_HR": 0.13,
"predicted_OBP": 0.351,
"predicted_R": 0.507,
"predicted_RBI": 0.4,
"predicted_SLG": 0.44,
"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.2769,
"predicted_3B": 0.0119,
"predicted_AB": 4.2914,
"predicted_AVG": 0.2823,
"predicted_BB": 0.4005,
"predicted_H": 1.2112,
"predicted_HBP": 0.011,
"predicted_HR": 0.11,
"predicted_OBP": 0.3583,
"predicted_R": 0.5134,
"predicted_RBI": 0.3703,
"predicted_SLG": 0.4426,
"predicted_SO": 0.7504
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.268,
"after": 0.2769,
"delta": 0.0089,
"percent_delta": 0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.44,
"after": 4.2914,
"delta": -0.1486,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2823,
"delta": 0.0203,
"percent_delta": 0.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 0.4005,
"delta": -0.0225,
"percent_delta": -0.0532,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 1.2112,
"delta": 0.0412,
"percent_delta": 0.0352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.11,
"delta": -0.02,
"percent_delta": -0.1538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3583,
"delta": 0.0073,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.507,
"after": 0.5134,
"delta": 0.0064,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.3703,
"delta": -0.0297,
"percent_delta": -0.0743,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4426,
"delta": 0.0026,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 0.7504,
"delta": -0.0386,
"percent_delta": -0.0489,
"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.262,
"after": 0.2823,
"delta": 0.0203,
"percent_delta": 0.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.44,
"after": 4.2914,
"delta": -0.1486,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2769,
"predicted_3B": 0.0119,
"predicted_AB": 4.2914,
"predicted_AVG": 0.2776,
"predicted_BB": 0.3955,
"predicted_H": 1.1912,
"predicted_HBP": 0.011,
"predicted_HR": 0.1082,
"predicted_OBP": 0.3385,
"predicted_R": 0.4974,
"predicted_RBI": 0.3587,
"predicted_SLG": 0.4233,
"predicted_SO": 0.7598
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2769,
"after": 0.2769,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2914,
"after": 4.2914,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2823,
"after": 0.2776,
"delta": -0.0047,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4005,
"after": 0.3955,
"delta": -0.005,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2112,
"after": 1.1912,
"delta": -0.02,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1082,
"delta": -0.0018,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3583,
"after": 0.3385,
"delta": -0.0198,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5134,
"after": 0.4974,
"delta": -0.016,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3703,
"after": 0.3587,
"delta": -0.0116,
"percent_delta": -0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4426,
"after": 0.4233,
"delta": -0.0193,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7504,
"after": 0.7598,
"delta": 0.0094,
"percent_delta": 0.0125,
"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.3583,
"after": 0.3385,
"delta": -0.0198,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.44), rates preserved: AVG=0.268 HR/AB=0.024",
"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.2769,
"after": 0.0,
"delta": -0.2769,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2914,
"after": 4.0,
"delta": -0.2914,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3955,
"after": 0.0,
"delta": -0.3955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1912,
"after": 1.0,
"delta": -0.1912,
"percent_delta": -0.1605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1082,
"after": 0.0,
"delta": -0.1082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3587,
"after": 0.0,
"delta": -0.3587,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7598,
"after": 1.0,
"delta": 0.2402,
"percent_delta": 0.3161,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7598,
"after": 1.0,
"delta": 0.2402,
"percent_delta": 0.3161,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3955,
"after": 0.0,
"delta": -0.3955,
"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.4974,
"after": 0.0,
"delta": -0.4974,
"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.4974,
"after": 0.0,
"delta": -0.4974,
"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.2776,
"after": 0.25,
"delta": -0.0276,
"percent_delta": -0.0994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3385,
"after": 0.25,
"delta": -0.0885,
"percent_delta": -0.2614,
"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.4233,
"after": 0.25,
"delta": -0.1733,
"percent_delta": -0.4094,
"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.4233,
"after": 0.25,
"delta": -0.1733,
"percent_delta": -0.4094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2776,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3385,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4233,
"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.25,
"after": 0.2776,
"delta": 0.0276,
"percent_delta": 0.1103,
"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.25,
"after": 0.3385,
"delta": 0.0885,
"percent_delta": 0.3542,
"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.4233,
"delta": 0.1733,
"percent_delta": 0.6932,
"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.4233,
"delta": 0.1733,
"percent_delta": 0.6932,
"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.268,
"after": 0.0,
"delta": -0.268,
"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": 4.44,
"after": 3.0,
"delta": -1.44,
"percent_delta": -0.3243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2776,
"delta": 0.0156,
"percent_delta": 0.0595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 2.0,
"delta": 1.577,
"percent_delta": 3.7281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.17,
"after": 0.0,
"delta": -1.17,
"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.351,
"after": 0.3385,
"delta": -0.0125,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.507,
"after": 0.0,
"delta": -0.507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4233,
"delta": -0.0167,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 2.0,
"delta": 1.211,
"percent_delta": 1.5349,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.423,
"after": 2.0,
"delta": 1.577,
"percent_delta": 3.7281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.44,
"after": 3.0,
"delta": -1.44,
"percent_delta": -0.3243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.268 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.440 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.423 | - |
| predicted_H | 1.170 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.507 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.440 | - |
| 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.277 | 0.009 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 4.291 | -0.149 |
| predicted_AVG | 0.282 | 0.020 |
| predicted_BB | 0.401 | -0.022 |
| predicted_H | 1.211 | 0.041 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.110 | -0.020 |
| predicted_OBP | 0.358 | 0.007 |
| predicted_R | 0.513 | 0.006 |
| predicted_RBI | 0.370 | -0.030 |
| predicted_SLG | 0.443 | 0.003 |
| predicted_SO | 0.750 | -0.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.277 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.291 | 0.000 |
| predicted_AVG | 0.278 | -0.005 |
| predicted_BB | 0.396 | -0.005 |
| predicted_H | 1.191 | -0.020 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.108 | -0.002 |
| predicted_OBP | 0.339 | -0.020 |
| predicted_R | 0.497 | -0.016 |
| predicted_RBI | 0.359 | -0.012 |
| predicted_SLG | 0.423 | -0.019 |
| predicted_SO | 0.760 | 0.009 |
AB rounded to 4 (raw=4.44), rates preserved: AVG=0.268 HR/AB=0.024
| 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.277 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | -0.291 |
| predicted_AVG | 0.250 | -0.028 |
| predicted_BB | 0.000 | -0.396 |
| predicted_H | 1.000 | -0.191 |
| predicted_HR | 0.000 | -0.108 |
| predicted_OBP | 0.250 | -0.089 |
| predicted_R | 0.000 | -0.497 |
| predicted_RBI | 0.000 | -0.359 |
| predicted_SLG | 0.250 | -0.173 |
| predicted_SO | 1.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 | 3.000 | -1.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 9.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 0.4091 | 0.4348 | 0.5000 | 0.4091 | 0.0000 | 0.0454 | 0.0454 | 0.0454 |
| last_10 | 0.20 | 10 | - | 42.000 | 13.000 | 3.000 | 0.000 | 0.000 | 2.000 | 5.000 | 4.000 | 8.000 | 0.3095 | 0.3696 | 0.3810 | 0.3095 | 0.0000 | 0.0476 | 0.0952 | 0.1905 |
| season | 0.60 | 71 | - | 283.000 | 81.000 | 19.000 | 1.000 | 9.000 | 27.000 | 36.000 | 30.000 | 56.000 | 0.2862 | 0.3544 | 0.4558 | 0.2862 | 0.0318 | 0.0954 | 0.1060 | 0.1979 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2890 |
| predicted_3B | 0.0090 |
| predicted_AB | 4.0900 |
| predicted_AVG | 0.3098 |
| predicted_BB | 0.3700 |
| predicted_H | 1.2670 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.3683 |
| predicted_R | 0.5220 |
| predicted_RBI | 0.3300 |
| predicted_SLG | 0.4462 |
| predicted_SO | 0.6980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2680 | 0.2890 | 0.2769 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 4.4400 | 4.0900 | 4.2914 | model_form_blend |
| predicted_AVG | 0.2620 | 0.3098 | 0.2823 | model_form_blend |
| predicted_BB | 0.4230 | 0.3700 | 0.4005 | model_form_blend |
| predicted_H | 1.1700 | 1.2670 | 1.2112 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1300 | 0.0830 | 0.1100 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3683 | 0.3583 | model_form_blend |
| predicted_R | 0.5070 | 0.5220 | 0.5134 | model_form_blend |
| predicted_RBI | 0.4000 | 0.3300 | 0.3703 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4462 | 0.4426 | model_form_blend |
| predicted_SO | 0.7890 | 0.6980 | 0.7504 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 259 |
| Season rows before report date | 259 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 2 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 677951 |
| playerID | 677951 |
| playerName | Bobby Witt Jr. |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-14 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.354 |
| sl_xwoba | 0.385 |
| sl_xba | 0.304 |
| sl_xslg | 0.514 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 52.2 |
| sl_exit_velocity_avg | 93.1 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 23.9 |
| 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.254 | 1.000 | 0.000 | Hitting_2B | 0.298 | 1.000 | 0.702 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 4.150 | 3.000 | 4.000 | Hitting_AB | 4.106 | 4.000 | -1.106 | -1.000 |
| predicted_AVG | 0.250 | 0.333 | 0.250 | Hitting_AVG | 0.286 | 0.750 | 0.047 | -0.417 |
| predicted_BB | 0.333 | 2.000 | 0.000 | Hitting_BB | 0.335 | 0.000 | 1.665 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_H | 1.040 | 1.000 | 1.000 | Hitting_H | 1.176 | 3.000 | -0.176 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_OBP | 0.322 | 0.600 | 0.250 | Hitting_OBP | 0.337 | 0.750 | 0.263 | -0.150 |
| predicted_R | 0.508 | 1.000 | 0.000 | Hitting_R | 0.531 | 0.000 | 0.469 | 1.000 |
| predicted_RBI | 0.590 | 1.000 | 1.000 | Hitting_RBI | 0.437 | 3.000 | 0.563 | -2.000 |
| predicted_SLG | 0.392 | 0.667 | 0.250 | Hitting_SLG | 0.413 | 1.000 | 0.254 | -0.333 |
| predicted_SO | 0.651 | 1.000 | 1.000 | Hitting_SO | 0.604 | 0.000 | 0.396 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.3330 -> 2.0000 (boost 1.6670, better) |
| Biggest Deboost | predicted_AB: 4.1500 -> 3.0000 (deboost -1.1500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 1 | 2 | predicted_SO: 0.6510 -> 0.7192 (boost 0.0682, worse) | predicted_AB: 4.1500 -> 4.0666 (deboost -0.0834, 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.3244 -> 0.3105 (deboost -0.0139, 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_RBI: 0.5814 -> 1.0000 (boost 0.4186, better) | predicted_BB: 0.3155 -> 0.0000 (deboost -0.3155, worse) | AB rounded to 4 (raw=4.15), rates preserved: AVG=0.252 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4979 -> 0.0000 (deboost -0.4979, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3843 -> 0.2500 (deboost -0.1343, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3843 (boost 0.1343, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672580",
"player_name": "Maikel Garcia",
"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.254,
"predicted_3B": 0.032,
"predicted_AB": 4.15,
"predicted_AVG": 0.25,
"predicted_BB": 0.333,
"predicted_H": 1.04,
"predicted_HR": 0.08,
"predicted_OBP": 0.322,
"predicted_R": 0.508,
"predicted_RBI": 0.59,
"predicted_SLG": 0.392,
"predicted_SO": 0.651
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2351,
"predicted_3B": 0.0488,
"predicted_AB": 4.0666,
"predicted_AVG": 0.2613,
"predicted_BB": 0.3195,
"predicted_H": 1.0627,
"predicted_HBP": 0.004,
"predicted_HR": 0.0627,
"predicted_OBP": 0.3244,
"predicted_R": 0.5139,
"predicted_RBI": 0.6001,
"predicted_SLG": 0.3936,
"predicted_SO": 0.7192
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.254,
"after": 0.2351,
"delta": -0.0189,
"percent_delta": -0.0744,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0488,
"delta": 0.0168,
"percent_delta": 0.525,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0666,
"delta": -0.0834,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2613,
"delta": 0.0113,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3195,
"delta": -0.0135,
"percent_delta": -0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0627,
"delta": 0.0227,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0627,
"delta": -0.0173,
"percent_delta": -0.2162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3244,
"delta": 0.0024,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 0.5139,
"delta": 0.0059,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.6001,
"delta": 0.0101,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3936,
"delta": 0.0016,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.651,
"after": 0.7192,
"delta": 0.0682,
"percent_delta": 0.1048,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.651,
"after": 0.7192,
"delta": 0.0682,
"percent_delta": 0.1048,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 4.0666,
"delta": -0.0834,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2351,
"predicted_3B": 0.0488,
"predicted_AB": 4.0666,
"predicted_AVG": 0.257,
"predicted_BB": 0.3155,
"predicted_H": 1.0452,
"predicted_HBP": 0.004,
"predicted_HR": 0.0617,
"predicted_OBP": 0.3105,
"predicted_R": 0.4979,
"predicted_RBI": 0.5814,
"predicted_SLG": 0.3843,
"predicted_SO": 0.7282
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2351,
"after": 0.2351,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0488,
"after": 0.0488,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0666,
"after": 4.0666,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2613,
"after": 0.257,
"delta": -0.0043,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3195,
"after": 0.3155,
"delta": -0.004,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0627,
"after": 1.0452,
"delta": -0.0175,
"percent_delta": -0.0165,
"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.0627,
"after": 0.0617,
"delta": -0.001,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3244,
"after": 0.3105,
"delta": -0.0139,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5139,
"after": 0.4979,
"delta": -0.016,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6001,
"after": 0.5814,
"delta": -0.0187,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3936,
"after": 0.3843,
"delta": -0.0093,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7192,
"after": 0.7282,
"delta": 0.009,
"percent_delta": 0.0125,
"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.3244,
"after": 0.3105,
"delta": -0.0139,
"percent_delta": -0.0428,
"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.252 HR/AB=0.015",
"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.2351,
"after": 0.0,
"delta": -0.2351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0488,
"after": 0.0,
"delta": -0.0488,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0666,
"after": 4.0,
"delta": -0.0666,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3155,
"after": 0.0,
"delta": -0.3155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0452,
"after": 1.0,
"delta": -0.0452,
"percent_delta": -0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0617,
"after": 0.0,
"delta": -0.0617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5814,
"after": 1.0,
"delta": 0.4186,
"percent_delta": 0.72,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7282,
"after": 1.0,
"delta": 0.2718,
"percent_delta": 0.3732,
"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_RBI",
"before": 0.5814,
"after": 1.0,
"delta": 0.4186,
"percent_delta": 0.72,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3155,
"after": 0.0,
"delta": -0.3155,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4979,
"after": 0.0,
"delta": -0.4979,
"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.4979,
"after": 0.0,
"delta": -0.4979,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.25,
"delta": -0.007,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3105,
"after": 0.25,
"delta": -0.0605,
"percent_delta": -0.1948,
"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.3843,
"after": 0.25,
"delta": -0.1343,
"percent_delta": -0.3495,
"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.3843,
"after": 0.25,
"delta": -0.1343,
"percent_delta": -0.3495,
"direction": "deboost",
"projection_effect": "worse",
"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": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 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": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.257,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3105,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3843,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.257,
"delta": 0.007,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3105,
"delta": 0.0605,
"percent_delta": 0.242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3843,
"delta": 0.1343,
"percent_delta": 0.5373,
"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.3843,
"delta": 0.1343,
"percent_delta": 0.5373,
"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.254,
"after": 1.0,
"delta": 0.746,
"percent_delta": 2.937,
"direction": "boost",
"projection_effect": "better",
"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": 4.15,
"after": 3.0,
"delta": -1.15,
"percent_delta": -0.2771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.257,
"delta": 0.007,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 2.0,
"delta": 1.667,
"percent_delta": 5.006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0,
"delta": -0.04,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3105,
"delta": -0.0115,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.508,
"after": 1.0,
"delta": 0.492,
"percent_delta": 0.9685,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.392,
"after": 0.3843,
"delta": -0.0077,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.651,
"after": 1.0,
"delta": 0.349,
"percent_delta": 0.5361,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 2.0,
"delta": 1.667,
"percent_delta": 5.006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.15,
"after": 3.0,
"delta": -1.15,
"percent_delta": -0.2771,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}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.032 | - |
| predicted_AB | 4.150 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.508 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.392 | - |
| predicted_SO | 0.651 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.019 |
| predicted_3B | 0.049 | 0.017 |
| predicted_AB | 4.067 | -0.083 |
| predicted_AVG | 0.261 | 0.011 |
| predicted_BB | 0.320 | -0.014 |
| predicted_H | 1.063 | 0.023 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.063 | -0.017 |
| predicted_OBP | 0.324 | 0.002 |
| predicted_R | 0.514 | 0.006 |
| predicted_RBI | 0.600 | 0.010 |
| predicted_SLG | 0.394 | 0.002 |
| predicted_SO | 0.719 | 0.068 |
Step 3: 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.049 | 0.000 |
| predicted_AB | 4.067 | 0.000 |
| predicted_AVG | 0.257 | -0.004 |
| predicted_BB | 0.316 | -0.004 |
| predicted_H | 1.045 | -0.018 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.062 | -0.001 |
| predicted_OBP | 0.310 | -0.014 |
| predicted_R | 0.498 | -0.016 |
| predicted_RBI | 0.581 | -0.019 |
| predicted_SLG | 0.384 | -0.009 |
| predicted_SO | 0.728 | 0.009 |
AB rounded to 4 (raw=4.15), rates preserved: AVG=0.252 HR/AB=0.015
| 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 | 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.235 |
| predicted_3B | 0.000 | -0.049 |
| predicted_AB | 4.000 | -0.067 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 0.000 | -0.316 |
| predicted_H | 1.000 | -0.045 |
| predicted_HR | 0.000 | -0.062 |
| predicted_OBP | 0.250 | -0.060 |
| predicted_R | 0.000 | -0.498 |
| predicted_RBI | 1.000 | 0.419 |
| predicted_SLG | 0.250 | -0.134 |
| predicted_SO | 1.000 | 0.272 |
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 | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 1.000 | 0.000 | 5.000 | 3.000 | 1.000 | 6.000 | 0.2857 | 0.3182 | 0.4286 | 0.2857 | 0.0000 | 0.2381 | 0.0476 | 0.2857 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 1.000 | 1.000 | 0.000 | 8.000 | 5.000 | 3.000 | 9.000 | 0.2973 | 0.3500 | 0.3784 | 0.2973 | 0.0000 | 0.2162 | 0.0811 | 0.2432 |
| season | 0.60 | 63 | - | 250.000 | 68.000 | 16.000 | 2.000 | 3.000 | 28.000 | 32.000 | 21.000 | 41.000 | 0.2720 | 0.3260 | 0.3880 | 0.2720 | 0.0120 | 0.1120 | 0.0840 | 0.1640 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2090 |
| predicted_3B | 0.0720 |
| predicted_AB | 3.9520 |
| predicted_AVG | 0.2769 |
| predicted_BB | 0.3010 |
| predicted_H | 1.0940 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3277 |
| predicted_R | 0.5220 |
| predicted_RBI | 0.6140 |
| predicted_SLG | 0.3957 |
| predicted_SO | 0.8130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2540 | 0.2090 | 0.2351 | model_form_blend |
| predicted_3B | 0.0320 | 0.0720 | 0.0488 | model_form_blend |
| predicted_AB | 4.1500 | 3.9520 | 4.0666 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2769 | 0.2613 | model_form_blend |
| predicted_BB | 0.3330 | 0.3010 | 0.3195 | model_form_blend |
| predicted_H | 1.0400 | 1.0940 | 1.0627 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0800 | 0.0390 | 0.0627 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3277 | 0.3244 | model_form_blend |
| predicted_R | 0.5080 | 0.5220 | 0.5139 | model_form_blend |
| predicted_RBI | 0.5900 | 0.6140 | 0.6001 | model_form_blend |
| predicted_SLG | 0.3920 | 0.3957 | 0.3936 | model_form_blend |
| predicted_SO | 0.6510 | 0.8130 | 0.7192 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 5 |
| AB | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.272 |
| 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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | 3B |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 672580 |
| playerID | 672580 |
| playerName | Maikel Garcia |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-14 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.309 |
| sl_xwoba | 0.323 |
| sl_xba | 0.277 |
| sl_xslg | 0.383 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 41.1 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 8.7 |
| sl_whiff_percent | 14.7 |
| sl_swing_percent | 38.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.169 | 0.000 | 0.000 | Hitting_2B | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.323 | 4.000 | 3.000 | Hitting_AB | 3.490 | 4.000 | 0.510 | 0.000 |
| predicted_AVG | 0.272 | 0.250 | 0.333 | Hitting_AVG | 0.232 | 0.250 | 0.018 | 0.000 |
| predicted_BB | 0.323 | 1.000 | 0.000 | Hitting_BB | 0.335 | 0.000 | 0.665 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.390 | 1.000 | 1.000 | Hitting_H | 0.809 | 1.000 | 0.191 | 0.000 |
| predicted_HR | 0.060 | 1.000 | 0.000 | Hitting_HR | 0.108 | 0.000 | 0.892 | 1.000 |
| predicted_OBP | 0.340 | 0.400 | 0.333 | Hitting_OBP | 0.309 | 0.250 | 0.091 | 0.150 |
| predicted_R | 0.431 | 1.000 | 0.000 | Hitting_R | 0.438 | 1.000 | 0.562 | 0.000 |
| predicted_RBI | 0.200 | 1.000 | 0.000 | Hitting_RBI | 0.253 | 1.000 | 0.747 | 0.000 |
| predicted_SLG | 0.440 | 1.000 | 0.333 | Hitting_SLG | 0.393 | 0.250 | 0.607 | 0.750 |
| predicted_SO | 1.123 | 1.000 | 1.000 | Hitting_SO | 1.149 | 3.000 | -0.149 | -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_HR: 0.0600 -> 1.0000 (boost 0.9400, better) |
| Biggest Deboost | predicted_2B: 0.1690 -> 0.0000 (deboost -0.1690, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 7 | 0 | predicted_H: 0.3900 -> 0.6814 (boost 0.2914, better) | - | Final model input calibrated with local 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.4521 -> 0.3296 (deboost -0.1225, 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.6702 -> 1.0000 (boost 0.3298, better) | predicted_AB: 3.4040 -> 3.0000 (deboost -0.4040, worse) | AB rounded to 3 (raw=3.40), rates preserved: AVG=0.197 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4847 -> 0.0000 (deboost -0.4847, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.1969 -> 0.3330 (boost 0.1361, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.1969 (deboost -0.1361, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695506",
"player_name": "Jac Caglianone",
"position": "RF",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.015,
"predicted_AB": 3.323,
"predicted_AVG": 0.272,
"predicted_BB": 0.323,
"predicted_H": 0.39,
"predicted_HR": 0.06,
"predicted_OBP": 0.34,
"predicted_R": 0.431,
"predicted_RBI": 0.2,
"predicted_SLG": 0.44,
"predicted_SO": 1.123
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1748,
"predicted_3B": 0.0129,
"predicted_AB": 3.404,
"predicted_AVG": 0.2875,
"predicted_BB": 0.3414,
"predicted_H": 0.6814,
"predicted_HBP": 0.03,
"predicted_HR": 0.0851,
"predicted_OBP": 0.3562,
"predicted_R": 0.5003,
"predicted_RBI": 0.2827,
"predicted_SLG": 0.4521,
"predicted_SO": 1.1439
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1748,
"delta": 0.0058,
"percent_delta": 0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.323,
"after": 3.404,
"delta": 0.081,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2875,
"delta": 0.0155,
"percent_delta": 0.057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.323,
"after": 0.3414,
"delta": 0.0184,
"percent_delta": 0.057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 0.6814,
"delta": 0.2914,
"percent_delta": 0.7472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0851,
"delta": 0.0251,
"percent_delta": 0.4183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3562,
"delta": 0.0162,
"percent_delta": 0.0476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 0.5003,
"delta": 0.0693,
"percent_delta": 0.1608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.2827,
"delta": 0.0827,
"percent_delta": 0.4135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4521,
"delta": 0.0121,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.123,
"after": 1.1439,
"delta": 0.0209,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 7,
"deboosted_metrics": 0,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.39,
"after": 0.6814,
"delta": 0.2914,
"percent_delta": 0.7472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1748,
"predicted_3B": 0.0129,
"predicted_AB": 3.404,
"predicted_AVG": 0.1969,
"predicted_BB": 0.3371,
"predicted_H": 0.6702,
"predicted_HBP": 0.03,
"predicted_HR": 0.0837,
"predicted_OBP": 0.2692,
"predicted_R": 0.4847,
"predicted_RBI": 0.2739,
"predicted_SLG": 0.3296,
"predicted_SO": 1.1582
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1748,
"after": 0.1748,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.404,
"after": 3.404,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2875,
"after": 0.1969,
"delta": -0.0906,
"percent_delta": -0.3151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3414,
"after": 0.3371,
"delta": -0.0043,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6814,
"after": 0.6702,
"delta": -0.0112,
"percent_delta": -0.0164,
"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.0851,
"after": 0.0837,
"delta": -0.0014,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3562,
"after": 0.2692,
"delta": -0.087,
"percent_delta": -0.2442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5003,
"after": 0.4847,
"delta": -0.0156,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2827,
"after": 0.2739,
"delta": -0.0088,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4521,
"after": 0.3296,
"delta": -0.1225,
"percent_delta": -0.271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1439,
"after": 1.1582,
"delta": 0.0143,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4521,
"after": 0.3296,
"delta": -0.1225,
"percent_delta": -0.271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.40), rates preserved: AVG=0.197 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.1748,
"after": 0.0,
"delta": -0.1748,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.404,
"after": 3.0,
"delta": -0.404,
"percent_delta": -0.1187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3371,
"after": 0.0,
"delta": -0.3371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6702,
"after": 1.0,
"delta": 0.3298,
"percent_delta": 0.4921,
"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.0837,
"after": 0.0,
"delta": -0.0837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2739,
"after": 0.0,
"delta": -0.2739,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1582,
"after": 1.0,
"delta": -0.1582,
"percent_delta": -0.1366,
"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.6702,
"after": 1.0,
"delta": 0.3298,
"percent_delta": 0.4921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.404,
"after": 3.0,
"delta": -0.404,
"percent_delta": -0.1187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4847,
"after": 0.0,
"delta": -0.4847,
"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.4847,
"after": 0.0,
"delta": -0.4847,
"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.1969,
"after": 0.333,
"delta": 0.1361,
"percent_delta": 0.6912,
"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.2692,
"after": 0.333,
"delta": 0.0638,
"percent_delta": 0.237,
"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.3296,
"after": 0.333,
"delta": 0.0034,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.1969,
"after": 0.333,
"delta": 0.1361,
"percent_delta": 0.6912,
"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": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"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.1969,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2692,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3296,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1969,
"delta": -0.1361,
"percent_delta": -0.4088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2692,
"delta": -0.0638,
"percent_delta": -0.1914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3296,
"delta": -0.0034,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_AVG",
"before": 0.333,
"after": 0.1969,
"delta": -0.1361,
"percent_delta": -0.4088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.323,
"after": 4.0,
"delta": 0.677,
"percent_delta": 0.2037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.1969,
"delta": -0.0751,
"percent_delta": -0.2761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.323,
"after": 1.0,
"delta": 0.677,
"percent_delta": 2.096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"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.34,
"after": 0.2692,
"delta": -0.0708,
"percent_delta": -0.2082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 1.0,
"delta": 0.569,
"percent_delta": 1.3202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 1.0,
"delta": 0.8,
"percent_delta": 4.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.3296,
"delta": -0.1104,
"percent_delta": -0.2509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.123,
"after": 1.0,
"delta": -0.123,
"percent_delta": -0.1095,
"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_HR",
"before": 0.06,
"after": 1.0,
"delta": 0.94,
"percent_delta": 15.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"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.169 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.323 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.323 | - |
| predicted_H | 0.390 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.431 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.440 | - |
| predicted_SO | 1.123 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.006 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.404 | 0.081 |
| predicted_AVG | 0.287 | 0.015 |
| predicted_BB | 0.341 | 0.018 |
| predicted_H | 0.681 | 0.291 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.085 | 0.025 |
| predicted_OBP | 0.356 | 0.016 |
| predicted_R | 0.500 | 0.069 |
| predicted_RBI | 0.283 | 0.083 |
| predicted_SLG | 0.452 | 0.012 |
| predicted_SO | 1.144 | 0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.175 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.404 | 0.000 |
| predicted_AVG | 0.197 | -0.091 |
| predicted_BB | 0.337 | -0.004 |
| predicted_H | 0.670 | -0.011 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.084 | -0.001 |
| predicted_OBP | 0.269 | -0.087 |
| predicted_R | 0.485 | -0.016 |
| predicted_RBI | 0.274 | -0.009 |
| predicted_SLG | 0.330 | -0.122 |
| predicted_SO | 1.158 | 0.014 |
AB rounded to 3 (raw=3.40), rates preserved: AVG=0.197 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 | - |
Enforced H<=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.175 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.404 |
| predicted_AVG | 0.333 | 0.136 |
| predicted_BB | 0.000 | -0.337 |
| predicted_H | 1.000 | 0.330 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.333 | 0.064 |
| predicted_R | 0.000 | -0.485 |
| predicted_RBI | 0.000 | -0.274 |
| predicted_SLG | 0.333 | 0.003 |
| predicted_SO | 1.000 | -0.158 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 1.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 8.000 | 0.3500 | 0.4091 | 0.4000 | 0.3500 | 0.0000 | 0.1000 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 34.000 | 15.000 | 2.000 | 0.000 | 2.000 | 6.000 | 8.000 | 5.000 | 11.000 | 0.4412 | 0.5128 | 0.6765 | 0.4412 | 0.0588 | 0.1765 | 0.1471 | 0.3235 |
| season | 0.60 | 65 | - | 216.000 | 57.000 | 11.000 | 1.000 | 8.000 | 20.000 | 28.000 | 21.000 | 73.000 | 0.2639 | 0.3375 | 0.4352 | 0.2639 | 0.0370 | 0.0926 | 0.0972 | 0.3380 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1830 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.5170 |
| predicted_AVG | 0.3092 |
| predicted_BB | 0.3670 |
| predicted_H | 1.0880 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.1200 |
| predicted_OBP | 0.3787 |
| predicted_R | 0.5970 |
| predicted_RBI | 0.3980 |
| predicted_SLG | 0.4690 |
| predicted_SO | 1.1730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1830 | 0.1748 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 3.3230 | 3.5170 | 3.4040 | model_form_blend |
| predicted_AVG | 0.2720 | 0.3092 | 0.2875 | model_form_blend |
| predicted_BB | 0.3230 | 0.3670 | 0.3414 | model_form_blend |
| predicted_H | 0.3900 | 1.0880 | 0.6814 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.0600 | 0.1200 | 0.0851 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3787 | 0.3562 | model_form_blend |
| predicted_R | 0.4310 | 0.5970 | 0.5003 | model_form_blend |
| predicted_RBI | 0.2000 | 0.3980 | 0.2827 | model_form_blend |
| predicted_SLG | 0.4400 | 0.4690 | 0.4521 | model_form_blend |
| predicted_SO | 1.1230 | 1.1730 | 1.1439 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 194 |
| Season rows before report date | 194 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| 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 | 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 | 3 |
| 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 | 20260614_HOU@KC |
| game_type | full |
| mlbID | 695506 |
| playerID | 695506 |
| playerName | Jac Caglianone |
| pos | RF |
| started | True |
| startingPosition | 1B |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-14 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.349 |
| sl_xwoba | 0.359 |
| sl_xba | 0.269 |
| sl_xslg | 0.483 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 57.2 |
| sl_exit_velocity_avg | 93.7 |
| sl_launch_angle_avg | 8.4 |
| sl_whiff_percent | 31.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.092 | 0.000 | 0.000 | Hitting_2B | 0.098 | 0.000 | -0.098 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.950 | 3.000 | 4.000 | Hitting_AB | 3.872 | 4.000 | -0.872 | -1.000 |
| predicted_AVG | 0.220 | 0.000 | 0.250 | Hitting_AVG | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_BB | 0.185 | 1.000 | 0.000 | Hitting_BB | 0.218 | 0.000 | 0.782 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 0.000 | 1.000 | Hitting_H | 0.850 | 0.000 | -0.850 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_OBP | 0.258 | 0.250 | 0.250 | Hitting_OBP | 0.271 | 0.000 | -0.021 | 0.250 |
| predicted_R | 0.385 | 0.000 | 0.000 | Hitting_R | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.479 | 0.000 | -0.479 | 0.000 |
| predicted_SLG | 0.332 | 0.000 | 0.250 | Hitting_SLG | 0.384 | 0.000 | -0.384 | 0.000 |
| predicted_SO | 0.815 | 1.000 | 1.000 | Hitting_SO | 0.808 | 2.000 | 0.192 | -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_BB: 0.1850 -> 1.0000 (boost 0.8150, better) |
| Biggest Deboost | predicted_AB: 3.9500 -> 3.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 | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3320 -> 0.3119 (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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2484 -> 0.2395 (deboost -0.0089, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.8279 -> 1.0000 (boost 0.1721, better) | predicted_RBI: 0.3166 -> 0.0000 (deboost -0.3166, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.207 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3938 -> 0.0000 (deboost -0.3938, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2073 -> 0.2500 (boost 0.0427, better) | predicted_SLG: 0.3043 -> 0.2500 (deboost -0.0543, 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_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.3043 (boost 0.0543, better) | predicted_AVG: 0.2500 -> 0.2073 (deboost -0.0427, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "521692",
"player_name": "Salvador Perez",
"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.092,
"predicted_3B": 0.0,
"predicted_AB": 3.95,
"predicted_AVG": 0.22,
"predicted_BB": 0.185,
"predicted_H": 0.87,
"predicted_HR": 0.11,
"predicted_OBP": 0.258,
"predicted_R": 0.385,
"predicted_RBI": 0.35,
"predicted_SLG": 0.332,
"predicted_SO": 0.815
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0836,
"predicted_3B": 0.0008,
"predicted_AB": 3.9942,
"predicted_AVG": 0.2107,
"predicted_BB": 0.1711,
"predicted_H": 0.8418,
"predicted_HBP": 0.064,
"predicted_HR": 0.1024,
"predicted_OBP": 0.2484,
"predicted_R": 0.4065,
"predicted_RBI": 0.3268,
"predicted_SLG": 0.3119,
"predicted_SO": 0.8297
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.092,
"after": 0.0836,
"delta": -0.0084,
"percent_delta": -0.0913,
"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": 3.95,
"after": 3.9942,
"delta": 0.0442,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2107,
"delta": -0.0093,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.1711,
"delta": -0.0139,
"percent_delta": -0.0751,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.8418,
"delta": -0.0282,
"percent_delta": -0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1024,
"delta": -0.0076,
"percent_delta": -0.0691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.258,
"after": 0.2484,
"delta": -0.0096,
"percent_delta": -0.0372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.4065,
"delta": 0.0215,
"percent_delta": 0.0558,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3268,
"delta": -0.0232,
"percent_delta": -0.0663,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3119,
"delta": -0.0201,
"percent_delta": -0.0605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.815,
"after": 0.8297,
"delta": 0.0147,
"percent_delta": 0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.332,
"after": 0.3119,
"delta": -0.0201,
"percent_delta": -0.0605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0836,
"predicted_3B": 0.0008,
"predicted_AB": 3.9942,
"predicted_AVG": 0.2073,
"predicted_BB": 0.169,
"predicted_H": 0.8279,
"predicted_HBP": 0.064,
"predicted_HR": 0.1007,
"predicted_OBP": 0.2395,
"predicted_R": 0.3938,
"predicted_RBI": 0.3166,
"predicted_SLG": 0.3043,
"predicted_SO": 0.8401
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0836,
"after": 0.0836,
"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.9942,
"after": 3.9942,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2107,
"after": 0.2073,
"delta": -0.0034,
"percent_delta": -0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1711,
"after": 0.169,
"delta": -0.0021,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8418,
"after": 0.8279,
"delta": -0.0139,
"percent_delta": -0.0165,
"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.1024,
"after": 0.1007,
"delta": -0.0017,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2484,
"after": 0.2395,
"delta": -0.0089,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4065,
"after": 0.3938,
"delta": -0.0127,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3268,
"after": 0.3166,
"delta": -0.0102,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3119,
"after": 0.3043,
"delta": -0.0076,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8297,
"after": 0.8401,
"delta": 0.0104,
"percent_delta": 0.0125,
"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.2484,
"after": 0.2395,
"delta": -0.0089,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.99), rates preserved: AVG=0.207 HR/AB=0.025",
"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.0836,
"after": 0.0,
"delta": -0.0836,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9942,
"after": 4.0,
"delta": 0.0058,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8279,
"after": 1.0,
"delta": 0.1721,
"percent_delta": 0.2079,
"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.1007,
"after": 0.0,
"delta": -0.1007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3166,
"after": 0.0,
"delta": -0.3166,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8401,
"after": 1.0,
"delta": 0.1599,
"percent_delta": 0.1903,
"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_H",
"before": 0.8279,
"after": 1.0,
"delta": 0.1721,
"percent_delta": 0.2079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3166,
"after": 0.0,
"delta": -0.3166,
"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.3938,
"after": 0.0,
"delta": -0.3938,
"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.3938,
"after": 0.0,
"delta": -0.3938,
"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.2073,
"after": 0.25,
"delta": 0.0427,
"percent_delta": 0.206,
"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.2395,
"after": 0.25,
"delta": 0.0105,
"percent_delta": 0.0438,
"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.3043,
"after": 0.25,
"delta": -0.0543,
"percent_delta": -0.1784,
"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.2073,
"after": 0.25,
"delta": 0.0427,
"percent_delta": 0.206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3043,
"after": 0.25,
"delta": -0.0543,
"percent_delta": -0.1784,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2073,
"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.2395,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3043,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2073,
"delta": -0.0427,
"percent_delta": -0.1709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2395,
"delta": -0.0105,
"percent_delta": -0.0422,
"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.3043,
"delta": 0.0543,
"percent_delta": 0.2171,
"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.3043,
"delta": 0.0543,
"percent_delta": 0.2171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2073,
"delta": -0.0427,
"percent_delta": -0.1709,
"direction": "deboost",
"projection_effect": "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.95,
"after": 3.0,
"delta": -0.95,
"percent_delta": -0.2405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.2073,
"delta": -0.0127,
"percent_delta": -0.0577,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 1.0,
"delta": 0.815,
"percent_delta": 4.4054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.258,
"after": 0.2395,
"delta": -0.0185,
"percent_delta": -0.0717,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3043,
"delta": -0.0277,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.815,
"after": 1.0,
"delta": 0.185,
"percent_delta": 0.227,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.185,
"after": 1.0,
"delta": 0.815,
"percent_delta": 4.4054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.95,
"after": 3.0,
"delta": -0.95,
"percent_delta": -0.2405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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 | 3.950 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.185 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.258 | - |
| predicted_R | 0.385 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.332 | - |
| predicted_SO | 0.815 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.084 | -0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.994 | 0.044 |
| predicted_AVG | 0.211 | -0.009 |
| predicted_BB | 0.171 | -0.014 |
| predicted_H | 0.842 | -0.028 |
| predicted_HBP | 0.064 | - |
| predicted_HR | 0.102 | -0.008 |
| predicted_OBP | 0.248 | -0.010 |
| predicted_R | 0.406 | 0.021 |
| predicted_RBI | 0.327 | -0.023 |
| predicted_SLG | 0.312 | -0.020 |
| predicted_SO | 0.830 | 0.015 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.084 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.994 | 0.000 |
| predicted_AVG | 0.207 | -0.003 |
| predicted_BB | 0.169 | -0.002 |
| predicted_H | 0.828 | -0.014 |
| predicted_HBP | 0.064 | 0.000 |
| predicted_HR | 0.101 | -0.002 |
| predicted_OBP | 0.239 | -0.009 |
| predicted_R | 0.394 | -0.013 |
| predicted_RBI | 0.317 | -0.010 |
| predicted_SLG | 0.304 | -0.008 |
| predicted_SO | 0.840 | 0.010 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.207 HR/AB=0.025
| 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.084 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.006 |
| predicted_AVG | 0.250 | 0.043 |
| predicted_BB | 0.000 | -0.169 |
| predicted_H | 1.000 | 0.172 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.250 | 0.011 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 0.000 | -0.317 |
| predicted_SLG | 0.250 | -0.054 |
| predicted_SO | 1.000 | 0.160 |
Attached 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 5.000 | 0.1818 | 0.1818 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.2273 |
| last_10 | 0.20 | 10 | - | 43.000 | 7.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 8.000 | 0.1628 | 0.1957 | 0.1628 | 0.1628 | 0.0000 | 0.0233 | 0.0233 | 0.1860 |
| season | 0.60 | 65 | - | 253.000 | 52.000 | 6.000 | 0.000 | 9.000 | 26.000 | 25.000 | 12.000 | 53.000 | 0.2055 | 0.2518 | 0.3360 | 0.2055 | 0.0356 | 0.1028 | 0.0474 | 0.2095 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0720 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.0550 |
| predicted_AVG | 0.1980 |
| predicted_BB | 0.1520 |
| predicted_H | 0.8030 |
| predicted_HBP | 0.0640 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.2352 |
| predicted_R | 0.4360 |
| predicted_RBI | 0.2950 |
| predicted_SLG | 0.2842 |
| predicted_SO | 0.8500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0920 | 0.0720 | 0.0836 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.9500 | 4.0550 | 3.9942 | model_form_blend |
| predicted_AVG | 0.2200 | 0.1980 | 0.2107 | model_form_blend |
| predicted_BB | 0.1850 | 0.1520 | 0.1711 | model_form_blend |
| predicted_H | 0.8700 | 0.8030 | 0.8418 | model_form_blend |
| predicted_HBP | - | 0.0640 | 0.0640 | form_only |
| predicted_HR | 0.1100 | 0.0920 | 0.1024 | model_form_blend |
| predicted_OBP | 0.2580 | 0.2352 | 0.2484 | model_form_blend |
| predicted_R | 0.3850 | 0.4360 | 0.4065 | model_form_blend |
| predicted_RBI | 0.3500 | 0.2950 | 0.3268 | model_form_blend |
| predicted_SLG | 0.3320 | 0.2842 | 0.3119 | model_form_blend |
| predicted_SO | 0.8150 | 0.8500 | 0.8297 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.206 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 521692 |
| playerID | 521692 |
| playerName | Salvador Perez |
| pos | C |
| started | True |
| startingPosition | C |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-14 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.259 |
| sl_xwoba | 0.289 |
| sl_xba | 0.226 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 16.9 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 57.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.235 | 0.000 | 0.000 | Hitting_2B | 0.241 | 0.000 | -0.241 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 2.794 | 4.000 | 3.000 | Hitting_AB | 2.880 | 1.000 | 1.120 | 3.000 |
| predicted_AVG | 0.259 | 0.250 | 0.333 | Hitting_AVG | 0.213 | 0.000 | 0.037 | 0.250 |
| predicted_BB | 0.382 | 0.000 | 0.000 | Hitting_BB | 0.410 | 0.000 | -0.410 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.614 | 0.000 | 0.386 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_OBP | 0.325 | 0.250 | 0.333 | Hitting_OBP | 0.325 | 0.000 | -0.075 | 0.250 |
| predicted_R | 0.412 | 0.000 | 0.000 | Hitting_R | 0.494 | 0.000 | -0.494 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.627 | 0.000 | -0.627 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.393 | 0.250 | 0.333 | Hitting_SLG | 0.318 | 0.000 | -0.068 | 0.250 |
| predicted_SO | 0.412 | 1.000 | 0.000 | Hitting_SO | 0.349 | 0.000 | 0.651 | 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_AB: 2.7940 -> 4.0000 (boost 1.2060, better) |
| Biggest Deboost | predicted_RBI: 0.4500 -> 0.0000 (deboost -0.4500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 1 | 1 | 1 | 1 | predicted_AB: 2.7940 -> 2.8822 (boost 0.0882, better) | predicted_AVG: 0.2590 -> 0.2480 (deboost -0.0110, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3946 -> 0.4057 (boost 0.0111, better) | predicted_AVG: 0.2480 -> 0.2322 (deboost -0.0158, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_H: 0.6693 -> 1.0000 (boost 0.3307, better) | predicted_RBI: 0.4578 -> 0.0000 (deboost -0.4578, worse) | AB rounded to 3 (raw=2.88), rates preserved: AVG=0.232 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3784 -> 0.0000 (deboost -0.3784, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2322 -> 0.3330 (boost 0.1008, better) | predicted_SLG: 0.4057 -> 0.3330 (deboost -0.0727, 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.4057 (boost 0.0727, better) | predicted_AVG: 0.3330 -> 0.2322 (deboost -0.1008, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679845",
"player_name": "Nick Loftin",
"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.235,
"predicted_3B": 0.029,
"predicted_AB": 2.794,
"predicted_AVG": 0.259,
"predicted_BB": 0.382,
"predicted_H": 0.67,
"predicted_HR": 0.07,
"predicted_OBP": 0.325,
"predicted_R": 0.412,
"predicted_RBI": 0.45,
"predicted_SLG": 0.393,
"predicted_SO": 0.412
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.223,
"predicted_3B": 0.0449,
"predicted_AB": 2.8822,
"predicted_AVG": 0.248,
"predicted_BB": 0.4084,
"predicted_H": 0.6805,
"predicted_HBP": 0.036,
"predicted_HR": 0.0634,
"predicted_OBP": 0.3276,
"predicted_R": 0.3906,
"predicted_RBI": 0.4725,
"predicted_SLG": 0.3946,
"predicted_SO": 0.4478
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.223,
"delta": -0.012,
"percent_delta": -0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0449,
"delta": 0.0159,
"percent_delta": 0.5483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.794,
"after": 2.8822,
"delta": 0.0882,
"percent_delta": 0.0316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.248,
"delta": -0.011,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.4084,
"delta": 0.0264,
"percent_delta": 0.0691,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.6805,
"delta": 0.0105,
"percent_delta": 0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0634,
"delta": -0.0066,
"percent_delta": -0.0943,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3276,
"delta": 0.0026,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.412,
"after": 0.3906,
"delta": -0.0214,
"percent_delta": -0.0519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4725,
"delta": 0.0225,
"percent_delta": 0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3946,
"delta": 0.0016,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.412,
"after": 0.4478,
"delta": 0.0358,
"percent_delta": 0.0869,
"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_AB",
"before": 2.794,
"after": 2.8822,
"delta": 0.0882,
"percent_delta": 0.0316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.248,
"delta": -0.011,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.223,
"predicted_3B": 0.0449,
"predicted_AB": 2.8822,
"predicted_AVG": 0.2322,
"predicted_BB": 0.4033,
"predicted_H": 0.6693,
"predicted_HBP": 0.036,
"predicted_HR": 0.0624,
"predicted_OBP": 0.3265,
"predicted_R": 0.3784,
"predicted_RBI": 0.4578,
"predicted_SLG": 0.4057,
"predicted_SO": 0.4534
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.223,
"after": 0.223,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0449,
"after": 0.0449,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8822,
"after": 2.8822,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2322,
"delta": -0.0158,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4084,
"after": 0.4033,
"delta": -0.0051,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6805,
"after": 0.6693,
"delta": -0.0112,
"percent_delta": -0.0165,
"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.0634,
"after": 0.0624,
"delta": -0.001,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3276,
"after": 0.3265,
"delta": -0.0011,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3906,
"after": 0.3784,
"delta": -0.0122,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4725,
"after": 0.4578,
"delta": -0.0147,
"percent_delta": -0.0311,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3946,
"after": 0.4057,
"delta": 0.0111,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4478,
"after": 0.4534,
"delta": 0.0056,
"percent_delta": 0.0125,
"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.3946,
"after": 0.4057,
"delta": 0.0111,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2322,
"delta": -0.0158,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.88), rates preserved: AVG=0.232 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.223,
"after": 0.0,
"delta": -0.223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0449,
"after": 0.0,
"delta": -0.0449,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8822,
"after": 3.0,
"delta": 0.1178,
"percent_delta": 0.0409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4033,
"after": 0.0,
"delta": -0.4033,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6693,
"after": 1.0,
"delta": 0.3307,
"percent_delta": 0.4941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0624,
"after": 0.0,
"delta": -0.0624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4578,
"after": 0.0,
"delta": -0.4578,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4534,
"after": 0.0,
"delta": -0.4534,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6693,
"after": 1.0,
"delta": 0.3307,
"percent_delta": 0.4941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": 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.3784,
"after": 0.0,
"delta": -0.3784,
"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.3784,
"after": 0.0,
"delta": -0.3784,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2322,
"after": 0.333,
"delta": 0.1008,
"percent_delta": 0.4341,
"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.3265,
"after": 0.333,
"delta": 0.0065,
"percent_delta": 0.0199,
"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.4057,
"after": 0.333,
"delta": -0.0727,
"percent_delta": -0.1792,
"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.2322,
"after": 0.333,
"delta": 0.1008,
"percent_delta": 0.4341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4057,
"after": 0.333,
"delta": -0.0727,
"percent_delta": -0.1792,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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.2322,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3265,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4057,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2322,
"delta": -0.1008,
"percent_delta": -0.3027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3265,
"delta": -0.0065,
"percent_delta": -0.0197,
"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.4057,
"delta": 0.0727,
"percent_delta": 0.2182,
"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.4057,
"delta": 0.0727,
"percent_delta": 0.2182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2322,
"delta": -0.1008,
"percent_delta": -0.3027,
"direction": "deboost",
"projection_effect": "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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.794,
"after": 4.0,
"delta": 1.206,
"percent_delta": 0.4316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2322,
"delta": -0.0268,
"percent_delta": -0.1035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3265,
"delta": 0.0015,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.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.4057,
"delta": 0.0127,
"percent_delta": 0.0323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.794,
"after": 4.0,
"delta": 1.206,
"percent_delta": 0.4316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 2.794 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.382 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.412 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 0.412 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.012 |
| predicted_3B | 0.045 | 0.016 |
| predicted_AB | 2.882 | 0.088 |
| predicted_AVG | 0.248 | -0.011 |
| predicted_BB | 0.408 | 0.026 |
| predicted_H | 0.680 | 0.010 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.063 | -0.007 |
| predicted_OBP | 0.328 | 0.003 |
| predicted_R | 0.391 | -0.021 |
| predicted_RBI | 0.472 | 0.022 |
| predicted_SLG | 0.395 | 0.002 |
| predicted_SO | 0.448 | 0.036 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.223 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 2.882 | 0.000 |
| predicted_AVG | 0.232 | -0.016 |
| predicted_BB | 0.403 | -0.005 |
| predicted_H | 0.669 | -0.011 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.062 | -0.001 |
| predicted_OBP | 0.327 | -0.001 |
| predicted_R | 0.378 | -0.012 |
| predicted_RBI | 0.458 | -0.015 |
| predicted_SLG | 0.406 | 0.011 |
| predicted_SO | 0.453 | 0.006 |
AB rounded to 3 (raw=2.88), rates preserved: AVG=0.232 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player 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.045 |
| predicted_AB | 3.000 | 0.118 |
| predicted_AVG | 0.333 | 0.101 |
| predicted_BB | 0.000 | -0.403 |
| predicted_H | 1.000 | 0.331 |
| predicted_HR | 0.000 | -0.062 |
| predicted_OBP | 0.333 | 0.007 |
| predicted_R | 0.000 | -0.378 |
| predicted_RBI | 0.000 | -0.458 |
| predicted_SLG | 0.333 | -0.073 |
| predicted_SO | 0.000 | -0.453 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 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 | 3.000 | 1.000 | 1.000 | 0.000 | 2.000 | 0.000 | 3.000 | 2.000 | 0.2308 | 0.3750 | 0.4615 | 0.2308 | 0.0000 | 0.1538 | 0.2308 | 0.1538 |
| last_10 | 0.20 | 10 | - | 30.000 | 7.000 | 1.000 | 1.000 | 1.000 | 5.000 | 4.000 | 6.000 | 5.000 | 0.2333 | 0.3514 | 0.4333 | 0.2333 | 0.0333 | 0.1667 | 0.2000 | 0.1667 |
| season | 0.60 | 34 | - | 95.000 | 21.000 | 8.000 | 1.000 | 1.000 | 18.000 | 14.000 | 13.000 | 14.000 | 0.2211 | 0.3186 | 0.3579 | 0.2210 | 0.0105 | 0.1895 | 0.1368 | 0.1474 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2040 |
| predicted_3B | 0.0700 |
| predicted_AB | 3.0210 |
| predicted_AVG | 0.2307 |
| predicted_BB | 0.4500 |
| predicted_H | 0.6970 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.3316 |
| predicted_R | 0.3570 |
| predicted_RBI | 0.5080 |
| predicted_SLG | 0.3970 |
| predicted_SO | 0.5040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.2040 | 0.2230 | model_form_blend |
| predicted_3B | 0.0290 | 0.0700 | 0.0449 | model_form_blend |
| predicted_AB | 2.7940 | 3.0210 | 2.8822 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2307 | 0.2480 | model_form_blend |
| predicted_BB | 0.3820 | 0.4500 | 0.4084 | model_form_blend |
| predicted_H | 0.6700 | 0.6970 | 0.6805 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.0700 | 0.0530 | 0.0634 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3316 | 0.3276 | model_form_blend |
| predicted_R | 0.4120 | 0.3570 | 0.3906 | model_form_blend |
| predicted_RBI | 0.4500 | 0.5080 | 0.4725 | model_form_blend |
| predicted_SLG | 0.3930 | 0.3970 | 0.3946 | model_form_blend |
| predicted_SO | 0.4120 | 0.5040 | 0.4478 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 83 |
| Season rows before report date | 83 |
| Report year | 2026 |
| Profile rows used | 34 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.221 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-2B |
| gameID | 20260613_HOU@KC |
| game_type | ph |
| mlbID | 679845 |
| note | Lined out for Massey in the 8th. |
| playerID | 679845 |
| playerName | Nick Loftin |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-13 |
| sl_k_percent | 12.1 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.31 |
| sl_xwoba | 0.317 |
| sl_xba | 0.237 |
| sl_xslg | 0.347 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 32.9 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 14.8 |
| sl_swing_percent | 39.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.203 | 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.391 | 3.000 | 4.000 | Hitting_AB | 3.448 | 4.000 | -0.448 | -1.000 |
| predicted_AVG | 0.240 | 0.000 | 0.250 | Hitting_AVG | 0.231 | 0.250 | -0.231 | -0.250 |
| predicted_BB | 0.344 | 1.000 | 0.000 | Hitting_BB | 0.423 | 0.000 | 0.577 | 1.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.796 | 1.000 | -0.796 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_OBP | 0.292 | 0.250 | 0.250 | Hitting_OBP | 0.314 | 0.250 | -0.064 | 0.000 |
| predicted_R | 0.469 | 0.000 | 0.000 | Hitting_R | 0.438 | 1.000 | -0.438 | -1.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.547 | 0.000 | -0.547 | 0.000 |
| predicted_SLG | 0.393 | 0.000 | 0.250 | Hitting_SLG | 0.390 | 0.250 | -0.390 | -0.250 |
| predicted_SO | 1.094 | 0.000 | 1.000 | Hitting_SO | 1.100 | 1.000 | -1.100 | -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_BB: 0.3440 -> 1.0000 (boost 0.6560, better) |
| Biggest Deboost | predicted_SO: 1.0940 -> 0.0000 (deboost -1.0940, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_AB: 3.3910 -> 3.5332 (boost 0.1422, better) | - | Final model input calibrated with local 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.4005 -> 0.3812 (deboost -0.0193, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_AB: 3.5332 -> 4.0000 (boost 0.4668, better) | predicted_BB: 0.3137 -> 0.0000 (deboost -0.3137, worse) | AB rounded to 4 (raw=3.53), rates preserved: AVG=0.222 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4937 -> 0.0000 (deboost -0.4937, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2218 -> 0.2500 (boost 0.0282, better) | predicted_SLG: 0.3812 -> 0.2500 (deboost -0.1312, 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_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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3812 (boost 0.1312, better) | predicted_AVG: 0.2500 -> 0.2218 (deboost -0.0282, 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.203,
"predicted_3B": 0.0,
"predicted_AB": 3.391,
"predicted_AVG": 0.24,
"predicted_BB": 0.344,
"predicted_H": 0.74,
"predicted_HR": 0.1,
"predicted_OBP": 0.292,
"predicted_R": 0.469,
"predicted_RBI": 0.49,
"predicted_SLG": 0.393,
"predicted_SO": 1.094
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2624,
"predicted_3B": 0.0008,
"predicted_AB": 3.5332,
"predicted_AVG": 0.2378,
"predicted_BB": 0.3177,
"predicted_H": 0.7969,
"predicted_HBP": 0.013,
"predicted_HR": 0.1013,
"predicted_OBP": 0.2892,
"predicted_R": 0.5096,
"predicted_RBI": 0.5544,
"predicted_SLG": 0.4005,
"predicted_SO": 1.0689
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.2624,
"delta": 0.0594,
"percent_delta": 0.2926,
"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.391,
"after": 3.5332,
"delta": 0.1422,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2378,
"delta": -0.0022,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.344,
"after": 0.3177,
"delta": -0.0263,
"percent_delta": -0.0765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7969,
"delta": 0.0569,
"percent_delta": 0.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1013,
"delta": 0.0013,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2892,
"delta": -0.0028,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.5096,
"delta": 0.0406,
"percent_delta": 0.0866,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.5544,
"delta": 0.0644,
"percent_delta": 0.1314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.4005,
"delta": 0.0075,
"percent_delta": 0.0191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 1.0689,
"delta": -0.0251,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.391,
"after": 3.5332,
"delta": 0.1422,
"percent_delta": 0.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": 5,
"last_10": 10,
"season": 64
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2624,
"predicted_3B": 0.0008,
"predicted_AB": 3.5332,
"predicted_AVG": 0.2218,
"predicted_BB": 0.3137,
"predicted_H": 0.7838,
"predicted_HBP": 0.013,
"predicted_HR": 0.0997,
"predicted_OBP": 0.2853,
"predicted_R": 0.4937,
"predicted_RBI": 0.5371,
"predicted_SLG": 0.3812,
"predicted_SO": 1.0823
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2624,
"after": 0.2624,
"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.5332,
"after": 3.5332,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2378,
"after": 0.2218,
"delta": -0.016,
"percent_delta": -0.0673,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3177,
"after": 0.3137,
"delta": -0.004,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7969,
"after": 0.7838,
"delta": -0.0131,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1013,
"after": 0.0997,
"delta": -0.0016,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2892,
"after": 0.2853,
"delta": -0.0039,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5096,
"after": 0.4937,
"delta": -0.0159,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5544,
"after": 0.5371,
"delta": -0.0173,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4005,
"after": 0.3812,
"delta": -0.0193,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0689,
"after": 1.0823,
"delta": 0.0134,
"percent_delta": 0.0125,
"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.4005,
"after": 0.3812,
"delta": -0.0193,
"percent_delta": -0.0482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.53), rates preserved: AVG=0.222 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2624,
"after": 0.0,
"delta": -0.2624,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5332,
"after": 4.0,
"delta": 0.4668,
"percent_delta": 0.1321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3137,
"after": 0.0,
"delta": -0.3137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7838,
"after": 1.0,
"delta": 0.2162,
"percent_delta": 0.2758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0997,
"after": 0.0,
"delta": -0.0997,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5371,
"after": 1.0,
"delta": 0.4629,
"percent_delta": 0.8619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0823,
"after": 1.0,
"delta": -0.0823,
"percent_delta": -0.076,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5332,
"after": 4.0,
"delta": 0.4668,
"percent_delta": 0.1321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3137,
"after": 0.0,
"delta": -0.3137,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4937,
"after": 0.0,
"delta": -0.4937,
"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.4937,
"after": 0.0,
"delta": -0.4937,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2218,
"after": 0.25,
"delta": 0.0282,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2853,
"after": 0.25,
"delta": -0.0353,
"percent_delta": -0.1237,
"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.3812,
"after": 0.25,
"delta": -0.1312,
"percent_delta": -0.3442,
"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.2218,
"after": 0.25,
"delta": 0.0282,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3812,
"after": 0.25,
"delta": -0.1312,
"percent_delta": -0.3442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2218,
"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.2853,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3812,
"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.2218,
"delta": -0.0282,
"percent_delta": -0.1127,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2853,
"delta": 0.0353,
"percent_delta": 0.1411,
"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.3812,
"delta": 0.1312,
"percent_delta": 0.5247,
"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.3812,
"delta": 0.1312,
"percent_delta": 0.5247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2218,
"delta": -0.0282,
"percent_delta": -0.1127,
"direction": "deboost",
"projection_effect": "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.391,
"after": 3.0,
"delta": -0.391,
"percent_delta": -0.1153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2218,
"delta": -0.0182,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.344,
"after": 1.0,
"delta": 0.656,
"percent_delta": 1.907,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2853,
"delta": -0.0067,
"percent_delta": -0.0229,
"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.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3812,
"delta": -0.0118,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.094,
"after": 0.0,
"delta": -1.094,
"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.344,
"after": 1.0,
"delta": 0.656,
"percent_delta": 1.907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.094,
"after": 0.0,
"delta": -1.094,
"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.203 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.391 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.344 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 1.094 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.262 | 0.059 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.533 | 0.142 |
| predicted_AVG | 0.238 | -0.002 |
| predicted_BB | 0.318 | -0.026 |
| predicted_H | 0.797 | 0.057 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.101 | 0.001 |
| predicted_OBP | 0.289 | -0.003 |
| predicted_R | 0.510 | 0.041 |
| predicted_RBI | 0.554 | 0.064 |
| predicted_SLG | 0.401 | 0.008 |
| predicted_SO | 1.069 | -0.025 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.262 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.533 | 0.000 |
| predicted_AVG | 0.222 | -0.016 |
| predicted_BB | 0.314 | -0.004 |
| predicted_H | 0.784 | -0.013 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.100 | -0.002 |
| predicted_OBP | 0.285 | -0.004 |
| predicted_R | 0.494 | -0.016 |
| predicted_RBI | 0.537 | -0.017 |
| predicted_SLG | 0.381 | -0.019 |
| predicted_SO | 1.082 | 0.013 |
AB rounded to 4 (raw=3.53), rates preserved: AVG=0.222 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 | 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.262 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.467 |
| predicted_AVG | 0.250 | 0.028 |
| predicted_BB | 0.000 | -0.314 |
| predicted_H | 1.000 | 0.216 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.250 | -0.035 |
| predicted_R | 0.000 | -0.494 |
| predicted_RBI | 1.000 | 0.463 |
| predicted_SLG | 0.250 | -0.131 |
| predicted_SO | 1.000 | -0.082 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 4.000 | 0.000 | 0.000 | 4.000 | 4.000 | 1.000 | 3.000 | 0.2857 | 0.3182 | 0.4762 | 0.2857 | 0.0000 | 0.1905 | 0.0476 | 0.1429 |
| last_10 | 0.20 | 10 | - | 42.000 | 9.000 | 5.000 | 0.000 | 1.000 | 9.000 | 7.000 | 1.000 | 13.000 | 0.2143 | 0.2222 | 0.4048 | 0.2143 | 0.0238 | 0.2143 | 0.0238 | 0.3095 |
| season | 0.60 | 64 | - | 217.000 | 48.000 | 13.000 | 0.000 | 8.000 | 35.000 | 30.000 | 22.000 | 70.000 | 0.2212 | 0.2898 | 0.3917 | 0.2212 | 0.0369 | 0.1613 | 0.1014 | 0.3226 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3450 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.7310 |
| predicted_AVG | 0.2347 |
| predicted_BB | 0.2810 |
| predicted_H | 0.8760 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.2854 |
| predicted_R | 0.5660 |
| predicted_RBI | 0.6440 |
| predicted_SLG | 0.4110 |
| predicted_SO | 1.0340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.3450 | 0.2624 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3910 | 3.7310 | 3.5332 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2347 | 0.2378 | model_form_blend |
| predicted_BB | 0.3440 | 0.2810 | 0.3177 | model_form_blend |
| predicted_H | 0.7400 | 0.8760 | 0.7969 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1000 | 0.1030 | 0.1013 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2854 | 0.2892 | model_form_blend |
| predicted_R | 0.4690 | 0.5660 | 0.5096 | model_form_blend |
| predicted_RBI | 0.4900 | 0.6440 | 0.5544 | model_form_blend |
| predicted_SLG | 0.3930 | 0.4110 | 0.4005 | model_form_blend |
| predicted_SO | 1.0940 | 1.0340 | 1.0689 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 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.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 | 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 | 20260614_HOU@KC |
| game_type | full |
| mlbID | 695600 |
| playerID | 695600 |
| playerName | Carter Jensen |
| pos | C |
| started | True |
| startingPosition | DH |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-14 |
| sl_k_percent | 28.9 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.298 |
| sl_xwoba | 0.272 |
| sl_xba | 0.197 |
| sl_xslg | 0.341 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 20.4 |
| sl_whiff_percent | 31.1 |
| 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.133 | 1.000 | 0.000 | Hitting_2B | 0.133 | 0.000 | 0.867 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.150 | 4.000 | 3.000 | Hitting_AB | 3.236 | 2.000 | 0.764 | 2.000 |
| predicted_AVG | 0.251 | 0.250 | 0.333 | Hitting_AVG | 0.223 | 0.500 | 0.027 | -0.250 |
| predicted_BB | 0.533 | 0.000 | 0.000 | Hitting_BB | 0.569 | 1.000 | -0.569 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.072 | 1.000 | -0.072 | -1.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.723 | 1.000 | 0.277 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_OBP | 0.348 | 0.250 | 0.333 | Hitting_OBP | 0.352 | 0.667 | -0.102 | -0.417 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.436 | 1.000 | -0.436 | -1.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.369 | 0.000 | -0.369 | 0.000 |
| predicted_SLG | 0.338 | 0.500 | 0.333 | Hitting_SLG | 0.317 | 0.500 | 0.183 | 0.000 |
| predicted_SO | 0.967 | 2.000 | 1.000 | Hitting_SO | 1.036 | 0.000 | 0.964 | 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: 0.9670 -> 2.0000 (boost 1.0330, worse) |
| Biggest Deboost | predicted_BB: 0.5330 -> 0.0000 (deboost -0.5330, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 2 | 2 | predicted_OBP: 0.3480 -> 0.3548 (boost 0.0068, better) | predicted_SO: 0.9670 -> 0.8900 (deboost -0.0770, better) | Final model input calibrated with local 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.2459 -> 0.2217 (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_H: 0.6945 -> 1.0000 (boost 0.3055, better) | predicted_BB: 0.5222 -> 0.0000 (deboost -0.5222, worse) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.220 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3847 -> 0.0000 (deboost -0.3847, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2217 -> 0.3330 (boost 0.1113, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2217 (deboost -0.1113, worse) | 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.133,
"predicted_3B": 0.0,
"predicted_AB": 3.15,
"predicted_AVG": 0.251,
"predicted_BB": 0.533,
"predicted_H": 0.68,
"predicted_HR": 0.06,
"predicted_OBP": 0.348,
"predicted_R": 0.4,
"predicted_RBI": 0.29,
"predicted_SLG": 0.338,
"predicted_SO": 0.967
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1384,
"predicted_3B": 0.0004,
"predicted_AB": 3.1334,
"predicted_AVG": 0.2459,
"predicted_BB": 0.5288,
"predicted_H": 0.7062,
"predicted_HBP": 0.106,
"predicted_HR": 0.0513,
"predicted_OBP": 0.3548,
"predicted_R": 0.3971,
"predicted_RBI": 0.2754,
"predicted_SLG": 0.3322,
"predicted_SO": 0.89
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1384,
"delta": 0.0054,
"percent_delta": 0.0406,
"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.15,
"after": 3.1334,
"delta": -0.0166,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2459,
"delta": -0.0051,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.533,
"after": 0.5288,
"delta": -0.0042,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.7062,
"delta": 0.0262,
"percent_delta": 0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0513,
"delta": -0.0087,
"percent_delta": -0.145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3548,
"delta": 0.0068,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.3971,
"delta": -0.0029,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2754,
"delta": -0.0146,
"percent_delta": -0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3322,
"delta": -0.0058,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.967,
"after": 0.89,
"delta": -0.077,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3548,
"delta": 0.0068,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.967,
"after": 0.89,
"delta": -0.077,
"percent_delta": -0.0796,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1384,
"predicted_3B": 0.0004,
"predicted_AB": 3.1334,
"predicted_AVG": 0.2217,
"predicted_BB": 0.5222,
"predicted_H": 0.6945,
"predicted_HBP": 0.106,
"predicted_HR": 0.0505,
"predicted_OBP": 0.3328,
"predicted_R": 0.3847,
"predicted_RBI": 0.2668,
"predicted_SLG": 0.3144,
"predicted_SO": 0.9011
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1384,
"after": 0.1384,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1334,
"after": 3.1334,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2459,
"after": 0.2217,
"delta": -0.0242,
"percent_delta": -0.0984,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5288,
"after": 0.5222,
"delta": -0.0066,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7062,
"after": 0.6945,
"delta": -0.0117,
"percent_delta": -0.0166,
"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.0513,
"after": 0.0505,
"delta": -0.0008,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3548,
"after": 0.3328,
"delta": -0.022,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3971,
"after": 0.3847,
"delta": -0.0124,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2754,
"after": 0.2668,
"delta": -0.0086,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3322,
"after": 0.3144,
"delta": -0.0178,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.89,
"after": 0.9011,
"delta": 0.0111,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2459,
"after": 0.2217,
"delta": -0.0242,
"percent_delta": -0.0984,
"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.220 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1384,
"after": 0.0,
"delta": -0.1384,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1334,
"after": 3.0,
"delta": -0.1334,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5222,
"after": 0.0,
"delta": -0.5222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6945,
"after": 1.0,
"delta": 0.3055,
"percent_delta": 0.4399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.106,
"after": 0.0,
"delta": -0.106,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0505,
"after": 0.0,
"delta": -0.0505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2668,
"after": 0.0,
"delta": -0.2668,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9011,
"after": 1.0,
"delta": 0.0989,
"percent_delta": 0.1098,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6945,
"after": 1.0,
"delta": 0.3055,
"percent_delta": 0.4399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5222,
"after": 0.0,
"delta": -0.5222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.3847,
"after": 0.0,
"delta": -0.3847,
"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.3847,
"after": 0.0,
"delta": -0.3847,
"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.2217,
"after": 0.333,
"delta": 0.1113,
"percent_delta": 0.502,
"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.3328,
"after": 0.333,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3144,
"after": 0.333,
"delta": 0.0186,
"percent_delta": 0.0592,
"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_AVG",
"before": 0.2217,
"after": 0.333,
"delta": 0.1113,
"percent_delta": 0.502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"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": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2217,
"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.3328,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3144,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2217,
"delta": -0.1113,
"percent_delta": -0.3344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3328,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3144,
"delta": -0.0186,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2217,
"delta": -0.1113,
"percent_delta": -0.3344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 1.0,
"delta": 0.867,
"percent_delta": 6.5188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.15,
"after": 4.0,
"delta": 0.85,
"percent_delta": 0.2698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2217,
"delta": -0.0293,
"percent_delta": -0.1167,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.533,
"after": 0.0,
"delta": -0.533,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3328,
"delta": -0.0152,
"percent_delta": -0.0437,
"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.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3144,
"delta": -0.0236,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.967,
"after": 2.0,
"delta": 1.033,
"percent_delta": 1.0683,
"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.967,
"after": 2.0,
"delta": 1.033,
"percent_delta": 1.0683,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.533,
"after": 0.0,
"delta": -0.533,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.150 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.533 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.338 | - |
| predicted_SO | 0.967 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.138 | 0.005 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.133 | -0.017 |
| predicted_AVG | 0.246 | -0.005 |
| predicted_BB | 0.529 | -0.004 |
| predicted_H | 0.706 | 0.026 |
| predicted_HBP | 0.106 | - |
| predicted_HR | 0.051 | -0.009 |
| predicted_OBP | 0.355 | 0.007 |
| predicted_R | 0.397 | -0.003 |
| predicted_RBI | 0.275 | -0.015 |
| predicted_SLG | 0.332 | -0.006 |
| predicted_SO | 0.890 | -0.077 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.138 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.133 | 0.000 |
| predicted_AVG | 0.222 | -0.024 |
| predicted_BB | 0.522 | -0.007 |
| predicted_H | 0.695 | -0.012 |
| predicted_HBP | 0.106 | 0.000 |
| predicted_HR | 0.051 | -0.001 |
| predicted_OBP | 0.333 | -0.022 |
| predicted_R | 0.385 | -0.012 |
| predicted_RBI | 0.267 | -0.009 |
| predicted_SLG | 0.314 | -0.018 |
| predicted_SO | 0.901 | 0.011 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.220 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.138 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.133 |
| predicted_AVG | 0.333 | 0.111 |
| predicted_BB | 0.000 | -0.522 |
| predicted_H | 1.000 | 0.305 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.333 | 0.000 |
| predicted_R | 0.000 | -0.385 |
| predicted_RBI | 0.000 | -0.267 |
| predicted_SLG | 0.333 | 0.019 |
| predicted_SO | 1.000 | 0.099 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 3.000 | 0.2857 | 0.4118 | 0.3571 | 0.2857 | 0.0000 | 0.0714 | 0.1429 | 0.2143 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 7.000 | 4.000 | 0.2500 | 0.4167 | 0.2857 | 0.2500 | 0.0000 | 0.0357 | 0.2500 | 0.1429 |
| season | 0.60 | 60 | - | 189.000 | 41.000 | 8.000 | 0.000 | 3.000 | 17.000 | 24.000 | 32.000 | 58.000 | 0.2169 | 0.3421 | 0.3069 | 0.2169 | 0.0159 | 0.0900 | 0.1693 | 0.3069 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.1100 |
| predicted_AVG | 0.2388 |
| predicted_BB | 0.5230 |
| predicted_H | 0.7430 |
| predicted_HBP | 0.1060 |
| predicted_HR | 0.0390 |
| predicted_OBP | 0.3643 |
| predicted_R | 0.3930 |
| predicted_RBI | 0.2550 |
| predicted_SLG | 0.3240 |
| predicted_SO | 0.7820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.1460 | 0.1384 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.1500 | 3.1100 | 3.1334 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2388 | 0.2459 | model_form_blend |
| predicted_BB | 0.5330 | 0.5230 | 0.5288 | model_form_blend |
| predicted_H | 0.6800 | 0.7430 | 0.7062 | model_form_blend |
| predicted_HBP | - | 0.1060 | 0.1060 | form_only |
| predicted_HR | 0.0600 | 0.0390 | 0.0513 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3643 | 0.3548 | model_form_blend |
| predicted_R | 0.4000 | 0.3930 | 0.3971 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2550 | 0.2754 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3240 | 0.3322 | model_form_blend |
| predicted_SO | 0.9670 | 0.7820 | 0.8900 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.217 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | LF |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 686555 |
| playerID | 686555 |
| playerName | Isaac Collins |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.3 |
| sl_xwoba | 0.305 |
| sl_xba | 0.22 |
| sl_xslg | 0.309 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 39.0 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 39.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 | 2.000 | 2.000 | 2.000 | Pitching_BB | 5.000 | 5.000 | -3.000 | -3.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 6.000 | 6.000 | -2.000 | -2.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 4.000 | 4.000 | 3.000 | 3.000 |
| predicted_IP | 3.200 | 3.200 | 3.200 | Pitching_InningsPitched | 4.000 | 4.000 | -0.800 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 3.000 | 3.000 | -2.000 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.0000 -> 3.2000 (deboost -0.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.0000 -> 3.2000 (deboost -0.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": "687765",
"player_name": "Mitch Spence",
"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": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 4.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 3.2,
"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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 3.2,
"delta": -0.8,
"percent_delta": -0.2,
"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": 4.0,
"after": 3.2,
"delta": -0.8,
"percent_delta": -0.2,
"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": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 3.2,
"predicted_R": 4.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 3.2,
"delta": -0.8,
"percent_delta": -0.2,
"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": 4.0,
"after": 3.2,
"delta": -0.8,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 4.000 | - |
| predicted_SO | 1.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 4.000 | 0.000 |
| predicted_H | 7.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 3.200 | -0.800 |
| predicted_SO | 1.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 4.000 | 6.000 | 4.000 | 5.000 | 3.000 | 1.000 | 13.5000 | 2.2500 | 1.5000 | 1.0000 | 1.2500 | 0.7500 | 0.2500 |
| last_10 | 0.35 | 1 | 4.000 | 6.000 | 4.000 | 5.000 | 3.000 | 1.000 | 13.5000 | 2.2500 | 1.5000 | 1.0000 | 1.2500 | 0.7500 | 0.2500 |
| season | 0.20 | 1 | 4.000 | 6.000 | 4.000 | 5.000 | 3.000 | 1.000 | 13.5000 | 2.2500 | 1.5000 | 1.0000 | 1.2500 | 0.7500 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0370 |
| predicted_ER | 2.6550 |
| predicted_ERA | 5.9739 |
| predicted_H | 3.9070 |
| predicted_HR | 0.6510 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.6130 |
| predicted_WHIP | 1.4860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.0370 | 2.0110 | model_form_blend |
| predicted_ER | 4.0000 | 2.6550 | 3.5993 | model_form_blend |
| predicted_ERA | - | 5.9739 | 5.9739 | form_only |
| predicted_H | 7.0000 | 3.9070 | 6.0785 | model_form_blend |
| predicted_HR | 1.0000 | 0.6510 | 0.8960 | model_form_blend |
| predicted_IP | 4.0000 | 4.0000 | 4.0000 | model_form_blend |
| predicted_SO | 1.0000 | 3.6130 | 1.7785 | model_form_blend |
| predicted_WHIP | - | 1.4860 | 1.4860 | 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 | 3.2 |
| H | 7 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 1 |
| HR | 1 |
| BF | 20 |
| 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 | 5 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 21 |
| Pitching_ER | 6 |
| Pitching_ERA | 13.50 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 84 |
| Pitching_R | 6 |
| Pitching_SO | 3 |
| Pitching_Strikes | 46 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260418_KC@NYY |
| game_type | full |
| mlbID | 687765 |
| playerID | 687765 |
| playerName | Mitch Spence |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-04-18 |
| game_pk | 823558.0 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 23.8 |
| sl_woba | 0.427 |
| sl_xwoba | 0.372 |
| sl_sweet_spot_percent | 23.1 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 38.5 |
| sl_whiff_percent | 19.4 |
| sl_swing_percent | 36.9 |
| sv_pitch_count | 84.0 |
| sv_outs_recorded_est | 12.0 |
| sv_release_speed | 88.5547619047619 |
| sv_release_spin_rate | 2503.2023809523807 |
| sv_effective_speed | 87.96428571428571 |
| sv_launch_speed | 85.00416666666666 |
| sv_launch_angle | 8.833333333333334 |
| sv_woba_value | 8.9 |
| sv_woba_denom | 21.0 |
| sv_delta_run_exp | 3.056 |
| sv_delta_home_win_exp | 0.004 |
| sl_avg_best_speed | 81.994195714 |
| sl_avg_hyper_speed | 94.052129231 |
| 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.633 | 1.000 | 0.367 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.933 | 1.000 | -0.933 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.003 | 1.200 | 0.097 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.167 | 1.000 | -1.167 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656638",
"player_name": "Alex Lange",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 2.000 | 5.000 | 5.000 | 7.000 | 0.000 | 3.1765 | 1.7647 | 0.3529 | 0.8823 | 0.8823 | 1.2353 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 8.000 | 6.000 | 12.000 | 0.000 | 1.8621 | 1.4483 | 0.2069 | 0.8276 | 0.6207 | 1.2414 | 0.0000 |
| season | 0.20 | 30 | 32.200 | 15.000 | 28.000 | 19.000 | 35.000 | 2.000 | 4.1327 | 1.4388 | 0.4592 | 0.8571 | 0.5816 | 1.0714 | 0.0612 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5690 |
| predicted_ER | 0.3990 |
| predicted_ERA | 3.5881 |
| predicted_H | 0.9080 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0870 |
| predicted_WHIP | 1.4773 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.5690 | 0.7992 | model_form_blend |
| predicted_ER | 0.0000 | 0.3990 | 0.1859 | model_form_blend |
| predicted_ERA | - | 3.5881 | 3.5881 | form_only |
| predicted_H | 0.0000 | 0.9080 | 0.4229 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0326 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0870 | 0.5063 | model_form_blend |
| predicted_WHIP | - | 1.4773 | 1.4773 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 5 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.13 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 31 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 20 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260613_HOU@KC |
| game_type | full |
| mlbID | 656638 |
| playerID | 656638 |
| playerName | Alex Lange |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-13 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.331 |
| sl_xwoba | 0.337 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 14.1 |
| sl_hard_hit_percent | 43.5 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 45.2 |
| sl_avg_best_speed | 80.43295381 |
| sl_avg_hyper_speed | 95.27254119 |
| 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.200 | 0.000 | -0.200 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.883 | 1.000 | 0.217 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.967 | 0.000 | 0.033 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663738",
"player_name": "Daniel Lynch IV",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 1.000 | 1.000 | 0.000 | 0.000 | 1.9286 | 0.4286 | 0.2143 | 0.2143 | 0.2143 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 2.000 | 6.000 | 2.000 | 3.000 | 0.000 | 2.0000 | 0.8889 | 0.2222 | 0.6667 | 0.2222 | 0.3333 | 0.0000 |
| season | 0.20 | 30 | 30.000 | 6.000 | 18.000 | 9.000 | 29.000 | 1.000 | 1.8000 | 0.9000 | 0.2000 | 0.6000 | 0.3000 | 0.9667 | 0.0333 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2920 |
| predicted_ER | 0.3430 |
| predicted_ERA | 3.0889 |
| predicted_H | 0.6890 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.5950 |
| predicted_WHIP | 0.9807 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2920 | 0.1334 | model_form_blend |
| predicted_ER | 0.0000 | 0.3430 | 0.1567 | model_form_blend |
| predicted_ERA | - | 3.0889 | 3.0889 | form_only |
| predicted_H | 0.0000 | 0.6890 | 0.3148 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0320 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.5950 | 0.8149 | model_form_blend |
| predicted_WHIP | - | 0.9807 | 0.9807 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.80 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_HOU@KC |
| game_type | full |
| mlbID | 663738 |
| playerID | 663738 |
| playerName | Daniel Lynch IV |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.243 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 35.1 |
| sl_whiff_percent | 32.2 |
| sl_swing_percent | 47.5 |
| sl_avg_best_speed | 75.443995385 |
| sl_avg_hyper_speed | 93.796465844 |
| 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.679 | 1.000 | -0.679 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.607 | 0.000 | -0.607 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.143 | 1.000 | -1.143 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.882 | 2.000 | 0.118 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.786 | 0.000 | -0.786 | 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": "668674",
"player_name": "Lucas Erceg",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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 | 4.000 | 6.000 | 4.000 | 1.000 | 3.6000 | 2.0000 | 0.4000 | 0.8000 | 1.2000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 8.000 | 16.000 | 7.000 | 8.000 | 1.000 | 7.2000 | 2.3000 | 0.8000 | 1.6000 | 0.7000 | 0.8000 | 0.1000 |
| season | 0.20 | 27 | 26.100 | 14.000 | 27.000 | 19.000 | 22.000 | 1.000 | 4.7848 | 1.7468 | 0.5316 | 1.0253 | 0.7215 | 0.8354 | 0.0380 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6510 |
| predicted_ER | 0.5320 |
| predicted_ERA | 4.7893 |
| predicted_H | 1.0500 |
| predicted_HR | 0.1390 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8690 |
| predicted_WHIP | 1.7014 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6510 | 0.2885 | model_form_blend |
| predicted_ER | 0.0000 | 0.5320 | 0.2358 | model_form_blend |
| predicted_ERA | - | 4.7893 | 4.7893 | form_only |
| predicted_H | 0.0000 | 1.0500 | 0.4653 | model_form_blend |
| predicted_HR | 0.0000 | 0.1390 | 0.0616 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8690 | 0.3851 | model_form_blend |
| predicted_WHIP | - | 1.7014 | 1.7014 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.81 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 5 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 43 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 27 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260612_HOU@KC |
| game_type | full |
| mlbID | 668674 |
| playerID | 668674 |
| playerName | Lucas Erceg |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-12 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.39 |
| sl_xwoba | 0.325 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 39.0 |
| sl_whiff_percent | 21.5 |
| sl_swing_percent | 46.3 |
| sl_avg_best_speed | 74.159430244 |
| sl_avg_hyper_speed | 94.156275432 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.565 | 2.000 | -0.565 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.870 | 1.000 | -0.870 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.891 | 0.100 | -0.691 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.783 | 0.000 | 1.217 | 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": "621381",
"player_name": "Matt Strahm",
"position": "Middle Reliever",
"team": "KC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 5.000 | 5.000 | 0.000 | 1.000 | 4.000 | 10.3846 | 1.1538 | 1.1539 | 1.1539 | 0.0000 | 0.2308 | 0.9231 |
| last_10 | 0.35 | 10 | 9.000 | 8.000 | 10.000 | 1.000 | 4.000 | 6.000 | 8.0000 | 1.2222 | 0.8889 | 1.1111 | 0.1111 | 0.4444 | 0.6667 |
| season | 0.20 | 23 | 21.200 | 13.000 | 20.000 | 7.000 | 18.000 | 8.000 | 5.4000 | 1.2462 | 0.6000 | 0.9231 | 0.3231 | 0.8308 | 0.3692 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1550 |
| predicted_ER | 0.4530 |
| predicted_ERA | 6.3547 |
| predicted_H | 0.6590 |
| predicted_HR | 0.2640 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.4480 |
| predicted_WHIP | 1.2699 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1550 | 0.0655 | model_form_blend |
| predicted_ER | 0.0000 | 0.4530 | 0.1914 | model_form_blend |
| predicted_ERA | - | 6.3547 | 6.3547 | form_only |
| predicted_H | 0.0000 | 0.6590 | 0.2785 | model_form_blend |
| predicted_HR | 0.0000 | 0.2640 | 0.1116 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 2.0000 | 0.4480 | 1.3441 | model_form_blend |
| predicted_WHIP | - | 1.2699 | 1.2699 | 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 | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 2 |
| 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 | 5.40 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 8 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260613_HOU@KC |
| game_type | full |
| mlbID | 621381 |
| playerID | 621381 |
| playerName | Matt Strahm |
| pos | P |
| started | False |
| startingPosition | P |
| team | KC |
| teamID | 12 |
| game_date | 2026-06-13 |
| sl_k_percent | 19.1 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.374 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 26.9 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 43.3 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 49.0 |
| sl_avg_best_speed | 81.282287353 |
| sl_avg_hyper_speed | 93.817202239 |
| Field | Value |
|---|---|
| Pitcher | Andrew Alvarez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1402 |
| ESPN Rank | 212 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1556 |
| Avg Velo | 86.9491 |
| Avg Spin | 2568.2694 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 4 |
| Pre SO | 4 |
| Season ERA | 3.6986 |
| Season WHIP | 1.4384 |
| Role Avg IP | 4.3330 |
| Recent Avg IP | 4.3330 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"edges": {
"quality_edge": 0.233,
"offense_edge": 0.1388,
"opponent_offense_edge": -0.1373,
"defense_strength": -0.1197,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0112,
"run_prevention": 0.9784,
"strikeout": 1.018
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "674841",
"profile": {
"available": true,
"pitcher_id": "674841",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 35.0,
"k_percent": 25.2,
"bb_percent": 10.7,
"woba": 0.334,
"xwoba": 0.339,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 45.5,
"avg_best_speed": 79.2085,
"avg_hyper_speed": 95.4062,
"whiff_percent": 28.4,
"swing_percent": 45.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.6135,
"command_and_miss": 0.2257,
"regression_edge": -0.1429,
"xwoba_edge": -0.6857,
"barrel_edge": -0.0667,
"hard_hit_edge": -0.9857,
"whiff_edge": 0.4143,
"bb_edge": -0.4,
"pitch_design_score": -0.1556
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "674841",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 33,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 86.9490516726404,
"release_spin_rate": 2568.2694145758664,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 86.9490516726404,
"release_spin_rate": 2568.2694145758664,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9491,
"release_spin_rate": 2568.2694,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1556,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1116,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1402,
"sample_weight": 0.45,
"run_prevention_factor": 1.0119,
"strikeout_factor": 1.0139,
"walk_factor": 1.0144,
"homer_factor": 1.0294,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "674841",
"espn_id": 4300668,
"player_name": "Andrew Alvarez",
"team": "WSH",
"role": "pitcher",
"espn_rank": 212,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 212,
"gp_value": 7.0,
"gp_rank": 440,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.6986,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 24.1,
"ip_rank": 321,
"h_value": 24.0,
"h_rank": 268,
"er_value": 10.0,
"er_rank": 308,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 26.0,
"k_rank": 281,
"k_per_9_value": 9.616439,
"k_per_9_rank": 23,
"whip_value": 1.4383,
"whip_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0054,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0054,
"adjusted": 5
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0065,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0132,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0063,
"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": 24.1,
"ER": 10,
"H": 24,
"BB": 11,
"SO": 26,
"HR": 2,
"ERA": 3.6986301369863015,
"WHIP": 1.4383561643835616,
"K9": 9.616438356164384,
"HR9": 0.7397260273972603,
"games_pitched": 7,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "674841",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 33,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 86.9490516726404,
"release_spin_rate": 2568.2694145758664,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 33,
"pitch_usage": 0.0,
"release_speed": 86.9490516726404,
"release_spin_rate": 2568.2694145758664,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9491,
"release_spin_rate": 2568.2694,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1556,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1116,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.7627118644067797,
"last_10": 0.23728813559322032
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"role": "pitcher",
"player_id": "674841",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 17.0,
"ER": 8.0,
"R": 8.0,
"H": 17.0,
"BB": 10.0,
"SO": 16.0,
"HR": 2.0,
"BF": 74.0,
"Pitches": 320.0
},
"per_game": {
"IP": 3.1,
"ER": 1.6,
"R": 1.6,
"H": 3.4,
"BB": 2.0,
"SO": 3.2,
"HR": 0.4,
"BF": 14.8,
"Pitches": 64.0
},
"rates": {
"ERA": 4.2353,
"WHIP": 1.5882,
"ER_per_IP": 0.47059,
"H_per_IP": 1.0,
"BB_per_IP": 0.58824,
"SO_per_IP": 0.94118,
"HR_per_IP": 0.11765
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 24.1,
"ER": 10.0,
"R": 10.0,
"H": 24.0,
"BB": 11.0,
"SO": 26.0,
"HR": 2.0,
"BF": 103.0,
"Pitches": 430.0
},
"per_game": {
"IP": 3.1,
"ER": 1.4286,
"R": 1.4286,
"H": 3.4286,
"BB": 1.5714,
"SO": 3.7143,
"HR": 0.2857,
"BF": 14.7143,
"Pitches": 61.4286
},
"rates": {
"ERA": 3.6986,
"WHIP": 1.4384,
"ER_per_IP": 0.41096,
"H_per_IP": 0.9863,
"BB_per_IP": 0.45205,
"SO_per_IP": 1.06849,
"HR_per_IP": 0.08219
}
},
"season": {
"games": 7,
"totals": {
"IP": 24.1,
"ER": 10.0,
"R": 10.0,
"H": 24.0,
"BB": 11.0,
"SO": 26.0,
"HR": 2.0,
"BF": 103.0,
"Pitches": 430.0
},
"per_game": {
"IP": 3.1,
"ER": 1.4286,
"R": 1.4286,
"H": 3.4286,
"BB": 1.5714,
"SO": 3.7143,
"HR": 0.2857,
"BF": 14.7143,
"Pitches": 61.4286
},
"rates": {
"ERA": 3.6986,
"WHIP": 1.4384,
"ER_per_IP": 0.41096,
"H_per_IP": 0.9863,
"BB_per_IP": 0.45205,
"SO_per_IP": 1.06849,
"HR_per_IP": 0.08219
}
}
},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 1.906,
"predicted_H": 3.974,
"predicted_BB": 1.912,
"predicted_SO": 3.85,
"predicted_HR": 0.5,
"predicted_ERA": 4.2581,
"predicted_WHIP": 1.4612
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5261,
"form_weight": 0.4739,
"form_reliability": 0.5833,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.0,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.906,
"final": 1.9554,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 3.974,
"final": 4.5137,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.912,
"final": 3.0104,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.85,
"final": 3.9289,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.5,
"final": 0.237,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2581,
"final": 4.2581,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4612,
"final": 1.4612,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brad Lord |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1494 |
| ESPN Rank | 48 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0458 |
| Avg Velo | 90.5451 |
| Avg Spin | 2417.7885 |
| 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.2000 |
| Season WHIP | 1.0222 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"edges": {
"quality_edge": 0.233,
"offense_edge": 0.1388,
"opponent_offense_edge": -0.1373,
"defense_strength": -0.1197,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0112,
"run_prevention": 0.9784,
"strikeout": 1.018
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695418",
"profile": {
"available": true,
"pitcher_id": "695418",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 143.0,
"k_percent": 20.0,
"bb_percent": 7.0,
"woba": 0.253,
"xwoba": 0.294,
"sweet_spot_percent": 23.1,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 40.0,
"avg_best_speed": 74.1968,
"avg_hyper_speed": 94.1275,
"whiff_percent": 22.5,
"swing_percent": 50.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.7706,
"command_and_miss": -0.2186,
"regression_edge": -1.1714,
"xwoba_edge": 0.6,
"barrel_edge": 0.5778,
"hard_hit_edge": -0.2,
"whiff_edge": -0.4286,
"bb_edge": 0.525,
"pitch_design_score": 0.0458
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695418",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 47,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 47,
"pitch_usage": 0.0,
"release_speed": 90.54507880169423,
"release_spin_rate": 2417.7885343088233,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 47,
"pitch_usage": 0.0,
"release_speed": 90.54507880169423,
"release_spin_rate": 2417.7885343088233,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5451,
"release_spin_rate": 2417.7885,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0458,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3268,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1494,
"sample_weight": 0.572,
"run_prevention_factor": 0.9873,
"strikeout_factor": 0.9814,
"walk_factor": 0.976,
"homer_factor": 0.9678,
"woba_minus_xwoba": -0.041,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "695418",
"espn_id": 4866810,
"player_name": "Brad Lord",
"team": "WSH",
"role": "pitcher",
"espn_rank": 48,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 48,
"gp_value": 21.0,
"gp_rank": 159,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.2,
"era_rank": null,
"w_value": 4.0,
"w_rank": 59,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 45.0,
"ip_rank": 140,
"h_value": 33.0,
"h_rank": 177,
"er_value": 11.0,
"er_rank": 281,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 13.0,
"bb_rank": 213,
"k_value": 37.0,
"k_rank": 168,
"k_per_9_value": 7.4,
"k_per_9_rank": 32,
"whip_value": 1.0222,
"whip_rank": null,
"war_value": 1.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9863,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9816,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9894,
"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.1,
"ER": 1,
"H": 10,
"BB": 7,
"SO": 21,
"HR": 1,
"ERA": 0.42187499999999994,
"WHIP": 0.7968749999999999,
"K9": 8.859374999999998,
"HR9": 0.42187499999999994,
"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-06-13T00:00:00"
}{
"available": true,
"pitcher_id": "695418",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 47,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 47,
"pitch_usage": 0.0,
"release_speed": 90.54507880169423,
"release_spin_rate": 2417.7885343088233,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 47,
"pitch_usage": 0.0,
"release_speed": 90.54507880169423,
"release_spin_rate": 2417.7885343088233,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5451,
"release_spin_rate": 2417.7885,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0458,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3268,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.911,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6406,
"prior_weight": 0.3594
},
"role": "pitcher",
"player_id": "695418",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 7.0,
"SO": 8.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 165.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 1.4,
"SO": 1.6,
"HR": 0.0,
"BF": 7.8,
"Pitches": 33.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.3,
"BB_per_IP": 0.7,
"SO_per_IP": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 21.1,
"ER": 1.0,
"R": 1.0,
"H": 10.0,
"BB": 7.0,
"SO": 21.0,
"HR": 1.0,
"BF": 83.0,
"Pitches": 346.0
},
"per_game": {
"IP": 2.0,
"ER": 0.1,
"R": 0.1,
"H": 1.0,
"BB": 0.7,
"SO": 2.1,
"HR": 0.1,
"BF": 8.3,
"Pitches": 34.6
},
"rates": {
"ERA": 0.4219,
"WHIP": 0.7969,
"ER_per_IP": 0.04688,
"H_per_IP": 0.46875,
"BB_per_IP": 0.32812,
"SO_per_IP": 0.98438,
"HR_per_IP": 0.04688
}
},
"season": {
"games": 21,
"totals": {
"IP": 45.0,
"ER": 11.0,
"R": 12.0,
"H": 33.0,
"BB": 13.0,
"SO": 37.0,
"HR": 4.0,
"BF": 185.0,
"Pitches": 754.0
},
"per_game": {
"IP": 2.0,
"ER": 0.5238,
"R": 0.5714,
"H": 1.5714,
"BB": 0.619,
"SO": 1.7619,
"HR": 0.1905,
"BF": 8.8095,
"Pitches": 35.9048
},
"rates": {
"ERA": 2.2,
"WHIP": 1.0222,
"ER_per_IP": 0.24444,
"H_per_IP": 0.73333,
"BB_per_IP": 0.28889,
"SO_per_IP": 0.82222,
"HR_per_IP": 0.08889
}
}
},
"weighted_prediction": {
"predicted_IP": 1.2,
"predicted_ER": 0.361,
"predicted_H": 1.042,
"predicted_BB": 0.725,
"predicted_SO": 1.464,
"predicted_HR": 0.122,
"predicted_ERA": 1.9824,
"predicted_WHIP": 1.0771
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5018,
"form_weight": 0.4982,
"form_reliability": 0.6406,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.911,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6406,
"prior_weight": 0.3594
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.2,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.361,
"final": 0.1798,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.042,
"final": 0.5191,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.725,
"final": 0.863,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.464,
"final": 1.2311,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.122,
"final": 0.0608,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.9824,
"final": 1.9824,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0771,
"final": 1.0771,
"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.0276 |
| ESPN Rank | 208 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.5410 |
| Season WHIP | 1.2295 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"edges": {
"quality_edge": 0.233,
"offense_edge": 0.1388,
"opponent_offense_edge": -0.1373,
"defense_strength": -0.1197,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0112,
"run_prevention": 0.9784,
"strikeout": 1.018
},
"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.6,
"bb_percent": 15.5,
"woba": 0.283,
"xwoba": 0.307,
"sweet_spot_percent": 24.0,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 44.0,
"avg_best_speed": 80.8712,
"avg_hyper_speed": 94.0646,
"whiff_percent": 23.8,
"swing_percent": 44.4
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.204,
"command_and_miss": -0.4114,
"regression_edge": -0.6857,
"xwoba_edge": 0.2286,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.7714,
"whiff_edge": -0.2429,
"bb_edge": -1.6,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "690925",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0276,
"sample_weight": 0.45,
"run_prevention_factor": 1.0023,
"strikeout_factor": 0.9954,
"walk_factor": 1.0576,
"homer_factor": 1.0012,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690925",
"espn_id": 4313143,
"player_name": "Clayton Beeter",
"team": "WSH",
"role": "pitcher",
"espn_rank": 208,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 208,
"gp_value": 19.0,
"gp_rank": 186,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.5409,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 4.0,
"sv_rank": 30,
"hld_value": 3.0,
"hld_rank": 139,
"ip_value": 20.1,
"ip_rank": 368,
"h_value": 12.0,
"h_rank": 449,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 13.0,
"bb_rank": 213,
"k_value": 21.0,
"k_rank": 336,
"k_per_9_value": 9.295082,
"k_per_9_rank": 24,
"whip_value": 1.2295,
"whip_rank": null,
"war_value": 0.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.001,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0259,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0005,
"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": 11.0,
"ER": 4,
"H": 8,
"BB": 5,
"SO": 14,
"HR": 0,
"ERA": 3.272727272727273,
"WHIP": 1.1818181818181819,
"K9": 11.454545454545455,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "690925",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.026,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4461,
"prior_weight": 0.5539
},
"role": "pitcher",
"player_id": "690925",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 4.8,
"Pitches": 16.2
},
"rates": {
"ERA": 6.3529,
"WHIP": 1.2353,
"ER_per_IP": 0.70588,
"H_per_IP": 1.05882,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 5.0,
"SO": 14.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 170.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.5,
"SO": 1.4,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.0
},
"rates": {
"ERA": 3.2727,
"WHIP": 1.1818,
"ER_per_IP": 0.36364,
"H_per_IP": 0.72727,
"BB_per_IP": 0.45455,
"SO_per_IP": 1.27273,
"HR_per_IP": 0.0
}
},
"season": {
"games": 19,
"totals": {
"IP": 20.1,
"ER": 8.0,
"R": 8.0,
"H": 12.0,
"BB": 13.0,
"SO": 21.0,
"HR": 2.0,
"BF": 87.0,
"Pitches": 332.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4211,
"R": 0.4211,
"H": 0.6316,
"BB": 0.6842,
"SO": 1.1053,
"HR": 0.1053,
"BF": 4.5789,
"Pitches": 17.4737
},
"rates": {
"ERA": 3.541,
"WHIP": 1.2295,
"ER_per_IP": 0.39344,
"H_per_IP": 0.59016,
"BB_per_IP": 0.63934,
"SO_per_IP": 1.03279,
"HR_per_IP": 0.09836
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.509,
"predicted_H": 0.917,
"predicted_BB": 0.363,
"predicted_SO": 1.056,
"predicted_HR": 0.089,
"predicted_ERA": 4.5772,
"predicted_WHIP": 1.2807
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.584,
"form_weight": 0.416,
"form_reliability": 0.4461,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.026,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4461,
"prior_weight": 0.5539
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.509,
"final": 0.2117,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.917,
"final": 0.3815,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.363,
"final": 0.151,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.056,
"final": 1.0233,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.037,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5772,
"final": 4.5772,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2807,
"final": 1.2807,
"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.4319 |
| ESPN Rank | 555 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 4.2078 |
| Season WHIP | 1.5584 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"edges": {
"quality_edge": 0.233,
"offense_edge": 0.1388,
"opponent_offense_edge": -0.1373,
"defense_strength": -0.1197,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0112,
"run_prevention": 0.9784,
"strikeout": 1.018
},
"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.9,
"woba": 0.356,
"xwoba": 0.368,
"sweet_spot_percent": 45.1,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 50.0,
"avg_best_speed": 84.9005,
"avg_hyper_speed": 95.9697,
"whiff_percent": 24.2,
"swing_percent": 50.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.5061,
"command_and_miss": -0.3157,
"regression_edge": -0.3429,
"xwoba_edge": -1.5143,
"barrel_edge": -1.4,
"hard_hit_edge": -1.6286,
"whiff_edge": -0.1857,
"bb_edge": -0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681402",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.4319,
"sample_weight": 0.45,
"run_prevention_factor": 1.0367,
"strikeout_factor": 0.9902,
"walk_factor": 1.0162,
"homer_factor": 1.1002,
"woba_minus_xwoba": -0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681402",
"espn_id": 41552,
"player_name": "Gus Varland",
"team": "WSH",
"role": "pitcher",
"espn_rank": 555,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 555,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.2597,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 5.0,
"sv_rank": 26,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 25.2,
"ip_rank": 306,
"h_value": 30.0,
"h_rank": 200,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 13.0,
"bb_rank": 213,
"k_value": 24.0,
"k_rank": 302,
"k_per_9_value": 8.415585,
"k_per_9_rank": 26,
"whip_value": 1.6753,
"whip_rank": null,
"war_value": -0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0165,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0165,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0451,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9956,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.0,
"ER": 4,
"H": 9,
"BB": 6,
"SO": 6,
"HR": 1,
"ERA": 4.0,
"WHIP": 1.6666666666666667,
"K9": 6.0,
"HR9": 1.0,
"games_pitched": 9,
"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-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "681402",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.082,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5041,
"prior_weight": 0.4959
},
"role": "pitcher",
"player_id": "681402",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 5.0,
"SO": 5.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 111.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 1.0,
"SO": 1.0,
"HR": 0.2,
"BF": 4.6,
"Pitches": 22.2
},
"rates": {
"ERA": 6.2308,
"WHIP": 2.3077,
"ER_per_IP": 0.69231,
"H_per_IP": 1.15385,
"BB_per_IP": 1.15385,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 5.0,
"H": 9.0,
"BB": 7.0,
"SO": 7.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 173.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.9,
"BB": 0.7,
"SO": 0.7,
"HR": 0.1,
"BF": 4.4,
"Pitches": 17.3
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.6552,
"ER_per_IP": 0.41379,
"H_per_IP": 0.93103,
"BB_per_IP": 0.72414,
"SO_per_IP": 0.72414,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 27,
"totals": {
"IP": 25.2,
"ER": 12.0,
"R": 13.0,
"H": 28.0,
"BB": 12.0,
"SO": 24.0,
"HR": 2.0,
"BF": 116.0,
"Pitches": 433.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4444,
"R": 0.4815,
"H": 1.037,
"BB": 0.4444,
"SO": 0.8889,
"HR": 0.0741,
"BF": 4.2963,
"Pitches": 16.037
},
"rates": {
"ERA": 4.2078,
"WHIP": 1.5584,
"ER_per_IP": 0.46753,
"H_per_IP": 1.09091,
"BB_per_IP": 0.46753,
"SO_per_IP": 0.93506,
"HR_per_IP": 0.07792
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.523,
"predicted_H": 1.018,
"predicted_BB": 0.616,
"predicted_SO": 0.947,
"predicted_HR": 0.15,
"predicted_ERA": 4.7106,
"predicted_WHIP": 1.6338
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5595,
"form_weight": 0.4405,
"form_reliability": 0.5041,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.082,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5041,
"prior_weight": 0.4959
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.523,
"final": 0.7899,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.018,
"final": 1.0079,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.616,
"final": 0.8309,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.947,
"final": 0.9767,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.15,
"final": 0.6256,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7106,
"final": 4.7106,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6338,
"final": 1.6338,
"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 | Orlando Ribalta |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2536 |
| ESPN Rank | 98 |
| 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 | 1 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 1.8000 |
| Season WHIP | 0.9500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "WAS",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 399.0,
"runs_allowed": 398.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0128,
"avg_runs_scored": 5.1154,
"avg_runs_allowed": 5.1026,
"offense_index": 1.1388,
"defense_index": 0.8803,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 4.2,
"run_differential": 20.0
},
"available": true,
"quality_score": 0.0257
},
"opponent": {
"team": "KC",
"games": 80,
"wins": 30,
"losses": 50,
"win_pct": 0.375,
"runs_scored": 310.0,
"runs_allowed": 376.0,
"run_differential": -66.0,
"run_differential_per_game": -0.825,
"avg_runs_scored": 3.875,
"avg_runs_allowed": 4.7,
"offense_index": 0.8627,
"defense_index": 0.9557,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2073
},
"edges": {
"quality_edge": 0.233,
"offense_edge": 0.1388,
"opponent_offense_edge": -0.1373,
"defense_strength": -0.1197,
"opponent_defense_weakness": 0.0443,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0112,
"run_prevention": 0.9784,
"strikeout": 1.018
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687377",
"profile": {
"available": true,
"pitcher_id": "687377",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 50.0,
"k_percent": 18.2,
"bb_percent": 9.1,
"woba": 0.241,
"xwoba": 0.267,
"sweet_spot_percent": 21.4,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 30.4,
"avg_best_speed": 70.113,
"avg_hyper_speed": 92.3592,
"whiff_percent": 22.8,
"swing_percent": 51.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.3359,
"command_and_miss": -0.4243,
"regression_edge": -0.7429,
"xwoba_edge": 1.3714,
"barrel_edge": 0.4222,
"hard_hit_edge": 1.1714,
"whiff_edge": -0.3857,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687377",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2536,
"sample_weight": 0.45,
"run_prevention_factor": 0.9784,
"strikeout_factor": 0.9815,
"walk_factor": 1.0,
"homer_factor": 0.9452,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687377",
"espn_id": 5132036,
"player_name": "Orlando Ribalta",
"team": "WSH",
"role": "pitcher",
"espn_rank": 98,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 98,
"gp_value": 20.0,
"gp_rank": 171,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.8,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 4.0,
"hld_rank": 113,
"ip_value": 20.0,
"ip_rank": 372,
"h_value": 12.0,
"h_rank": 449,
"er_value": 4.0,
"er_rank": 522,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 14.0,
"k_rank": 418,
"k_per_9_value": 6.2999997,
"k_per_9_rank": 30,
"whip_value": 0.95,
"whip_rank": null,
"war_value": 0.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9903,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9903,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9753,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9917,
"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": 5,
"SO": 5,
"HR": 1,
"ERA": 1.8000000000000003,
"WHIP": 1.1,
"K9": 4.500000000000001,
"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-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "687377",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.96,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.442,
"prior_weight": 0.558
},
"role": "pitcher",
"player_id": "687377",
"report_date": "20260615_K",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 2.0,
"SO": 2.0,
"HR": 1.0,
"BF": 17.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 0.4,
"HR": 0.2,
"BF": 3.4,
"Pitches": 13.6
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.1538,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.46154,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 3.0,
"H": 6.0,
"BB": 5.0,
"SO": 5.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.6,
"BB": 0.5,
"SO": 0.5,
"HR": 0.1,
"BF": 3.9,
"Pitches": 15.6
},
"rates": {
"ERA": 1.8,
"WHIP": 1.1,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.5,
"SO_per_IP": 0.5,
"HR_per_IP": 0.1
}
},
"season": {
"games": 20,
"totals": {
"IP": 20.0,
"ER": 4.0,
"R": 5.0,
"H": 12.0,
"BB": 7.0,
"SO": 14.0,
"HR": 1.0,
"BF": 77.0,
"Pitches": 316.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.25,
"H": 0.6,
"BB": 0.35,
"SO": 0.7,
"HR": 0.05,
"BF": 3.85,
"Pitches": 15.8
},
"rates": {
"ERA": 1.8,
"WHIP": 0.95,
"ER_per_IP": 0.2,
"H_per_IP": 0.6,
"BB_per_IP": 0.35,
"SO_per_IP": 0.7,
"HR_per_IP": 0.05
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.372,
"predicted_H": 0.826,
"predicted_BB": 0.402,
"predicted_SO": 0.752,
"predicted_HR": 0.147,
"predicted_ERA": 3.344,
"predicted_WHIP": 1.2276
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5858,
"form_weight": 0.4142,
"form_reliability": 0.442,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.96,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.442,
"prior_weight": 0.558
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.372,
"final": 0.1541,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.826,
"final": 0.9279,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.402,
"final": 0.7523,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.752,
"final": 1.483,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.147,
"final": 0.0609,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.344,
"final": 3.344,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2276,
"final": 1.2276,
"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.179 | 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 | 3.054 | 3.000 | 3.000 | Hitting_AB | 3.329 | 3.000 | -0.329 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.333 | Hitting_AVG | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_BB | 0.446 | 1.000 | 0.000 | Hitting_BB | 0.538 | 1.000 | 0.462 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_H | 0.310 | 0.000 | 1.000 | Hitting_H | 0.842 | 0.000 | -0.842 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_OBP | 0.285 | 0.250 | 0.333 | Hitting_OBP | 0.369 | 0.250 | -0.119 | 0.000 |
| predicted_R | 0.554 | 0.000 | 1.000 | Hitting_R | 0.658 | 0.000 | -0.658 | 0.000 |
| predicted_RBI | 0.200 | 0.000 | 0.000 | Hitting_RBI | 0.589 | 0.000 | -0.589 | 0.000 |
| predicted_SLG | 0.405 | 0.000 | 0.333 | Hitting_SLG | 0.517 | 0.000 | -0.517 | 0.000 |
| predicted_SO | 0.607 | 0.000 | 1.000 | Hitting_SO | 0.671 | 0.000 | -0.671 | 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.4460 -> 1.0000 (boost 0.5540, better) |
| Biggest Deboost | predicted_SO: 0.6070 -> 0.0000 (deboost -0.6070, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.3100 -> 0.4607 (boost 0.1507, better) | predicted_AVG: 0.2370 -> 0.2238 (deboost -0.0132, 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.4084 -> 0.3163 (deboost -0.0921, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.6043 -> 1.0000 (boost 0.3957, worse) | predicted_H: 0.4744 -> 0.0000 (deboost -0.4744, worse) | AB rounded to 3 (raw=3.15), rates preserved: AVG=0.150 HR/AB=0.038 |
| 5 | consistency_constraints | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1504 -> 0.3330 (boost 0.1826, better) | - | 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1504 (deboost -0.1826, worse) | 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.179,
"predicted_3B": 0.0,
"predicted_AB": 3.054,
"predicted_AVG": 0.237,
"predicted_BB": 0.446,
"predicted_H": 0.31,
"predicted_HR": 0.07,
"predicted_OBP": 0.285,
"predicted_R": 0.554,
"predicted_RBI": 0.2,
"predicted_SLG": 0.405,
"predicted_SO": 0.607
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1621,
"predicted_3B": 0.0008,
"predicted_AB": 3.1545,
"predicted_AVG": 0.2238,
"predicted_BB": 0.4135,
"predicted_H": 0.4607,
"predicted_HBP": 0.084,
"predicted_HR": 0.1161,
"predicted_OBP": 0.2913,
"predicted_R": 0.5388,
"predicted_RBI": 0.2951,
"predicted_SLG": 0.4084,
"predicted_SO": 0.6119
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.1621,
"delta": -0.0169,
"percent_delta": -0.0944,
"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": 3.054,
"after": 3.1545,
"delta": 0.1005,
"percent_delta": 0.0329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2238,
"delta": -0.0132,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.446,
"after": 0.4135,
"delta": -0.0325,
"percent_delta": -0.0729,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.4607,
"delta": 0.1507,
"percent_delta": 0.4861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1161,
"delta": 0.0461,
"percent_delta": 0.6586,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.2913,
"delta": 0.0063,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.5388,
"delta": -0.0152,
"percent_delta": -0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.2951,
"delta": 0.0951,
"percent_delta": 0.4755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4084,
"delta": 0.0034,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.607,
"after": 0.6119,
"delta": 0.0049,
"percent_delta": 0.0081,
"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.31,
"after": 0.4607,
"delta": 0.1507,
"percent_delta": 0.4861,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2238,
"delta": -0.0132,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1621,
"predicted_3B": 0.0008,
"predicted_AB": 3.1545,
"predicted_AVG": 0.1504,
"predicted_BB": 0.4187,
"predicted_H": 0.4744,
"predicted_HBP": 0.084,
"predicted_HR": 0.1199,
"predicted_OBP": 0.2499,
"predicted_R": 0.5664,
"predicted_RBI": 0.3102,
"predicted_SLG": 0.3163,
"predicted_SO": 0.6043
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1621,
"after": 0.1621,
"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.1545,
"after": 3.1545,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2238,
"after": 0.1504,
"delta": -0.0734,
"percent_delta": -0.328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4135,
"after": 0.4187,
"delta": 0.0052,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4607,
"after": 0.4744,
"delta": 0.0137,
"percent_delta": 0.0297,
"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.1161,
"after": 0.1199,
"delta": 0.0038,
"percent_delta": 0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2913,
"after": 0.2499,
"delta": -0.0414,
"percent_delta": -0.1421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5388,
"after": 0.5664,
"delta": 0.0276,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2951,
"after": 0.3102,
"delta": 0.0151,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4084,
"after": 0.3163,
"delta": -0.0921,
"percent_delta": -0.2255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6119,
"after": 0.6043,
"delta": -0.0076,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4084,
"after": 0.3163,
"delta": -0.0921,
"percent_delta": -0.2255,
"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.150 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1621,
"after": 0.0,
"delta": -0.1621,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1545,
"after": 3.0,
"delta": -0.1545,
"percent_delta": -0.049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4187,
"after": 0.0,
"delta": -0.4187,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4744,
"after": 0.0,
"delta": -0.4744,
"percent_delta": -1.0,
"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.1199,
"after": 0.0,
"delta": -0.1199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3102,
"after": 0.0,
"delta": -0.3102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6043,
"after": 1.0,
"delta": 0.3957,
"percent_delta": 0.6548,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6043,
"after": 1.0,
"delta": 0.3957,
"percent_delta": 0.6548,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4744,
"after": 0.0,
"delta": -0.4744,
"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": 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.5664,
"after": 1.0,
"delta": 0.4336,
"percent_delta": 0.7655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 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.1504,
"after": 0.333,
"delta": 0.1826,
"percent_delta": 1.2141,
"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.2499,
"after": 0.333,
"delta": 0.0831,
"percent_delta": 0.3325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3163,
"after": 0.333,
"delta": 0.0167,
"percent_delta": 0.0528,
"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.1504,
"after": 0.333,
"delta": 0.1826,
"percent_delta": 1.2141,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1504,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2499,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3163,
"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.333,
"after": 0.1504,
"delta": -0.1826,
"percent_delta": -0.5484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2499,
"delta": -0.0831,
"percent_delta": -0.2495,
"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.3163,
"delta": -0.0167,
"percent_delta": -0.0501,
"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.1504,
"delta": -0.1826,
"percent_delta": -0.5484,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.179,
"after": 0.0,
"delta": -0.179,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.054,
"after": 3.0,
"delta": -0.054,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.1504,
"delta": -0.0866,
"percent_delta": -0.3654,
"direction": "deboost",
"projection_effect": "worse",
"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.31,
"after": 0.0,
"delta": -0.31,
"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.285,
"after": 0.2499,
"delta": -0.0351,
"percent_delta": -0.1232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.0,
"delta": -0.554,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3163,
"delta": -0.0887,
"percent_delta": -0.219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.607,
"after": 0.0,
"delta": -0.607,
"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.446,
"after": 1.0,
"delta": 0.554,
"percent_delta": 1.2422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.607,
"after": 0.0,
"delta": -0.607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.054 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.446 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.554 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.607 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | -0.017 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.155 | 0.101 |
| predicted_AVG | 0.224 | -0.013 |
| predicted_BB | 0.413 | -0.033 |
| predicted_H | 0.461 | 0.151 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.116 | 0.046 |
| predicted_OBP | 0.291 | 0.006 |
| predicted_R | 0.539 | -0.015 |
| predicted_RBI | 0.295 | 0.095 |
| predicted_SLG | 0.408 | 0.003 |
| predicted_SO | 0.612 | 0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.155 | 0.000 |
| predicted_AVG | 0.150 | -0.073 |
| predicted_BB | 0.419 | 0.005 |
| predicted_H | 0.474 | 0.014 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.120 | 0.004 |
| predicted_OBP | 0.250 | -0.041 |
| predicted_R | 0.566 | 0.028 |
| predicted_RBI | 0.310 | 0.015 |
| predicted_SLG | 0.316 | -0.092 |
| predicted_SO | 0.604 | -0.008 |
AB rounded to 3 (raw=3.15), rates preserved: AVG=0.150 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.162 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.155 |
| predicted_AVG | 0.333 | 0.183 |
| predicted_BB | 0.000 | -0.419 |
| predicted_H | 1.000 | 0.526 |
| predicted_HR | 0.000 | -0.120 |
| predicted_OBP | 0.333 | 0.083 |
| predicted_R | 1.000 | 0.434 |
| predicted_RBI | 0.000 | -0.310 |
| predicted_SLG | 0.333 | 0.017 |
| predicted_SO | 1.000 | 0.396 |
Attached 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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 2.000 | 0.1176 | 0.2105 | 0.2941 | 0.1177 | 0.0588 | 0.0588 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 35.000 | 6.000 | 1.000 | 0.000 | 2.000 | 3.000 | 5.000 | 3.000 | 7.000 | 0.1714 | 0.2564 | 0.3714 | 0.1714 | 0.0571 | 0.0857 | 0.0857 | 0.2000 |
| season | 0.60 | 56 | - | 171.000 | 40.000 | 10.000 | 0.000 | 10.000 | 29.000 | 31.000 | 25.000 | 34.000 | 0.2339 | 0.3417 | 0.4678 | 0.2339 | 0.0585 | 0.1696 | 0.1462 | 0.1988 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2980 |
| predicted_AVG | 0.2050 |
| predicted_BB | 0.3670 |
| predicted_H | 0.6760 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.1820 |
| predicted_OBP | 0.3004 |
| predicted_R | 0.5170 |
| predicted_RBI | 0.4310 |
| predicted_SLG | 0.4132 |
| predicted_SO | 0.6190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1790 | 0.1380 | 0.1621 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0540 | 3.2980 | 3.1545 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2050 | 0.2238 | model_form_blend |
| predicted_BB | 0.4460 | 0.3670 | 0.4135 | model_form_blend |
| predicted_H | 0.3100 | 0.6760 | 0.4607 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.0700 | 0.1820 | 0.1161 | model_form_blend |
| predicted_OBP | 0.2850 | 0.3004 | 0.2913 | model_form_blend |
| predicted_R | 0.5540 | 0.5170 | 0.5388 | model_form_blend |
| predicted_RBI | 0.2000 | 0.4310 | 0.2951 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4132 | 0.4084 | model_form_blend |
| predicted_SO | 0.6070 | 0.6190 | 0.6119 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 158 |
| Season rows before report date | 158 |
| Report year | 2026 |
| Profile rows used | 56 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.234 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260613_SEA@WAS |
| game_type | full |
| mlbID | 678554 |
| playerID | 678554 |
| playerName | Curtis Mead |
| pos | 1B |
| started | True |
| startingPosition | 3B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-13 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.357 |
| sl_xwoba | 0.366 |
| sl_xba | 0.262 |
| sl_xslg | 0.468 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 11.0 |
| sl_hard_hit_percent | 43.1 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 15.8 |
| sl_swing_percent | 41.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.182 | 0.000 | 0.000 | Hitting_2B | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_3B | 0.045 | 0.000 | 0.000 | Hitting_3B | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_AB | 3.333 | 4.000 | 3.000 | Hitting_AB | 3.707 | 5.000 | 0.293 | -1.000 |
| predicted_AVG | 0.251 | 0.250 | 0.333 | Hitting_AVG | 0.277 | 0.200 | -0.027 | 0.050 |
| predicted_BB | 0.121 | 0.000 | 0.000 | Hitting_BB | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 0.360 | 1.000 | 1.000 | Hitting_H | 1.027 | 1.000 | -0.027 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.266 | 0.250 | 0.333 | Hitting_OBP | 0.297 | 0.200 | -0.047 | 0.050 |
| predicted_R | 0.424 | 0.000 | 1.000 | Hitting_R | 0.463 | 0.000 | -0.463 | 0.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.718 | 0.000 | -0.718 | 0.000 |
| predicted_SLG | 0.469 | 0.250 | 0.333 | Hitting_SLG | 0.479 | 0.200 | -0.229 | 0.050 |
| predicted_SO | 0.545 | 1.000 | 1.000 | Hitting_SO | 0.644 | 2.000 | 0.356 | -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.3330 -> 4.0000 (boost 0.6670, better) |
| Biggest Deboost | predicted_R: 0.4240 -> 0.0000 (deboost -0.4240, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 5 | 1 | predicted_RBI: 0.3000 -> 0.5072 (boost 0.2072, better) | - | Final model input calibrated with local 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.4911 -> 0.3807 (deboost -0.1104, 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_H: 0.5824 -> 1.0000 (boost 0.4176, better) | predicted_RBI: 0.5332 -> 0.0000 (deboost -0.5332, worse) | AB rounded to 3 (raw=3.37), rates preserved: AVG=0.173 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5004 -> 1.0000 (boost 0.4996, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1729 -> 0.3330 (boost 0.1601, better) | predicted_SLG: 0.3807 -> 0.3330 (deboost -0.0477, 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3807 (boost 0.0477, better) | predicted_AVG: 0.3330 -> 0.1729 (deboost -0.1601, worse) | 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.182,
"predicted_3B": 0.045,
"predicted_AB": 3.333,
"predicted_AVG": 0.251,
"predicted_BB": 0.121,
"predicted_H": 0.36,
"predicted_HR": 0.08,
"predicted_OBP": 0.266,
"predicted_R": 0.424,
"predicted_RBI": 0.3,
"predicted_SLG": 0.469,
"predicted_SO": 0.545
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1849,
"predicted_3B": 0.0371,
"predicted_AB": 3.3688,
"predicted_AVG": 0.2505,
"predicted_BB": 0.1181,
"predicted_H": 0.5656,
"predicted_HBP": 0.004,
"predicted_HR": 0.1424,
"predicted_OBP": 0.2693,
"predicted_R": 0.476,
"predicted_RBI": 0.5072,
"predicted_SLG": 0.4911,
"predicted_SO": 0.5966
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1849,
"delta": 0.0029,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.045,
"after": 0.0371,
"delta": -0.0079,
"percent_delta": -0.1756,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.3688,
"delta": 0.0358,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2505,
"delta": -0.0005,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.121,
"after": 0.1181,
"delta": -0.0029,
"percent_delta": -0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.5656,
"delta": 0.2056,
"percent_delta": 0.5711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1424,
"delta": 0.0624,
"percent_delta": 0.78,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2693,
"delta": 0.0033,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.476,
"delta": 0.052,
"percent_delta": 0.1226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.5072,
"delta": 0.2072,
"percent_delta": 0.6907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.469,
"after": 0.4911,
"delta": 0.0221,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 0.5966,
"delta": 0.0516,
"percent_delta": 0.0947,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.5072,
"delta": 0.2072,
"percent_delta": 0.6907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1849,
"predicted_3B": 0.0371,
"predicted_AB": 3.3688,
"predicted_AVG": 0.1729,
"predicted_BB": 0.1196,
"predicted_H": 0.5824,
"predicted_HBP": 0.004,
"predicted_HR": 0.1471,
"predicted_OBP": 0.2012,
"predicted_R": 0.5004,
"predicted_RBI": 0.5332,
"predicted_SLG": 0.3807,
"predicted_SO": 0.5891
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1849,
"after": 0.1849,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0371,
"after": 0.0371,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3688,
"after": 3.3688,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2505,
"after": 0.1729,
"delta": -0.0776,
"percent_delta": -0.3098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1181,
"after": 0.1196,
"delta": 0.0015,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5656,
"after": 0.5824,
"delta": 0.0168,
"percent_delta": 0.0297,
"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.1424,
"after": 0.1471,
"delta": 0.0047,
"percent_delta": 0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2693,
"after": 0.2012,
"delta": -0.0681,
"percent_delta": -0.2529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.476,
"after": 0.5004,
"delta": 0.0244,
"percent_delta": 0.0513,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5072,
"after": 0.5332,
"delta": 0.026,
"percent_delta": 0.0513,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4911,
"after": 0.3807,
"delta": -0.1104,
"percent_delta": -0.2248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5966,
"after": 0.5891,
"delta": -0.0075,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4911,
"after": 0.3807,
"delta": -0.1104,
"percent_delta": -0.2248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.37), rates preserved: AVG=0.173 HR/AB=0.044",
"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.1849,
"after": 0.0,
"delta": -0.1849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0371,
"after": 0.0,
"delta": -0.0371,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3688,
"after": 3.0,
"delta": -0.3688,
"percent_delta": -0.1095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1196,
"after": 0.0,
"delta": -0.1196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5824,
"after": 1.0,
"delta": 0.4176,
"percent_delta": 0.717,
"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.1471,
"after": 0.0,
"delta": -0.1471,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5332,
"after": 0.0,
"delta": -0.5332,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5891,
"after": 1.0,
"delta": 0.4109,
"percent_delta": 0.6975,
"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_H",
"before": 0.5824,
"after": 1.0,
"delta": 0.4176,
"percent_delta": 0.717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5332,
"after": 0.0,
"delta": -0.5332,
"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.5004,
"after": 1.0,
"delta": 0.4996,
"percent_delta": 0.9984,
"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.5004,
"after": 1.0,
"delta": 0.4996,
"percent_delta": 0.9984,
"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.1729,
"after": 0.333,
"delta": 0.1601,
"percent_delta": 0.926,
"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.2012,
"after": 0.333,
"delta": 0.1318,
"percent_delta": 0.6551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3807,
"after": 0.333,
"delta": -0.0477,
"percent_delta": -0.1253,
"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.1729,
"after": 0.333,
"delta": 0.1601,
"percent_delta": 0.926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3807,
"after": 0.333,
"delta": -0.0477,
"percent_delta": -0.1253,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"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": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1729,
"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.2012,
"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": 4.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.1729,
"delta": -0.1601,
"percent_delta": -0.4808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2012,
"delta": -0.1318,
"percent_delta": -0.3957,
"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.3807,
"delta": 0.0477,
"percent_delta": 0.1434,
"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.3807,
"delta": 0.0477,
"percent_delta": 0.1434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1729,
"delta": -0.1601,
"percent_delta": -0.4808,
"direction": "deboost",
"projection_effect": "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.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 4.0,
"delta": 0.667,
"percent_delta": 0.2001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.1729,
"delta": -0.0781,
"percent_delta": -0.3112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.121,
"after": 0.0,
"delta": -0.121,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2012,
"delta": -0.0648,
"percent_delta": -0.2436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.469,
"after": 0.3807,
"delta": -0.0883,
"percent_delta": -0.1883,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 1.0,
"delta": 0.455,
"percent_delta": 0.8349,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.333,
"after": 4.0,
"delta": 0.667,
"percent_delta": 0.2001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.424,
"after": 0.0,
"delta": -0.424,
"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.045 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.121 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.266 | - |
| predicted_R | 0.424 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.469 | - |
| predicted_SO | 0.545 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.003 |
| predicted_3B | 0.037 | -0.008 |
| predicted_AB | 3.369 | 0.036 |
| predicted_AVG | 0.251 | -0.001 |
| predicted_BB | 0.118 | -0.003 |
| predicted_H | 0.566 | 0.206 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.142 | 0.062 |
| predicted_OBP | 0.269 | 0.003 |
| predicted_R | 0.476 | 0.052 |
| predicted_RBI | 0.507 | 0.207 |
| predicted_SLG | 0.491 | 0.022 |
| predicted_SO | 0.597 | 0.052 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.000 |
| predicted_3B | 0.037 | 0.000 |
| predicted_AB | 3.369 | 0.000 |
| predicted_AVG | 0.173 | -0.078 |
| predicted_BB | 0.120 | 0.002 |
| predicted_H | 0.582 | 0.017 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.147 | 0.005 |
| predicted_OBP | 0.201 | -0.068 |
| predicted_R | 0.500 | 0.024 |
| predicted_RBI | 0.533 | 0.026 |
| predicted_SLG | 0.381 | -0.110 |
| predicted_SO | 0.589 | -0.008 |
AB rounded to 3 (raw=3.37), rates preserved: AVG=0.173 HR/AB=0.044
| 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.185 |
| predicted_3B | 0.000 | -0.037 |
| predicted_AB | 3.000 | -0.369 |
| predicted_AVG | 0.333 | 0.160 |
| predicted_BB | 0.000 | -0.120 |
| predicted_H | 1.000 | 0.418 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.333 | 0.132 |
| predicted_R | 1.000 | 0.500 |
| predicted_RBI | 0.000 | -0.533 |
| predicted_SLG | 0.333 | -0.048 |
| predicted_SO | 1.000 | 0.411 |
Attached 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 1.000 | 0.000 | 2.000 | 5.000 | 4.000 | 0.000 | 5.000 | 0.2353 | 0.2353 | 0.6471 | 0.2353 | 0.1177 | 0.2941 | 0.0000 | 0.2941 |
| last_10 | 0.20 | 10 | - | 34.000 | 8.000 | 2.000 | 0.000 | 4.000 | 12.000 | 7.000 | 1.000 | 6.000 | 0.2353 | 0.2571 | 0.6471 | 0.2353 | 0.1177 | 0.3529 | 0.0294 | 0.1765 |
| season | 0.60 | 66 | - | 220.000 | 57.000 | 12.000 | 3.000 | 9.000 | 43.000 | 28.000 | 8.000 | 36.000 | 0.2591 | 0.2838 | 0.4636 | 0.2591 | 0.0409 | 0.1955 | 0.0364 | 0.1636 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1890 |
| predicted_3B | 0.0260 |
| predicted_AB | 3.4190 |
| predicted_AVG | 0.2497 |
| predicted_BB | 0.1140 |
| predicted_H | 0.8540 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.2300 |
| predicted_OBP | 0.2739 |
| predicted_R | 0.5490 |
| predicted_RBI | 0.7980 |
| predicted_SLG | 0.5222 |
| predicted_SO | 0.6690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1890 | 0.1849 | model_form_blend |
| predicted_3B | 0.0450 | 0.0260 | 0.0371 | model_form_blend |
| predicted_AB | 3.3330 | 3.4190 | 3.3688 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2497 | 0.2505 | model_form_blend |
| predicted_BB | 0.1210 | 0.1140 | 0.1181 | model_form_blend |
| predicted_H | 0.3600 | 0.8540 | 0.5656 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0800 | 0.2300 | 0.1424 | model_form_blend |
| predicted_OBP | 0.2660 | 0.2739 | 0.2693 | model_form_blend |
| predicted_R | 0.4240 | 0.5490 | 0.4760 | model_form_blend |
| predicted_RBI | 0.3000 | 0.7980 | 0.5072 | model_form_blend |
| predicted_SLG | 0.4690 | 0.5222 | 0.4911 | model_form_blend |
| predicted_SO | 0.5450 | 0.6690 | 0.5966 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 188 |
| Season rows before report date | 188 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260614_SEA@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-06-14 |
| sl_k_percent | 15.2 |
| sl_bb_percent | 3.6 |
| sl_woba | 0.325 |
| sl_xwoba | 0.333 |
| sl_xba | 0.286 |
| sl_xslg | 0.461 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 47.8 |
| sl_exit_velocity_avg | 92.3 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 18.3 |
| sl_swing_percent | 55.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.222 | 0.000 | 0.000 | Hitting_2B | 0.267 | 1.000 | -0.267 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.320 | 4.000 | 4.000 | Hitting_AB | 3.854 | 4.000 | 0.146 | 0.000 |
| predicted_AVG | 0.267 | 0.500 | 0.250 | Hitting_AVG | 0.291 | 0.750 | 0.209 | -0.250 |
| predicted_BB | 0.806 | 0.000 | 1.000 | Hitting_BB | 0.875 | 1.000 | -0.875 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 1.160 | 2.000 | 1.000 | Hitting_H | 1.121 | 3.000 | 0.879 | -1.000 |
| predicted_HR | 0.310 | 0.000 | 0.000 | Hitting_HR | 0.285 | 1.000 | -0.285 | -1.000 |
| predicted_OBP | 0.403 | 0.500 | 0.400 | Hitting_OBP | 0.431 | 0.800 | 0.069 | -0.300 |
| predicted_R | 0.917 | 1.000 | 1.000 | Hitting_R | 0.986 | 2.000 | 0.014 | -1.000 |
| predicted_RBI | 0.720 | 1.000 | 1.000 | Hitting_RBI | 0.715 | 2.000 | 0.285 | -1.000 |
| predicted_SLG | 0.566 | 0.500 | 0.250 | Hitting_SLG | 0.582 | 1.750 | -0.082 | -1.250 |
| predicted_SO | 1.361 | 1.000 | 1.000 | Hitting_SO | 1.395 | 0.000 | -0.395 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 1.1600 -> 2.0000 (boost 0.8400, better) |
| Biggest Deboost | predicted_BB: 0.8060 -> 0.0000 (deboost -0.8060, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_R: 0.9170 -> 0.9826 (boost 0.0656, better) | predicted_AB: 4.3200 -> 4.1334 (deboost -0.1866, 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: 0.9826 -> 1.0329 (boost 0.0503, better) | predicted_OBP: 0.4191 -> 0.4132 (deboost -0.0059, 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.7640 -> 1.0000 (boost 0.2360, better) | predicted_HR: 0.3351 -> 0.0000 (deboost -0.3351, worse) | AB rounded to 4 (raw=4.32), rates preserved: AVG=0.289 HR/AB=0.078 |
| 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.5962 -> 0.2500 (deboost -0.3462, 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_BB: 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.5962 (boost 0.3462, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695578",
"player_name": "James Wood",
"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.222,
"predicted_3B": 0.0,
"predicted_AB": 4.32,
"predicted_AVG": 0.267,
"predicted_BB": 0.806,
"predicted_H": 1.16,
"predicted_HR": 0.31,
"predicted_OBP": 0.403,
"predicted_R": 0.917,
"predicted_RBI": 0.72,
"predicted_SLG": 0.566,
"predicted_SO": 1.361
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2096,
"predicted_3B": 0.0004,
"predicted_AB": 4.1334,
"predicted_AVG": 0.294,
"predicted_BB": 0.7732,
"predicted_H": 1.2124,
"predicted_HBP": 0.034,
"predicted_HR": 0.3245,
"predicted_OBP": 0.4191,
"predicted_R": 0.9826,
"predicted_RBI": 0.7268,
"predicted_SLG": 0.6003,
"predicted_SO": 1.321
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2096,
"delta": -0.0124,
"percent_delta": -0.0559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.1334,
"delta": -0.1866,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.294,
"delta": 0.027,
"percent_delta": 0.1011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.806,
"after": 0.7732,
"delta": -0.0328,
"percent_delta": -0.0407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 1.2124,
"delta": 0.0524,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.3245,
"delta": 0.0145,
"percent_delta": 0.0468,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.403,
"after": 0.4191,
"delta": 0.0161,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.917,
"after": 0.9826,
"delta": 0.0656,
"percent_delta": 0.0715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.7268,
"delta": 0.0068,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.566,
"after": 0.6003,
"delta": 0.0343,
"percent_delta": 0.0606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.361,
"after": 1.321,
"delta": -0.04,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.917,
"after": 0.9826,
"delta": 0.0656,
"percent_delta": 0.0715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 4.1334,
"delta": -0.1866,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2096,
"predicted_3B": 0.0004,
"predicted_AB": 4.1334,
"predicted_AVG": 0.302,
"predicted_BB": 0.7829,
"predicted_H": 1.2484,
"predicted_HBP": 0.034,
"predicted_HR": 0.3351,
"predicted_OBP": 0.4132,
"predicted_R": 1.0329,
"predicted_RBI": 0.764,
"predicted_SLG": 0.5962,
"predicted_SO": 1.3045
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2096,
"after": 0.2096,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1334,
"after": 4.1334,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.302,
"delta": 0.008,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7732,
"after": 0.7829,
"delta": 0.0097,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2124,
"after": 1.2484,
"delta": 0.036,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3245,
"after": 0.3351,
"delta": 0.0106,
"percent_delta": 0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4191,
"after": 0.4132,
"delta": -0.0059,
"percent_delta": -0.0141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9826,
"after": 1.0329,
"delta": 0.0503,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7268,
"after": 0.764,
"delta": 0.0372,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6003,
"after": 0.5962,
"delta": -0.0041,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.321,
"after": 1.3045,
"delta": -0.0165,
"percent_delta": -0.0125,
"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": 0.9826,
"after": 1.0329,
"delta": 0.0503,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4191,
"after": 0.4132,
"delta": -0.0059,
"percent_delta": -0.0141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.32), rates preserved: AVG=0.289 HR/AB=0.078",
"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.2096,
"after": 0.0,
"delta": -0.2096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1334,
"after": 4.0,
"delta": -0.1334,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7829,
"after": 1.0,
"delta": 0.2171,
"percent_delta": 0.2773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2484,
"after": 1.0,
"delta": -0.2484,
"percent_delta": -0.199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3351,
"after": 0.0,
"delta": -0.3351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.764,
"after": 1.0,
"delta": 0.236,
"percent_delta": 0.3089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3045,
"after": 1.0,
"delta": -0.3045,
"percent_delta": -0.2334,
"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.764,
"after": 1.0,
"delta": 0.236,
"percent_delta": 0.3089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3351,
"after": 0.0,
"delta": -0.3351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0329,
"after": 1.0,
"delta": -0.0329,
"percent_delta": -0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 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.302,
"after": 0.25,
"delta": -0.052,
"percent_delta": -0.1722,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4132,
"after": 0.4,
"delta": -0.0132,
"percent_delta": -0.0319,
"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.5962,
"after": 0.25,
"delta": -0.3462,
"percent_delta": -0.5807,
"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.5962,
"after": 0.25,
"delta": -0.3462,
"percent_delta": -0.5807,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.302,
"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.4132,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5962,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.302,
"delta": 0.052,
"percent_delta": 0.2081,
"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.4,
"after": 0.4132,
"delta": 0.0132,
"percent_delta": 0.0329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5962,
"delta": 0.3462,
"percent_delta": 1.3846,
"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.5962,
"delta": 0.3462,
"percent_delta": 1.3846,
"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.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": 4.32,
"after": 4.0,
"delta": -0.32,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.302,
"delta": 0.035,
"percent_delta": 0.1311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.806,
"after": 0.0,
"delta": -0.806,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.16,
"after": 2.0,
"delta": 0.84,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.403,
"after": 0.4132,
"delta": 0.0102,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.566,
"after": 0.5962,
"delta": 0.0302,
"percent_delta": 0.0534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.361,
"after": 1.0,
"delta": -0.361,
"percent_delta": -0.2652,
"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": 1.16,
"after": 2.0,
"delta": 0.84,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.806,
"after": 0.0,
"delta": -0.806,
"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.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.320 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.806 | - |
| predicted_H | 1.160 | - |
| predicted_HR | 0.310 | - |
| predicted_OBP | 0.403 | - |
| predicted_R | 0.917 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.566 | - |
| predicted_SO | 1.361 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | -0.012 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.133 | -0.187 |
| predicted_AVG | 0.294 | 0.027 |
| predicted_BB | 0.773 | -0.033 |
| predicted_H | 1.212 | 0.052 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.325 | 0.015 |
| predicted_OBP | 0.419 | 0.016 |
| predicted_R | 0.983 | 0.066 |
| predicted_RBI | 0.727 | 0.007 |
| predicted_SLG | 0.600 | 0.034 |
| predicted_SO | 1.321 | -0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.133 | 0.000 |
| predicted_AVG | 0.302 | 0.008 |
| predicted_BB | 0.783 | 0.010 |
| predicted_H | 1.248 | 0.036 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.335 | 0.011 |
| predicted_OBP | 0.413 | -0.006 |
| predicted_R | 1.033 | 0.050 |
| predicted_RBI | 0.764 | 0.037 |
| predicted_SLG | 0.596 | -0.004 |
| predicted_SO | 1.304 | -0.016 |
AB rounded to 4 (raw=4.32), rates preserved: AVG=0.289 HR/AB=0.078
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.210 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.133 |
| predicted_AVG | 0.250 | -0.052 |
| predicted_BB | 1.000 | 0.217 |
| predicted_H | 1.000 | -0.248 |
| predicted_HR | 0.000 | -0.335 |
| predicted_OBP | 0.400 | -0.013 |
| predicted_R | 1.000 | -0.033 |
| predicted_RBI | 1.000 | 0.236 |
| predicted_SLG | 0.250 | -0.346 |
| predicted_SO | 1.000 | -0.304 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 10.000 | 1.000 | 0.000 | 3.000 | 6.000 | 8.000 | 3.000 | 5.000 | 0.4762 | 0.5417 | 0.9524 | 0.4762 | 0.1429 | 0.2857 | 0.1429 | 0.2381 |
| last_10 | 0.20 | 10 | - | 38.000 | 14.000 | 1.000 | 0.000 | 4.000 | 7.000 | 13.000 | 8.000 | 14.000 | 0.3684 | 0.4783 | 0.7105 | 0.3684 | 0.1053 | 0.1842 | 0.2105 | 0.3684 |
| season | 0.60 | 72 | - | 274.000 | 77.000 | 16.000 | 0.000 | 20.000 | 46.000 | 66.000 | 58.000 | 98.000 | 0.2810 | 0.4137 | 0.5584 | 0.2810 | 0.0730 | 0.1679 | 0.2117 | 0.3577 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1930 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8820 |
| predicted_AVG | 0.3304 |
| predicted_BB | 0.7290 |
| predicted_H | 1.2830 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.3440 |
| predicted_OBP | 0.4408 |
| predicted_R | 1.0710 |
| predicted_RBI | 0.7360 |
| predicted_SLG | 0.6465 |
| predicted_SO | 1.2670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.1930 | 0.2096 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3200 | 3.8820 | 4.1334 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3304 | 0.2940 | model_form_blend |
| predicted_BB | 0.8060 | 0.7290 | 0.7732 | model_form_blend |
| predicted_H | 1.1600 | 1.2830 | 1.2124 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.3100 | 0.3440 | 0.3245 | model_form_blend |
| predicted_OBP | 0.4030 | 0.4408 | 0.4191 | model_form_blend |
| predicted_R | 0.9170 | 1.0710 | 0.9826 | model_form_blend |
| predicted_RBI | 0.7200 | 0.7360 | 0.7268 | model_form_blend |
| predicted_SLG | 0.5660 | 0.6465 | 0.6003 | model_form_blend |
| predicted_SO | 1.3610 | 1.2670 | 1.3210 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 281 |
| Season rows before report date | 281 |
| 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 | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.281 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 7 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_SEA@WAS |
| game_type | full |
| mlbID | 695578 |
| playerID | 695578 |
| playerName | James Wood |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-14 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 17.2 |
| sl_woba | 0.408 |
| sl_xwoba | 0.431 |
| sl_xba | 0.278 |
| sl_xslg | 0.62 |
| sl_sweet_spot_percent | 42.4 |
| sl_barrel_batted_rate | 25.0 |
| sl_hard_hit_percent | 58.1 |
| sl_exit_velocity_avg | 95.6 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 32.1 |
| sl_swing_percent | 37.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.186 | 0.000 | 0.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 3.920 | 3.000 | 4.000 | Hitting_AB | 3.810 | 5.000 | -0.810 | -2.000 |
| predicted_AVG | 0.257 | 0.333 | 0.250 | Hitting_AVG | 0.298 | 0.200 | 0.035 | 0.133 |
| predicted_BB | 0.414 | 1.000 | 0.000 | Hitting_BB | 0.452 | 0.000 | 0.548 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_H | 1.010 | 1.000 | 1.000 | Hitting_H | 1.135 | 1.000 | -0.135 | 0.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.198 | 0.000 | 0.802 | 1.000 |
| predicted_OBP | 0.338 | 0.500 | 0.250 | Hitting_OBP | 0.386 | 0.200 | 0.114 | 0.300 |
| predicted_R | 0.657 | 1.000 | 1.000 | Hitting_R | 0.623 | 1.000 | 0.377 | 0.000 |
| predicted_RBI | 0.650 | 1.000 | 1.000 | Hitting_RBI | 0.841 | 0.000 | 0.159 | 1.000 |
| predicted_SLG | 0.437 | 1.333 | 0.250 | Hitting_SLG | 0.536 | 0.200 | 0.797 | 1.133 |
| predicted_SO | 0.871 | 0.000 | 1.000 | Hitting_SO | 0.889 | 1.000 | -0.889 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_HR: 0.1500 -> 1.0000 (boost 0.8500, 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 | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2570 -> 0.2710 (boost 0.0140, better) | - | Final model input calibrated with local 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.4448 -> 0.4554 (boost 0.0106, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.7131 -> 1.0000 (boost 0.2869, better) | predicted_BB: 0.3695 -> 0.0000 (deboost -0.3695, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.278 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7293 -> 1.0000 (boost 0.2707, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4554 -> 0.2500 (deboost -0.2054, 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_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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4554 (boost 0.2054, 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.186,
"predicted_3B": 0.029,
"predicted_AB": 3.92,
"predicted_AVG": 0.257,
"predicted_BB": 0.414,
"predicted_H": 1.01,
"predicted_HR": 0.15,
"predicted_OBP": 0.338,
"predicted_R": 0.657,
"predicted_RBI": 0.65,
"predicted_SLG": 0.437,
"predicted_SO": 0.871
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1593,
"predicted_3B": 0.0243,
"predicted_AB": 3.9026,
"predicted_AVG": 0.271,
"predicted_BB": 0.3649,
"predicted_H": 1.0587,
"predicted_HBP": 0.077,
"predicted_HR": 0.1547,
"predicted_OBP": 0.3429,
"predicted_R": 0.6938,
"predicted_RBI": 0.6784,
"predicted_SLG": 0.4448,
"predicted_SO": 0.8973
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.1593,
"delta": -0.0267,
"percent_delta": -0.1435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0243,
"delta": -0.0047,
"percent_delta": -0.1621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.92,
"after": 3.9026,
"delta": -0.0174,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.271,
"delta": 0.014,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.414,
"after": 0.3649,
"delta": -0.0491,
"percent_delta": -0.1186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0587,
"delta": 0.0487,
"percent_delta": 0.0482,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1547,
"delta": 0.0047,
"percent_delta": 0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3429,
"delta": 0.0049,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.657,
"after": 0.6938,
"delta": 0.0368,
"percent_delta": 0.056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.6784,
"delta": 0.0284,
"percent_delta": 0.0437,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4448,
"delta": 0.0078,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.871,
"after": 0.8973,
"delta": 0.0263,
"percent_delta": 0.0302,
"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.257,
"after": 0.271,
"delta": 0.014,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1593,
"predicted_3B": 0.0243,
"predicted_AB": 3.9026,
"predicted_AVG": 0.2793,
"predicted_BB": 0.3695,
"predicted_H": 1.0901,
"predicted_HBP": 0.077,
"predicted_HR": 0.1598,
"predicted_OBP": 0.3417,
"predicted_R": 0.7293,
"predicted_RBI": 0.7131,
"predicted_SLG": 0.4554,
"predicted_SO": 0.8861
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1593,
"after": 0.1593,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0243,
"after": 0.0243,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9026,
"after": 3.9026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2793,
"delta": 0.0083,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3649,
"after": 0.3695,
"delta": 0.0046,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0587,
"after": 1.0901,
"delta": 0.0314,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1547,
"after": 0.1598,
"delta": 0.0051,
"percent_delta": 0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3429,
"after": 0.3417,
"delta": -0.0012,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6938,
"after": 0.7293,
"delta": 0.0355,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6784,
"after": 0.7131,
"delta": 0.0347,
"percent_delta": 0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4448,
"after": 0.4554,
"delta": 0.0106,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8973,
"after": 0.8861,
"delta": -0.0112,
"percent_delta": -0.0125,
"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.4448,
"after": 0.4554,
"delta": 0.0106,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.278 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1593,
"after": 0.0,
"delta": -0.1593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0243,
"after": 0.0,
"delta": -0.0243,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9026,
"after": 4.0,
"delta": 0.0974,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"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": 1.0901,
"after": 1.0,
"delta": -0.0901,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1598,
"after": 0.0,
"delta": -0.1598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7131,
"after": 1.0,
"delta": 0.2869,
"percent_delta": 0.4023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8861,
"after": 1.0,
"delta": 0.1139,
"percent_delta": 0.1285,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.7131,
"after": 1.0,
"delta": 0.2869,
"percent_delta": 0.4023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3695,
"after": 0.0,
"delta": -0.3695,
"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.7293,
"after": 1.0,
"delta": 0.2707,
"percent_delta": 0.3712,
"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.7293,
"after": 1.0,
"delta": 0.2707,
"percent_delta": 0.3712,
"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.2793,
"after": 0.25,
"delta": -0.0293,
"percent_delta": -0.1049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3417,
"after": 0.25,
"delta": -0.0917,
"percent_delta": -0.2684,
"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.4554,
"after": 0.25,
"delta": -0.2054,
"percent_delta": -0.451,
"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.4554,
"after": 0.25,
"delta": -0.2054,
"percent_delta": -0.451,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 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": 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.2793,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3417,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4554,
"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.2793,
"delta": 0.0293,
"percent_delta": 0.1174,
"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.25,
"after": 0.3417,
"delta": 0.0917,
"percent_delta": 0.3667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4554,
"delta": 0.2054,
"percent_delta": 0.8217,
"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.4554,
"delta": 0.2054,
"percent_delta": 0.8217,
"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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"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.257,
"after": 0.2793,
"delta": 0.0223,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.414,
"after": 1.0,
"delta": 0.586,
"percent_delta": 1.4155,
"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.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3417,
"delta": 0.0037,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.657,
"after": 1.0,
"delta": 0.343,
"percent_delta": 0.5221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.437,
"after": 0.4554,
"delta": 0.0184,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.871,
"after": 0.0,
"delta": -0.871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"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.186 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.920 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.414 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.657 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.437 | - |
| predicted_SO | 0.871 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.027 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.903 | -0.017 |
| predicted_AVG | 0.271 | 0.014 |
| predicted_BB | 0.365 | -0.049 |
| predicted_H | 1.059 | 0.049 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.155 | 0.005 |
| predicted_OBP | 0.343 | 0.005 |
| predicted_R | 0.694 | 0.037 |
| predicted_RBI | 0.678 | 0.028 |
| predicted_SLG | 0.445 | 0.008 |
| predicted_SO | 0.897 | 0.026 |
Step 3: 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.024 | 0.000 |
| predicted_AB | 3.903 | 0.000 |
| predicted_AVG | 0.279 | 0.008 |
| predicted_BB | 0.369 | 0.005 |
| predicted_H | 1.090 | 0.031 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.160 | 0.005 |
| predicted_OBP | 0.342 | -0.001 |
| predicted_R | 0.729 | 0.035 |
| predicted_RBI | 0.713 | 0.035 |
| predicted_SLG | 0.455 | 0.011 |
| predicted_SO | 0.886 | -0.011 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.278 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 | 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.159 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.097 |
| predicted_AVG | 0.250 | -0.029 |
| predicted_BB | 0.000 | -0.369 |
| predicted_H | 1.000 | -0.090 |
| predicted_HR | 0.000 | -0.160 |
| predicted_OBP | 0.250 | -0.092 |
| predicted_R | 1.000 | 0.271 |
| predicted_RBI | 1.000 | 0.287 |
| predicted_SLG | 0.250 | -0.205 |
| predicted_SO | 1.000 | 0.114 |
Attached 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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 7.000 | 0.000 | 0.000 | 0.000 | 4.000 | 5.000 | 0.000 | 5.000 | 0.3333 | 0.3333 | 0.3333 | 0.3333 | 0.0000 | 0.1905 | 0.0000 | 0.2381 |
| last_10 | 0.20 | 10 | - | 41.000 | 11.000 | 0.000 | 0.000 | 2.000 | 6.000 | 9.000 | 2.000 | 11.000 | 0.2683 | 0.3023 | 0.4146 | 0.2683 | 0.0488 | 0.1463 | 0.0488 | 0.2683 |
| season | 0.60 | 70 | - | 259.000 | 75.000 | 13.000 | 2.000 | 14.000 | 53.000 | 46.000 | 29.000 | 61.000 | 0.2896 | 0.3767 | 0.5174 | 0.2896 | 0.0541 | 0.2046 | 0.1120 | 0.2355 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1230 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.8790 |
| predicted_AVG | 0.2901 |
| predicted_BB | 0.2980 |
| predicted_H | 1.1250 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.1610 |
| predicted_OBP | 0.3495 |
| predicted_R | 0.7440 |
| predicted_RBI | 0.7170 |
| predicted_SLG | 0.4554 |
| predicted_SO | 0.9330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.1230 | 0.1593 | model_form_blend |
| predicted_3B | 0.0290 | 0.0180 | 0.0243 | model_form_blend |
| predicted_AB | 3.9200 | 3.8790 | 3.9026 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2901 | 0.2710 | model_form_blend |
| predicted_BB | 0.4140 | 0.2980 | 0.3649 | model_form_blend |
| predicted_H | 1.0100 | 1.1250 | 1.0587 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.1500 | 0.1610 | 0.1547 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3495 | 0.3429 | model_form_blend |
| predicted_R | 0.6570 | 0.7440 | 0.6938 | model_form_blend |
| predicted_RBI | 0.6500 | 0.7170 | 0.6784 | model_form_blend |
| predicted_SLG | 0.4370 | 0.4554 | 0.4448 | model_form_blend |
| predicted_SO | 0.8710 | 0.9330 | 0.8973 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 252 |
| Season rows before report date | 252 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.29 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | SS |
| gameID | 20260614_SEA@WAS |
| game_type | full |
| mlbID | 682928 |
| playerID | 682928 |
| playerName | CJ Abrams |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.3 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.39 |
| sl_xwoba | 0.359 |
| sl_xba | 0.267 |
| sl_xslg | 0.461 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 50.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.225 | 0.000 | 0.000 | Hitting_2B | 0.253 | 1.000 | -0.253 | -1.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 4.030 | 4.000 | 4.000 | Hitting_AB | 4.103 | 4.000 | -0.103 | 0.000 |
| predicted_AVG | 0.257 | 0.000 | 0.250 | Hitting_AVG | 0.257 | 0.250 | -0.257 | -0.250 |
| predicted_BB | 0.324 | 0.000 | 0.000 | Hitting_BB | 0.349 | 0.000 | -0.349 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 1.030 | 0.000 | 1.000 | Hitting_H | 1.054 | 1.000 | -1.054 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.343 | 0.000 | 0.250 | Hitting_OBP | 0.314 | 0.250 | -0.314 | -0.250 |
| predicted_R | 0.592 | 0.000 | 1.000 | Hitting_R | 0.644 | 1.000 | -0.644 | -1.000 |
| predicted_RBI | 0.650 | 0.000 | 1.000 | Hitting_RBI | 0.513 | 1.000 | -0.513 | -1.000 |
| predicted_SLG | 0.449 | 0.000 | 0.250 | Hitting_SLG | 0.422 | 0.500 | -0.422 | -0.500 |
| predicted_SO | 0.761 | 1.000 | 1.000 | Hitting_SO | 0.839 | 1.000 | 0.161 | 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.7610 -> 1.0000 (boost 0.2390, worse) |
| Biggest Deboost | predicted_H: 1.0300 -> 0.0000 (deboost -1.0300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4490 -> 0.4649 (boost 0.0159, better) | predicted_AB: 4.0300 -> 3.9591 (deboost -0.0709, 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.2728 -> 0.2796 (boost 0.0068, better) | predicted_OBP: 0.3494 -> 0.3352 (deboost -0.0142, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7130 -> 1.0000 (boost 0.2870, worse) | predicted_BB: 0.3315 -> 0.0000 (deboost -0.3315, worse) | AB rounded to 4 (raw=4.03), rates preserved: AVG=0.275 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6201 -> 1.0000 (boost 0.3799, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4545 -> 0.2500 (deboost -0.2045, 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_H: 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.4545 (boost 0.2045, better) | - | 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.225,
"predicted_3B": 0.042,
"predicted_AB": 4.03,
"predicted_AVG": 0.257,
"predicted_BB": 0.324,
"predicted_H": 1.03,
"predicted_HR": 0.11,
"predicted_OBP": 0.343,
"predicted_R": 0.592,
"predicted_RBI": 0.65,
"predicted_SLG": 0.449,
"predicted_SO": 0.761
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2118,
"predicted_3B": 0.0832,
"predicted_AB": 3.9591,
"predicted_AVG": 0.2728,
"predicted_BB": 0.3274,
"predicted_H": 1.075,
"predicted_HBP": 0.076,
"predicted_HR": 0.1015,
"predicted_OBP": 0.3494,
"predicted_R": 0.5899,
"predicted_RBI": 0.6814,
"predicted_SLG": 0.4649,
"predicted_SO": 0.722
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.225,
"after": 0.2118,
"delta": -0.0132,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0832,
"delta": 0.0412,
"percent_delta": 0.981,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9591,
"delta": -0.0709,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2728,
"delta": 0.0158,
"percent_delta": 0.0615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.3274,
"delta": 0.0034,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.075,
"delta": 0.045,
"percent_delta": 0.0437,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1015,
"delta": -0.0085,
"percent_delta": -0.0773,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3494,
"delta": 0.0064,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 0.5899,
"delta": -0.0021,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.6814,
"delta": 0.0314,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.4649,
"delta": 0.0159,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.761,
"after": 0.722,
"delta": -0.039,
"percent_delta": -0.0512,
"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_SLG",
"before": 0.449,
"after": 0.4649,
"delta": 0.0159,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9591,
"delta": -0.0709,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2118,
"predicted_3B": 0.0832,
"predicted_AB": 3.9591,
"predicted_AVG": 0.2796,
"predicted_BB": 0.3315,
"predicted_H": 1.1069,
"predicted_HBP": 0.076,
"predicted_HR": 0.1048,
"predicted_OBP": 0.3352,
"predicted_R": 0.6201,
"predicted_RBI": 0.7163,
"predicted_SLG": 0.4545,
"predicted_SO": 0.713
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2118,
"after": 0.2118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0832,
"after": 0.0832,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9591,
"after": 3.9591,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2728,
"after": 0.2796,
"delta": 0.0068,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3274,
"after": 0.3315,
"delta": 0.0041,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.075,
"after": 1.1069,
"delta": 0.0319,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1015,
"after": 0.1048,
"delta": 0.0033,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3494,
"after": 0.3352,
"delta": -0.0142,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5899,
"after": 0.6201,
"delta": 0.0302,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6814,
"after": 0.7163,
"delta": 0.0349,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4649,
"after": 0.4545,
"delta": -0.0104,
"percent_delta": -0.0224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 0.713,
"delta": -0.009,
"percent_delta": -0.0125,
"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.2728,
"after": 0.2796,
"delta": 0.0068,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3494,
"after": 0.3352,
"delta": -0.0142,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.03), rates preserved: AVG=0.275 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2118,
"after": 0.0,
"delta": -0.2118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0832,
"after": 0.0,
"delta": -0.0832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.9591,
"after": 4.0,
"delta": 0.0409,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3315,
"after": 0.0,
"delta": -0.3315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1069,
"after": 1.0,
"delta": -0.1069,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1048,
"after": 0.0,
"delta": -0.1048,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7163,
"after": 1.0,
"delta": 0.2837,
"percent_delta": 0.3961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.713,
"after": 1.0,
"delta": 0.287,
"percent_delta": 0.4025,
"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.713,
"after": 1.0,
"delta": 0.287,
"percent_delta": 0.4025,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3315,
"after": 0.0,
"delta": -0.3315,
"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.6201,
"after": 1.0,
"delta": 0.3799,
"percent_delta": 0.6126,
"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.6201,
"after": 1.0,
"delta": 0.3799,
"percent_delta": 0.6126,
"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.2796,
"after": 0.25,
"delta": -0.0296,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3352,
"after": 0.25,
"delta": -0.0852,
"percent_delta": -0.2542,
"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.4545,
"after": 0.25,
"delta": -0.2045,
"percent_delta": -0.4499,
"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.4545,
"after": 0.25,
"delta": -0.2045,
"percent_delta": -0.4499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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.2796,
"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.3352,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4545,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2796,
"delta": 0.0296,
"percent_delta": 0.1184,
"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.3352,
"delta": 0.0852,
"percent_delta": 0.341,
"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.4545,
"delta": 0.2045,
"percent_delta": 0.8182,
"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.4545,
"delta": 0.2045,
"percent_delta": 0.8182,
"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.225,
"after": 0.0,
"delta": -0.225,
"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": 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.257,
"after": 0.2796,
"delta": 0.0226,
"percent_delta": 0.0879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.0,
"delta": -0.324,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"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.343,
"after": 0.3352,
"delta": -0.0078,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 0.0,
"delta": -0.592,
"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.449,
"after": 0.4545,
"delta": 0.0055,
"percent_delta": 0.0122,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.761,
"after": 1.0,
"delta": 0.239,
"percent_delta": 0.3141,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.761,
"after": 1.0,
"delta": 0.239,
"percent_delta": 0.3141,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.592 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.449 | - |
| predicted_SO | 0.761 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | -0.013 |
| predicted_3B | 0.083 | 0.041 |
| predicted_AB | 3.959 | -0.071 |
| predicted_AVG | 0.273 | 0.016 |
| predicted_BB | 0.327 | 0.003 |
| predicted_H | 1.075 | 0.045 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.102 | -0.008 |
| predicted_OBP | 0.349 | 0.006 |
| predicted_R | 0.590 | -0.002 |
| predicted_RBI | 0.681 | 0.031 |
| predicted_SLG | 0.465 | 0.016 |
| predicted_SO | 0.722 | -0.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.212 | 0.000 |
| predicted_3B | 0.083 | 0.000 |
| predicted_AB | 3.959 | 0.000 |
| predicted_AVG | 0.280 | 0.007 |
| predicted_BB | 0.332 | 0.004 |
| predicted_H | 1.107 | 0.032 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.105 | 0.003 |
| predicted_OBP | 0.335 | -0.014 |
| predicted_R | 0.620 | 0.030 |
| predicted_RBI | 0.716 | 0.035 |
| predicted_SLG | 0.455 | -0.010 |
| predicted_SO | 0.713 | -0.009 |
AB rounded to 4 (raw=4.03), rates preserved: AVG=0.275 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.212 |
| predicted_3B | 0.000 | -0.083 |
| predicted_AB | 4.000 | 0.041 |
| predicted_AVG | 0.250 | -0.030 |
| predicted_BB | 0.000 | -0.332 |
| predicted_H | 1.000 | -0.107 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.250 | -0.085 |
| predicted_R | 1.000 | 0.380 |
| predicted_RBI | 1.000 | 0.284 |
| predicted_SLG | 0.250 | -0.205 |
| predicted_SO | 1.000 | 0.287 |
Attached 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 7.000 | 1.000 | 2.000 | 0.000 | 6.000 | 3.000 | 2.000 | 2.000 | 0.3889 | 0.4762 | 0.6667 | 0.3889 | 0.0000 | 0.3333 | 0.1111 | 0.1111 |
| last_10 | 0.20 | 10 | - | 38.000 | 12.000 | 1.000 | 2.000 | 1.000 | 9.000 | 6.000 | 3.000 | 6.000 | 0.3158 | 0.3810 | 0.5263 | 0.3158 | 0.0263 | 0.2368 | 0.0790 | 0.1579 |
| season | 0.60 | 71 | - | 282.000 | 74.000 | 16.000 | 3.000 | 8.000 | 37.000 | 42.000 | 23.000 | 54.000 | 0.2624 | 0.3183 | 0.4255 | 0.2624 | 0.0284 | 0.1312 | 0.0816 | 0.1915 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.1390 |
| predicted_AB | 3.8630 |
| predicted_AVG | 0.2942 |
| predicted_BB | 0.3320 |
| predicted_H | 1.1360 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.0900 |
| predicted_OBP | 0.3581 |
| predicted_R | 0.5870 |
| predicted_RBI | 0.7240 |
| predicted_SLG | 0.4865 |
| predicted_SO | 0.6690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2250 | 0.1940 | 0.2118 | model_form_blend |
| predicted_3B | 0.0420 | 0.1390 | 0.0832 | model_form_blend |
| predicted_AB | 4.0300 | 3.8630 | 3.9591 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2942 | 0.2728 | model_form_blend |
| predicted_BB | 0.3240 | 0.3320 | 0.3274 | model_form_blend |
| predicted_H | 1.0300 | 1.1360 | 1.0750 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.1100 | 0.0900 | 0.1015 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3581 | 0.3494 | model_form_blend |
| predicted_R | 0.5920 | 0.5870 | 0.5899 | model_form_blend |
| predicted_RBI | 0.6500 | 0.7240 | 0.6814 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4865 | 0.4649 | model_form_blend |
| predicted_SO | 0.7610 | 0.6690 | 0.7220 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 261 |
| Season rows before report date | 261 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260614_SEA@WAS |
| game_type | full |
| mlbID | 695734 |
| playerID | 695734 |
| playerName | Daylen Lile |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-14 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.325 |
| sl_xwoba | 0.327 |
| sl_xba | 0.263 |
| sl_xslg | 0.427 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 54.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.095 | 0.000 | 0.000 | Hitting_2B | 0.133 | 1.000 | -0.133 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.952 | 4.000 | 4.000 | Hitting_AB | 4.000 | 5.000 | 0.000 | -1.000 |
| predicted_AVG | 0.223 | 0.250 | 0.250 | Hitting_AVG | 0.222 | 0.200 | 0.028 | 0.050 |
| predicted_BB | 0.095 | 0.000 | 0.000 | Hitting_BB | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 1.000 | 1.000 | Hitting_H | 0.889 | 1.000 | 0.111 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.274 | 0.250 | 0.250 | Hitting_OBP | 0.255 | 0.200 | -0.005 | 0.050 |
| predicted_R | 0.476 | 1.000 | 1.000 | Hitting_R | 0.289 | 1.000 | 0.711 | 0.000 |
| predicted_RBI | 0.540 | 2.000 | 1.000 | Hitting_RBI | 0.289 | 1.000 | 1.711 | 1.000 |
| predicted_SLG | 0.378 | 0.250 | 0.250 | Hitting_SLG | 0.356 | 0.400 | -0.106 | -0.150 |
| predicted_SO | 0.810 | 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 | 8 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 4 |
| Better Metrics | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.5400 -> 2.0000 (boost 1.4600, better) |
| Biggest Deboost | predicted_HR: 0.1500 -> 0.0000 (deboost -0.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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2230 -> 0.2169 (deboost -0.0061, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2169 -> 0.2232 (boost 0.0063, better) | predicted_OBP: 0.2682 -> 0.2468 (deboost -0.0214, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 4 | 4 | 3 | 5 | predicted_RBI: 0.5795 -> 1.0000 (boost 0.4205, better) | predicted_HR: 0.1580 -> 0.0000 (deboost -0.1580, worse) | AB rounded to 4 (raw=3.95), rates preserved: AVG=0.221 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5308 -> 1.0000 (boost 0.4692, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2232 -> 0.2500 (boost 0.0268, better) | predicted_SLG: 0.3733 -> 0.2500 (deboost -0.1233, worse) | 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_RBI: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3733 (boost 0.1233, better) | predicted_AVG: 0.2500 -> 0.2232 (deboost -0.0268, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686611",
"player_name": "Dylan Crews",
"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.095,
"predicted_3B": 0.0,
"predicted_AB": 3.952,
"predicted_AVG": 0.223,
"predicted_BB": 0.095,
"predicted_H": 0.88,
"predicted_HR": 0.15,
"predicted_OBP": 0.274,
"predicted_R": 0.476,
"predicted_RBI": 0.54,
"predicted_SLG": 0.378,
"predicted_SO": 0.81
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1108,
"predicted_3B": 0.0015,
"predicted_AB": 3.9156,
"predicted_AVG": 0.2169,
"predicted_BB": 0.1209,
"predicted_H": 0.8488,
"predicted_HBP": 0.102,
"predicted_HR": 0.153,
"predicted_OBP": 0.2682,
"predicted_R": 0.5049,
"predicted_RBI": 0.5513,
"predicted_SLG": 0.3739,
"predicted_SO": 0.789
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.1108,
"delta": 0.0158,
"percent_delta": 0.1663,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0015,
"delta": 0.0015,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.952,
"after": 3.9156,
"delta": -0.0364,
"percent_delta": -0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2169,
"delta": -0.0061,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.095,
"after": 0.1209,
"delta": 0.0259,
"percent_delta": 0.2726,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8488,
"delta": -0.0312,
"percent_delta": -0.0355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.153,
"delta": 0.003,
"percent_delta": 0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2682,
"delta": -0.0058,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.476,
"after": 0.5049,
"delta": 0.0289,
"percent_delta": 0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5513,
"delta": 0.0113,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3739,
"delta": -0.0041,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.81,
"after": 0.789,
"delta": -0.021,
"percent_delta": -0.0259,
"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.223,
"after": 0.2169,
"delta": -0.0061,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1108,
"predicted_3B": 0.0015,
"predicted_AB": 3.9156,
"predicted_AVG": 0.2232,
"predicted_BB": 0.1224,
"predicted_H": 0.874,
"predicted_HBP": 0.102,
"predicted_HR": 0.158,
"predicted_OBP": 0.2468,
"predicted_R": 0.5308,
"predicted_RBI": 0.5795,
"predicted_SLG": 0.3733,
"predicted_SO": 0.7791
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1108,
"after": 0.1108,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0015,
"after": 0.0015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9156,
"after": 3.9156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2169,
"after": 0.2232,
"delta": 0.0063,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1209,
"after": 0.1224,
"delta": 0.0015,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8488,
"after": 0.874,
"delta": 0.0252,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.153,
"after": 0.158,
"delta": 0.005,
"percent_delta": 0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2682,
"after": 0.2468,
"delta": -0.0214,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5049,
"after": 0.5308,
"delta": 0.0259,
"percent_delta": 0.0513,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5513,
"after": 0.5795,
"delta": 0.0282,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3739,
"after": 0.3733,
"delta": -0.0006,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.789,
"after": 0.7791,
"delta": -0.0099,
"percent_delta": -0.0125,
"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.2169,
"after": 0.2232,
"delta": 0.0063,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2682,
"after": 0.2468,
"delta": -0.0214,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.95), rates preserved: AVG=0.221 HR/AB=0.040",
"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.1108,
"after": 0.0,
"delta": -0.1108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0015,
"after": 0.0,
"delta": -0.0015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9156,
"after": 4.0,
"delta": 0.0844,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1224,
"after": 0.0,
"delta": -0.1224,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.874,
"after": 1.0,
"delta": 0.126,
"percent_delta": 0.1442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5795,
"after": 1.0,
"delta": 0.4205,
"percent_delta": 0.7256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7791,
"after": 1.0,
"delta": 0.2209,
"percent_delta": 0.2835,
"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.5795,
"after": 1.0,
"delta": 0.4205,
"percent_delta": 0.7256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"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.5308,
"after": 1.0,
"delta": 0.4692,
"percent_delta": 0.8839,
"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.5308,
"after": 1.0,
"delta": 0.4692,
"percent_delta": 0.8839,
"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.2232,
"after": 0.25,
"delta": 0.0268,
"percent_delta": 0.1201,
"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.2468,
"after": 0.25,
"delta": 0.0032,
"percent_delta": 0.013,
"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.3733,
"after": 0.25,
"delta": -0.1233,
"percent_delta": -0.3303,
"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.2232,
"after": 0.25,
"delta": 0.0268,
"percent_delta": 0.1201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3733,
"after": 0.25,
"delta": -0.1233,
"percent_delta": -0.3303,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"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": 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.2232,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2468,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3733,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2232,
"delta": -0.0268,
"percent_delta": -0.1072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2468,
"delta": -0.0032,
"percent_delta": -0.013,
"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.3733,
"delta": 0.1233,
"percent_delta": 0.4933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3733,
"delta": 0.1233,
"percent_delta": 0.4933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2232,
"delta": -0.0268,
"percent_delta": -0.1072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.952,
"after": 4.0,
"delta": 0.048,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2232,
"delta": 0.0002,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.095,
"after": 0.0,
"delta": -0.095,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2468,
"delta": -0.0272,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.476,
"after": 1.0,
"delta": 0.524,
"percent_delta": 1.1008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 2.0,
"delta": 1.46,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3733,
"delta": -0.0047,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"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.54,
"after": 2.0,
"delta": 1.46,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.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.095 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.952 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.095 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.476 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 0.810 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | 0.016 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.916 | -0.036 |
| predicted_AVG | 0.217 | -0.006 |
| predicted_BB | 0.121 | 0.026 |
| predicted_H | 0.849 | -0.031 |
| predicted_HBP | 0.102 | - |
| predicted_HR | 0.153 | 0.003 |
| predicted_OBP | 0.268 | -0.006 |
| predicted_R | 0.505 | 0.029 |
| predicted_RBI | 0.551 | 0.011 |
| predicted_SLG | 0.374 | -0.004 |
| predicted_SO | 0.789 | -0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.916 | 0.000 |
| predicted_AVG | 0.223 | 0.006 |
| predicted_BB | 0.122 | 0.002 |
| predicted_H | 0.874 | 0.025 |
| predicted_HBP | 0.102 | 0.000 |
| predicted_HR | 0.158 | 0.005 |
| predicted_OBP | 0.247 | -0.021 |
| predicted_R | 0.531 | 0.026 |
| predicted_RBI | 0.580 | 0.028 |
| predicted_SLG | 0.373 | -0.001 |
| predicted_SO | 0.779 | -0.010 |
AB rounded to 4 (raw=3.95), rates preserved: AVG=0.221 HR/AB=0.040
| 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.111 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.084 |
| predicted_AVG | 0.250 | 0.027 |
| predicted_BB | 0.000 | -0.122 |
| predicted_H | 1.000 | 0.126 |
| predicted_HR | 0.000 | -0.158 |
| predicted_OBP | 0.250 | 0.003 |
| predicted_R | 1.000 | 0.469 |
| predicted_RBI | 1.000 | 0.420 |
| predicted_SLG | 0.250 | -0.123 |
| predicted_SO | 1.000 | 0.221 |
Attached 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 | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 2.000 | 0.2222 | 0.2632 | 0.4444 | 0.2222 | 0.0556 | 0.2222 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 1.000 | 0.000 | 2.000 | 7.000 | 6.000 | 1.000 | 8.000 | 0.1579 | 0.2195 | 0.3421 | 0.1579 | 0.0526 | 0.1842 | 0.0263 | 0.2105 |
| season | 0.60 | 21 | - | 83.000 | 16.000 | 2.000 | 0.000 | 3.000 | 10.000 | 10.000 | 2.000 | 17.000 | 0.1928 | 0.2386 | 0.3253 | 0.1928 | 0.0361 | 0.1205 | 0.0241 | 0.2048 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1370 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.8550 |
| predicted_AVG | 0.2067 |
| predicted_BB | 0.1640 |
| predicted_H | 0.7970 |
| predicted_HBP | 0.1020 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.2585 |
| predicted_R | 0.5530 |
| predicted_RBI | 0.5700 |
| predicted_SLG | 0.3670 |
| predicted_SO | 0.7540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0950 | 0.1370 | 0.1108 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 3.9520 | 3.8550 | 3.9156 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2067 | 0.2169 | model_form_blend |
| predicted_BB | 0.0950 | 0.1640 | 0.1209 | model_form_blend |
| predicted_H | 0.8800 | 0.7970 | 0.8488 | model_form_blend |
| predicted_HBP | - | 0.1020 | 0.1020 | form_only |
| predicted_HR | 0.1500 | 0.1580 | 0.1530 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2585 | 0.2682 | model_form_blend |
| predicted_R | 0.4760 | 0.5530 | 0.5049 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5700 | 0.5513 | model_form_blend |
| predicted_SLG | 0.3780 | 0.3670 | 0.3739 | model_form_blend |
| predicted_SO | 0.8100 | 0.7540 | 0.7890 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 45 |
| Season rows before report date | 45 |
| Report year | 2026 |
| Profile rows used | 21 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 1 |
| 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260614_SEA@WAS |
| game_type | full |
| mlbID | 686611 |
| playerID | 686611 |
| playerName | Dylan Crews |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 2.4 |
| sl_woba | 0.252 |
| sl_xwoba | 0.338 |
| sl_xba | 0.268 |
| sl_xslg | 0.474 |
| sl_sweet_spot_percent | 31.1 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 24.7 |
| 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.318 | 0.000 | 0.000 | Hitting_2B | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.227 | 3.000 | 3.000 | Hitting_AB | 3.455 | 4.000 | -0.455 | -1.000 |
| predicted_AVG | 0.268 | 0.000 | 0.333 | Hitting_AVG | 0.264 | 0.750 | -0.264 | -0.750 |
| predicted_BB | 0.091 | 0.000 | 0.000 | Hitting_BB | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 0.911 | 3.000 | -0.911 | -3.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.154 | 1.000 | -0.154 | -1.000 |
| predicted_OBP | 0.315 | 0.000 | 0.333 | Hitting_OBP | 0.282 | 0.750 | -0.282 | -0.750 |
| predicted_R | 0.455 | 0.000 | 1.000 | Hitting_R | 0.488 | 2.000 | -0.488 | -2.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.772 | 2.000 | -0.772 | -2.000 |
| predicted_SLG | 0.450 | 0.000 | 0.333 | Hitting_SLG | 0.504 | 1.500 | -0.504 | -1.500 |
| predicted_SO | 0.432 | 0.000 | 0.000 | Hitting_SO | 0.577 | 0.000 | -0.577 | 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_SLG: 0.4500 -> 0.4773 (boost 0.0273, better) |
| Biggest Deboost | predicted_H: 0.7900 -> 0.0000 (deboost -0.7900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.7900 -> 0.8682 (boost 0.0782, better) | - | Final model input calibrated with local 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.4680 -> 0.4773 (boost 0.0093, better) | predicted_OBP: 0.3168 -> 0.2949 (deboost -0.0219, 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.8940 -> 1.0000 (boost 0.1060, better) | predicted_RBI: 0.5232 -> 0.0000 (deboost -0.5232, worse) | AB rounded to 3 (raw=3.29), rates preserved: AVG=0.272 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5028 -> 1.0000 (boost 0.4972, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2720 -> 0.3330 (boost 0.0610, better) | predicted_SLG: 0.4773 -> 0.3330 (deboost -0.1443, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4773 (boost 0.1443, better) | predicted_AVG: 0.3330 -> 0.2720 (deboost -0.0610, 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.318,
"predicted_3B": 0.0,
"predicted_AB": 3.227,
"predicted_AVG": 0.268,
"predicted_BB": 0.091,
"predicted_H": 0.79,
"predicted_HR": 0.11,
"predicted_OBP": 0.315,
"predicted_R": 0.455,
"predicted_RBI": 0.46,
"predicted_SLG": 0.45,
"predicted_SO": 0.432
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2951,
"predicted_3B": 0.0008,
"predicted_AB": 3.2863,
"predicted_AVG": 0.2776,
"predicted_BB": 0.1054,
"predicted_H": 0.8682,
"predicted_HBP": 0.017,
"predicted_HR": 0.122,
"predicted_OBP": 0.3168,
"predicted_R": 0.4783,
"predicted_RBI": 0.4977,
"predicted_SLG": 0.468,
"predicted_SO": 0.4063
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.318,
"after": 0.2951,
"delta": -0.0229,
"percent_delta": -0.072,
"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": 3.227,
"after": 3.2863,
"delta": 0.0593,
"percent_delta": 0.0184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2776,
"delta": 0.0096,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.091,
"after": 0.1054,
"delta": 0.0144,
"percent_delta": 0.1582,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.8682,
"delta": 0.0782,
"percent_delta": 0.099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.122,
"delta": 0.012,
"percent_delta": 0.1091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.3168,
"delta": 0.0018,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.4783,
"delta": 0.0233,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4977,
"delta": 0.0377,
"percent_delta": 0.082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.468,
"delta": 0.018,
"percent_delta": 0.04,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.432,
"after": 0.4063,
"delta": -0.0257,
"percent_delta": -0.0595,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.8682,
"delta": 0.0782,
"percent_delta": 0.099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2951,
"predicted_3B": 0.0008,
"predicted_AB": 3.2863,
"predicted_AVG": 0.272,
"predicted_BB": 0.1067,
"predicted_H": 0.894,
"predicted_HBP": 0.017,
"predicted_HR": 0.126,
"predicted_OBP": 0.2949,
"predicted_R": 0.5028,
"predicted_RBI": 0.5232,
"predicted_SLG": 0.4773,
"predicted_SO": 0.4012
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2951,
"after": 0.2951,
"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.2863,
"after": 3.2863,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2776,
"after": 0.272,
"delta": -0.0056,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1054,
"after": 0.1067,
"delta": 0.0013,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8682,
"after": 0.894,
"delta": 0.0258,
"percent_delta": 0.0297,
"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.122,
"after": 0.126,
"delta": 0.004,
"percent_delta": 0.0328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3168,
"after": 0.2949,
"delta": -0.0219,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4783,
"after": 0.5028,
"delta": 0.0245,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4977,
"after": 0.5232,
"delta": 0.0255,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.4773,
"delta": 0.0093,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4063,
"after": 0.4012,
"delta": -0.0051,
"percent_delta": -0.0126,
"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.468,
"after": 0.4773,
"delta": 0.0093,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3168,
"after": 0.2949,
"delta": -0.0219,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.29), rates preserved: AVG=0.272 HR/AB=0.038",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2951,
"after": 0.0,
"delta": -0.2951,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2863,
"after": 3.0,
"delta": -0.2863,
"percent_delta": -0.0871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1067,
"after": 0.0,
"delta": -0.1067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.894,
"after": 1.0,
"delta": 0.106,
"percent_delta": 0.1186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.126,
"after": 0.0,
"delta": -0.126,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5232,
"after": 0.0,
"delta": -0.5232,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4012,
"after": 0.0,
"delta": -0.4012,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.894,
"after": 1.0,
"delta": 0.106,
"percent_delta": 0.1186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5232,
"after": 0.0,
"delta": -0.5232,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.5028,
"after": 1.0,
"delta": 0.4972,
"percent_delta": 0.9889,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5028,
"after": 1.0,
"delta": 0.4972,
"percent_delta": 0.9889,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.272,
"after": 0.333,
"delta": 0.061,
"percent_delta": 0.2243,
"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.2949,
"after": 0.333,
"delta": 0.0381,
"percent_delta": 0.1292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4773,
"after": 0.333,
"delta": -0.1443,
"percent_delta": -0.3023,
"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.272,
"after": 0.333,
"delta": 0.061,
"percent_delta": 0.2243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4773,
"after": 0.333,
"delta": -0.1443,
"percent_delta": -0.3023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.272,
"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.2949,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4773,
"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.272,
"delta": -0.061,
"percent_delta": -0.1831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2949,
"delta": -0.0381,
"percent_delta": -0.1143,
"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.4773,
"delta": 0.1443,
"percent_delta": 0.4334,
"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.4773,
"delta": 0.1443,
"percent_delta": 0.4334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.272,
"delta": -0.061,
"percent_delta": -0.1831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.318,
"after": 0.0,
"delta": -0.318,
"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.227,
"after": 3.0,
"delta": -0.227,
"percent_delta": -0.0703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.272,
"delta": 0.004,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.315,
"after": 0.2949,
"delta": -0.0201,
"percent_delta": -0.0638,
"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.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.45,
"after": 0.4773,
"delta": 0.0273,
"percent_delta": 0.0607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.432,
"after": 0.0,
"delta": -0.432,
"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.45,
"after": 0.4773,
"delta": 0.0273,
"percent_delta": 0.0607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.318 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.227 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.091 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.315 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.450 | - |
| predicted_SO | 0.432 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.295 | -0.023 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.286 | 0.059 |
| predicted_AVG | 0.278 | 0.010 |
| predicted_BB | 0.105 | 0.014 |
| predicted_H | 0.868 | 0.078 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.122 | 0.012 |
| predicted_OBP | 0.317 | 0.002 |
| predicted_R | 0.478 | 0.023 |
| predicted_RBI | 0.498 | 0.038 |
| predicted_SLG | 0.468 | 0.018 |
| predicted_SO | 0.406 | -0.026 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.295 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.286 | 0.000 |
| predicted_AVG | 0.272 | -0.006 |
| predicted_BB | 0.107 | 0.001 |
| predicted_H | 0.894 | 0.026 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.126 | 0.004 |
| predicted_OBP | 0.295 | -0.022 |
| predicted_R | 0.503 | 0.025 |
| predicted_RBI | 0.523 | 0.026 |
| predicted_SLG | 0.477 | 0.009 |
| predicted_SO | 0.401 | -0.005 |
AB rounded to 3 (raw=3.29), rates preserved: AVG=0.272 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.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.295 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.286 |
| predicted_AVG | 0.333 | 0.061 |
| predicted_BB | 0.000 | -0.107 |
| predicted_H | 1.000 | 0.106 |
| predicted_HR | 0.000 | -0.126 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 1.000 | 0.497 |
| predicted_RBI | 0.000 | -0.523 |
| predicted_SLG | 0.333 | -0.144 |
| predicted_SO | 0.000 | -0.401 |
Attached 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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 0.000 | 0.3333 | 0.3333 | 0.5556 | 0.3333 | 0.0556 | 0.1111 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 10 | - | 31.000 | 10.000 | 2.000 | 0.000 | 1.000 | 4.000 | 6.000 | 2.000 | 1.000 | 0.3226 | 0.3636 | 0.4839 | 0.3226 | 0.0323 | 0.1290 | 0.0645 | 0.0323 |
| season | 0.60 | 44 | - | 142.000 | 40.000 | 14.000 | 0.000 | 6.000 | 29.000 | 20.000 | 4.000 | 19.000 | 0.2817 | 0.3020 | 0.5070 | 0.2817 | 0.0423 | 0.2042 | 0.0282 | 0.1338 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2610 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3750 |
| predicted_AVG | 0.2919 |
| predicted_BB | 0.1270 |
| predicted_H | 0.9850 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.3194 |
| predicted_R | 0.5130 |
| predicted_RBI | 0.5540 |
| predicted_SLG | 0.4949 |
| predicted_SO | 0.3680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3180 | 0.2610 | 0.2951 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2270 | 3.3750 | 3.2863 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2919 | 0.2776 | model_form_blend |
| predicted_BB | 0.0910 | 0.1270 | 0.1054 | model_form_blend |
| predicted_H | 0.7900 | 0.9850 | 0.8682 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1100 | 0.1400 | 0.1220 | model_form_blend |
| predicted_OBP | 0.3150 | 0.3194 | 0.3168 | model_form_blend |
| predicted_R | 0.4550 | 0.5130 | 0.4783 | model_form_blend |
| predicted_RBI | 0.4600 | 0.5540 | 0.4977 | model_form_blend |
| predicted_SLG | 0.4500 | 0.4949 | 0.4680 | model_form_blend |
| predicted_SO | 0.4320 | 0.3680 | 0.4063 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 44 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| 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 | C |
| gameID | 20260614_SEA@WAS |
| game_type | full |
| mlbID | 660688 |
| playerID | 660688 |
| playerName | Keibert Ruiz |
| pos | C |
| started | True |
| startingPosition | C |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-14 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 2.8 |
| sl_woba | 0.329 |
| sl_xwoba | 0.262 |
| sl_xba | 0.22 |
| sl_xslg | 0.357 |
| sl_sweet_spot_percent | 30.6 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 39.7 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 18.3 |
| sl_whiff_percent | 14.3 |
| 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.129 | 0.000 | 0.000 | Hitting_2B | 0.090 | 2.000 | -0.090 | -2.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.532 | 4.000 | 4.000 | Hitting_AB | 3.608 | 4.000 | 0.392 | 0.000 |
| predicted_AVG | 0.255 | 0.250 | 0.250 | Hitting_AVG | 0.235 | 0.500 | 0.015 | -0.250 |
| predicted_BB | 0.177 | 0.000 | 0.000 | Hitting_BB | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.790 | 1.000 | 1.000 | Hitting_H | 0.849 | 2.000 | 0.151 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.288 | 0.250 | 0.250 | Hitting_OBP | 0.287 | 0.500 | -0.037 | -0.250 |
| predicted_R | 0.500 | 0.000 | 1.000 | Hitting_R | 0.533 | 1.000 | -0.533 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.443 | 1.000 | -0.443 | -1.000 |
| predicted_SLG | 0.418 | 0.250 | 0.250 | Hitting_SLG | 0.363 | 1.000 | -0.113 | -0.750 |
| predicted_SO | 0.726 | 0.000 | 1.000 | Hitting_SO | 0.642 | 1.000 | -0.642 | -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_AB: 3.5320 -> 4.0000 (boost 0.4680, better) |
| Biggest Deboost | predicted_SO: 0.7260 -> 0.0000 (deboost -0.7260, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 1 | 1 | predicted_SO: 0.7260 -> 0.8160 (boost 0.0900, 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.4263 -> 0.4047 (deboost -0.0216, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_AB: 3.5578 -> 4.0000 (boost 0.4422, better) | predicted_RBI: 0.4029 -> 0.0000 (deboost -0.4029, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.241 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5563 -> 1.0000 (boost 0.4437, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2411 -> 0.2500 (boost 0.0089, better) | predicted_SLG: 0.4047 -> 0.2500 (deboost -0.1547, 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_R: 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.4047 (boost 0.1547, better) | predicted_AVG: 0.2500 -> 0.2411 (deboost -0.0089, worse) | 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.129,
"predicted_3B": 0.032,
"predicted_AB": 3.532,
"predicted_AVG": 0.255,
"predicted_BB": 0.177,
"predicted_H": 0.79,
"predicted_HR": 0.1,
"predicted_OBP": 0.288,
"predicted_R": 0.5,
"predicted_RBI": 0.38,
"predicted_SLG": 0.418,
"predicted_SO": 0.726
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1561,
"predicted_3B": 0.0562,
"predicted_AB": 3.5578,
"predicted_AVG": 0.2522,
"predicted_BB": 0.1566,
"predicted_H": 0.8329,
"predicted_HBP": 0.03,
"predicted_HR": 0.1012,
"predicted_OBP": 0.2846,
"predicted_R": 0.5292,
"predicted_RBI": 0.3833,
"predicted_SLG": 0.4263,
"predicted_SO": 0.816
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1561,
"delta": 0.0271,
"percent_delta": 0.2101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0562,
"delta": 0.0242,
"percent_delta": 0.7562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.532,
"after": 3.5578,
"delta": 0.0258,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2522,
"delta": -0.0028,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.177,
"after": 0.1566,
"delta": -0.0204,
"percent_delta": -0.1153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.8329,
"delta": 0.0429,
"percent_delta": 0.0543,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1012,
"delta": 0.0012,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2846,
"delta": -0.0034,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.5292,
"delta": 0.0292,
"percent_delta": 0.0584,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3833,
"delta": 0.0033,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4263,
"delta": 0.0083,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.726,
"after": 0.816,
"delta": 0.09,
"percent_delta": 0.124,
"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_SO",
"before": 0.726,
"after": 0.816,
"delta": 0.09,
"percent_delta": 0.124,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 62
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1561,
"predicted_3B": 0.0562,
"predicted_AB": 3.5578,
"predicted_AVG": 0.2411,
"predicted_BB": 0.1586,
"predicted_H": 0.8576,
"predicted_HBP": 0.03,
"predicted_HR": 0.1045,
"predicted_OBP": 0.2734,
"predicted_R": 0.5563,
"predicted_RBI": 0.4029,
"predicted_SLG": 0.4047,
"predicted_SO": 0.8058
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1561,
"after": 0.1561,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0562,
"after": 0.0562,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5578,
"after": 3.5578,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2522,
"after": 0.2411,
"delta": -0.0111,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1566,
"after": 0.1586,
"delta": 0.002,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8329,
"after": 0.8576,
"delta": 0.0247,
"percent_delta": 0.0297,
"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.1012,
"after": 0.1045,
"delta": 0.0033,
"percent_delta": 0.0326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2846,
"after": 0.2734,
"delta": -0.0112,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5292,
"after": 0.5563,
"delta": 0.0271,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3833,
"after": 0.4029,
"delta": 0.0196,
"percent_delta": 0.0511,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4263,
"after": 0.4047,
"delta": -0.0216,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.816,
"after": 0.8058,
"delta": -0.0102,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4263,
"after": 0.4047,
"delta": -0.0216,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.241 HR/AB=0.029",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1561,
"after": 0.0,
"delta": -0.1561,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0562,
"after": 0.0,
"delta": -0.0562,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.5578,
"after": 4.0,
"delta": 0.4422,
"percent_delta": 0.1243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1586,
"after": 0.0,
"delta": -0.1586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8576,
"after": 1.0,
"delta": 0.1424,
"percent_delta": 0.166,
"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.1045,
"after": 0.0,
"delta": -0.1045,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4029,
"after": 0.0,
"delta": -0.4029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8058,
"after": 1.0,
"delta": 0.1942,
"percent_delta": 0.241,
"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": 3.5578,
"after": 4.0,
"delta": 0.4422,
"percent_delta": 0.1243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4029,
"after": 0.0,
"delta": -0.4029,
"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.5563,
"after": 1.0,
"delta": 0.4437,
"percent_delta": 0.7976,
"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.5563,
"after": 1.0,
"delta": 0.4437,
"percent_delta": 0.7976,
"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.2411,
"after": 0.25,
"delta": 0.0089,
"percent_delta": 0.0369,
"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.2734,
"after": 0.25,
"delta": -0.0234,
"percent_delta": -0.0856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4047,
"after": 0.25,
"delta": -0.1547,
"percent_delta": -0.3823,
"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.2411,
"after": 0.25,
"delta": 0.0089,
"percent_delta": 0.0369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4047,
"after": 0.25,
"delta": -0.1547,
"percent_delta": -0.3823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2411,
"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.2734,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4047,
"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.2411,
"delta": -0.0089,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2734,
"delta": 0.0234,
"percent_delta": 0.0938,
"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.4047,
"delta": 0.1547,
"percent_delta": 0.6186,
"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.4047,
"delta": 0.1547,
"percent_delta": 0.6186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2411,
"delta": -0.0089,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.532,
"after": 4.0,
"delta": 0.468,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2411,
"delta": -0.0139,
"percent_delta": -0.0545,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.177,
"after": 0.0,
"delta": -0.177,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2734,
"delta": -0.0146,
"percent_delta": -0.0507,
"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.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.4047,
"delta": -0.0133,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.726,
"after": 0.0,
"delta": -0.726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.532,
"after": 4.0,
"delta": 0.468,
"percent_delta": 0.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.726,
"after": 0.0,
"delta": -0.726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.532 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.177 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.418 | - |
| predicted_SO | 0.726 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.027 |
| predicted_3B | 0.056 | 0.024 |
| predicted_AB | 3.558 | 0.026 |
| predicted_AVG | 0.252 | -0.003 |
| predicted_BB | 0.157 | -0.020 |
| predicted_H | 0.833 | 0.043 |
| predicted_HBP | 0.030 | - |
| predicted_HR | 0.101 | 0.001 |
| predicted_OBP | 0.285 | -0.003 |
| predicted_R | 0.529 | 0.029 |
| predicted_RBI | 0.383 | 0.003 |
| predicted_SLG | 0.426 | 0.008 |
| predicted_SO | 0.816 | 0.090 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 3.558 | 0.000 |
| predicted_AVG | 0.241 | -0.011 |
| predicted_BB | 0.159 | 0.002 |
| predicted_H | 0.858 | 0.025 |
| predicted_HBP | 0.030 | 0.000 |
| predicted_HR | 0.104 | 0.003 |
| predicted_OBP | 0.273 | -0.011 |
| predicted_R | 0.556 | 0.027 |
| predicted_RBI | 0.403 | 0.020 |
| predicted_SLG | 0.405 | -0.022 |
| predicted_SO | 0.806 | -0.010 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.241 HR/AB=0.029
| 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.156 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 4.000 | 0.442 |
| predicted_AVG | 0.250 | 0.009 |
| predicted_BB | 0.000 | -0.159 |
| predicted_H | 1.000 | 0.142 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.250 | -0.023 |
| predicted_R | 1.000 | 0.444 |
| predicted_RBI | 0.000 | -0.403 |
| predicted_SLG | 0.250 | -0.155 |
| predicted_SO | 1.000 | 0.194 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 2.000 | 1.000 | 0.000 | 1.000 | 4.000 | 0.000 | 7.000 | 0.2632 | 0.2632 | 0.4737 | 0.2632 | 0.0000 | 0.0526 | 0.0000 | 0.3684 |
| last_10 | 0.20 | 10 | - | 34.000 | 9.000 | 2.000 | 2.000 | 1.000 | 3.000 | 6.000 | 0.000 | 12.000 | 0.2647 | 0.2647 | 0.5294 | 0.2647 | 0.0294 | 0.0882 | 0.0000 | 0.3529 |
| season | 0.60 | 62 | - | 219.000 | 52.000 | 8.000 | 2.000 | 8.000 | 28.000 | 31.000 | 11.000 | 45.000 | 0.2374 | 0.2833 | 0.4018 | 0.2374 | 0.0365 | 0.1278 | 0.0502 | 0.2055 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.0900 |
| predicted_AB | 3.5940 |
| predicted_AVG | 0.2483 |
| predicted_BB | 0.1280 |
| predicted_H | 0.8930 |
| predicted_HBP | 0.0300 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.2799 |
| predicted_R | 0.5700 |
| predicted_RBI | 0.3880 |
| predicted_SLG | 0.4380 |
| predicted_SO | 0.9420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.1940 | 0.1561 | model_form_blend |
| predicted_3B | 0.0320 | 0.0900 | 0.0562 | model_form_blend |
| predicted_AB | 3.5320 | 3.5940 | 3.5578 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2483 | 0.2522 | model_form_blend |
| predicted_BB | 0.1770 | 0.1280 | 0.1566 | model_form_blend |
| predicted_H | 0.7900 | 0.8930 | 0.8329 | model_form_blend |
| predicted_HBP | - | 0.0300 | 0.0300 | form_only |
| predicted_HR | 0.1000 | 0.1030 | 0.1012 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2799 | 0.2846 | model_form_blend |
| predicted_R | 0.5000 | 0.5700 | 0.5292 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3880 | 0.3833 | model_form_blend |
| predicted_SLG | 0.4180 | 0.4380 | 0.4263 | model_form_blend |
| predicted_SO | 0.7260 | 0.9420 | 0.8160 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 62 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.237 |
| 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 | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| 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 | 20260614_SEA@WAS |
| game_type | full |
| mlbID | 696285 |
| playerID | 696285 |
| playerName | Jacob Young |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-14 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.297 |
| sl_xwoba | 0.309 |
| sl_xba | 0.26 |
| sl_xslg | 0.396 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 37.2 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 19.8 |
| 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.049 | 1.000 | 0.000 | Hitting_2B | 0.044 | 0.000 | 0.956 | 1.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.262 | 2.000 | 3.000 | Hitting_AB | 3.345 | 4.000 | -1.345 | -2.000 |
| predicted_AVG | 0.246 | 0.500 | 0.333 | Hitting_AVG | 0.196 | 0.250 | 0.304 | 0.250 |
| predicted_BB | 0.377 | 1.000 | 0.000 | Hitting_BB | 0.456 | 0.000 | 0.544 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.660 | 1.000 | 1.000 | Hitting_H | 0.655 | 1.000 | 0.345 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.294 | 0.667 | 0.333 | Hitting_OBP | 0.295 | 0.250 | 0.372 | 0.417 |
| predicted_R | 0.377 | 1.000 | 0.000 | Hitting_R | 0.427 | 1.000 | 0.573 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.335 | 2.000 | -0.335 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.451 | 0.000 | -0.451 | 0.000 |
| predicted_SLG | 0.303 | 1.000 | 0.333 | Hitting_SLG | 0.221 | 0.250 | 0.779 | 0.750 |
| predicted_SO | 0.852 | 0.000 | 1.000 | Hitting_SO | 0.874 | 2.000 | -0.874 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.0490 -> 1.0000 (boost 0.9510, better) |
| Biggest Deboost | predicted_AB: 3.2620 -> 2.0000 (deboost -1.2620, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.8520 -> 0.9164 (boost 0.0644, worse) | predicted_SLG: 0.3030 -> 0.2902 (deboost -0.0128, 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.2372 -> 0.2181 (deboost -0.0191, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.7223 -> 1.0000 (boost 0.2777, better) | predicted_RBI: 0.4558 -> 0.0000 (deboost -0.4558, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.218 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3981 -> 0.0000 (deboost -0.3981, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2181 -> 0.3330 (boost 0.1149, better) | - | 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2181 (deboost -0.1149, worse) | 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.049,
"predicted_3B": 0.016,
"predicted_AB": 3.262,
"predicted_AVG": 0.246,
"predicted_BB": 0.377,
"predicted_H": 0.66,
"predicted_HR": 0.04,
"predicted_OBP": 0.294,
"predicted_R": 0.377,
"predicted_RBI": 0.39,
"predicted_SLG": 0.303,
"predicted_SO": 0.852
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0694,
"predicted_3B": 0.0139,
"predicted_AB": 3.3119,
"predicted_AVG": 0.2372,
"predicted_BB": 0.3404,
"predicted_H": 0.7015,
"predicted_HBP": 0.013,
"predicted_HR": 0.0292,
"predicted_OBP": 0.2915,
"predicted_R": 0.3787,
"predicted_RBI": 0.4336,
"predicted_SLG": 0.2902,
"predicted_SO": 0.9164
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.049,
"after": 0.0694,
"delta": 0.0204,
"percent_delta": 0.4163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0139,
"delta": -0.0021,
"percent_delta": -0.1313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.262,
"after": 3.3119,
"delta": 0.0499,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2372,
"delta": -0.0088,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.377,
"after": 0.3404,
"delta": -0.0366,
"percent_delta": -0.0971,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.7015,
"delta": 0.0415,
"percent_delta": 0.0629,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0292,
"delta": -0.0108,
"percent_delta": -0.27,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2915,
"delta": -0.0025,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 0.3787,
"delta": 0.0017,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.4336,
"delta": 0.0436,
"percent_delta": 0.1118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.2902,
"delta": -0.0128,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 0.9164,
"delta": 0.0644,
"percent_delta": 0.0756,
"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.852,
"after": 0.9164,
"delta": 0.0644,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.2902,
"delta": -0.0128,
"percent_delta": -0.0422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 61
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0694,
"predicted_3B": 0.0139,
"predicted_AB": 3.3119,
"predicted_AVG": 0.2181,
"predicted_BB": 0.3447,
"predicted_H": 0.7223,
"predicted_HBP": 0.013,
"predicted_HR": 0.0302,
"predicted_OBP": 0.2918,
"predicted_R": 0.3981,
"predicted_RBI": 0.4558,
"predicted_SLG": 0.2748,
"predicted_SO": 0.9049
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0694,
"after": 0.0694,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0139,
"after": 0.0139,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3119,
"after": 3.3119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2372,
"after": 0.2181,
"delta": -0.0191,
"percent_delta": -0.0805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3404,
"after": 0.3447,
"delta": 0.0043,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7015,
"after": 0.7223,
"delta": 0.0208,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0292,
"after": 0.0302,
"delta": 0.001,
"percent_delta": 0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2915,
"after": 0.2918,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3787,
"after": 0.3981,
"delta": 0.0194,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4336,
"after": 0.4558,
"delta": 0.0222,
"percent_delta": 0.0512,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2902,
"after": 0.2748,
"delta": -0.0154,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9164,
"after": 0.9049,
"delta": -0.0115,
"percent_delta": -0.0125,
"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.2372,
"after": 0.2181,
"delta": -0.0191,
"percent_delta": -0.0805,
"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.218 HR/AB=0.009",
"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.0694,
"after": 0.0,
"delta": -0.0694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0139,
"after": 0.0,
"delta": -0.0139,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3119,
"after": 3.0,
"delta": -0.3119,
"percent_delta": -0.0942,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3447,
"after": 0.0,
"delta": -0.3447,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7223,
"after": 1.0,
"delta": 0.2777,
"percent_delta": 0.3845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0302,
"after": 0.0,
"delta": -0.0302,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4558,
"after": 0.0,
"delta": -0.4558,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9049,
"after": 1.0,
"delta": 0.0951,
"percent_delta": 0.1051,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7223,
"after": 1.0,
"delta": 0.2777,
"percent_delta": 0.3845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4558,
"after": 0.0,
"delta": -0.4558,
"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.3981,
"after": 0.0,
"delta": -0.3981,
"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.3981,
"after": 0.0,
"delta": -0.3981,
"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.2181,
"after": 0.333,
"delta": 0.1149,
"percent_delta": 0.5268,
"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.2918,
"after": 0.333,
"delta": 0.0412,
"percent_delta": 0.1412,
"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.2748,
"after": 0.333,
"delta": 0.0582,
"percent_delta": 0.2118,
"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.2181,
"after": 0.333,
"delta": 0.1149,
"percent_delta": 0.5268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 0.0,
"delta": -1.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_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": 3.0,
"after": 2.0,
"delta": -1.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": 2.0,
"predicted_AVG": 0.2181,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2918,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2748,
"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": 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.333,
"after": 0.2181,
"delta": -0.1149,
"percent_delta": -0.345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2918,
"delta": -0.0412,
"percent_delta": -0.1237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2748,
"delta": -0.0582,
"percent_delta": -0.1749,
"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.2181,
"delta": -0.1149,
"percent_delta": -0.345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.049,
"after": 1.0,
"delta": 0.951,
"percent_delta": 19.4082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.262,
"after": 2.0,
"delta": -1.262,
"percent_delta": -0.3869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2181,
"delta": -0.0279,
"percent_delta": -0.1134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.377,
"after": 1.0,
"delta": 0.623,
"percent_delta": 1.6525,
"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.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2918,
"delta": -0.0022,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.377,
"after": 1.0,
"delta": 0.623,
"percent_delta": 1.6525,
"direction": "boost",
"projection_effect": "better",
"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.303,
"after": 0.2748,
"delta": -0.0282,
"percent_delta": -0.0931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.852,
"after": 0.0,
"delta": -0.852,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.049,
"after": 1.0,
"delta": 0.951,
"percent_delta": 19.4082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.262,
"after": 2.0,
"delta": -1.262,
"percent_delta": -0.3869,
"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.049 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.262 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.377 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.377 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.303 | - |
| predicted_SO | 0.852 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | 0.020 |
| predicted_3B | 0.014 | -0.002 |
| predicted_AB | 3.312 | 0.050 |
| predicted_AVG | 0.237 | -0.009 |
| predicted_BB | 0.340 | -0.037 |
| predicted_H | 0.702 | 0.041 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.029 | -0.011 |
| predicted_OBP | 0.291 | -0.003 |
| predicted_R | 0.379 | 0.002 |
| predicted_RBI | 0.434 | 0.044 |
| predicted_SLG | 0.290 | -0.013 |
| predicted_SO | 0.916 | 0.064 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.312 | 0.000 |
| predicted_AVG | 0.218 | -0.019 |
| predicted_BB | 0.345 | 0.004 |
| predicted_H | 0.722 | 0.021 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.030 | 0.001 |
| predicted_OBP | 0.292 | 0.000 |
| predicted_R | 0.398 | 0.019 |
| predicted_RBI | 0.456 | 0.022 |
| predicted_SLG | 0.275 | -0.015 |
| predicted_SO | 0.905 | -0.011 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.218 HR/AB=0.009
| 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.069 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 3.000 | -0.312 |
| predicted_AVG | 0.333 | 0.115 |
| predicted_BB | 0.000 | -0.345 |
| predicted_H | 1.000 | 0.278 |
| predicted_HR | 0.000 | -0.030 |
| predicted_OBP | 0.333 | 0.041 |
| predicted_R | 0.000 | -0.398 |
| predicted_RBI | 0.000 | -0.456 |
| predicted_SLG | 0.333 | 0.058 |
| predicted_SO | 1.000 | 0.095 |
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 | -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 | 3.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 0.000 | 4.000 | 2.000 | 1.000 | 8.000 | 0.2222 | 0.2632 | 0.2778 | 0.2222 | 0.0000 | 0.2222 | 0.0556 | 0.4444 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 1.000 | 0.000 | 0.000 | 6.000 | 3.000 | 1.000 | 10.000 | 0.2812 | 0.3030 | 0.3125 | 0.2812 | 0.0000 | 0.1875 | 0.0312 | 0.3125 |
| season | 0.60 | 61 | - | 199.000 | 40.000 | 3.000 | 1.000 | 0.000 | 22.000 | 23.000 | 23.000 | 52.000 | 0.2010 | 0.2857 | 0.2261 | 0.2010 | 0.0000 | 0.1105 | 0.1156 | 0.2613 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.3820 |
| predicted_AVG | 0.2247 |
| predicted_BB | 0.2890 |
| predicted_H | 0.7600 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0140 |
| predicted_OBP | 0.2881 |
| predicted_R | 0.3810 |
| predicted_RBI | 0.4950 |
| predicted_SLG | 0.2721 |
| predicted_SO | 1.0070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0490 | 0.0980 | 0.0694 | model_form_blend |
| predicted_3B | 0.0160 | 0.0110 | 0.0139 | model_form_blend |
| predicted_AB | 3.2620 | 3.3820 | 3.3119 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2247 | 0.2372 | model_form_blend |
| predicted_BB | 0.3770 | 0.2890 | 0.3404 | model_form_blend |
| predicted_H | 0.6600 | 0.7600 | 0.7015 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0400 | 0.0140 | 0.0292 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2881 | 0.2915 | model_form_blend |
| predicted_R | 0.3770 | 0.3810 | 0.3787 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4950 | 0.4336 | model_form_blend |
| predicted_SLG | 0.3030 | 0.2721 | 0.2902 | model_form_blend |
| predicted_SO | 0.8520 | 1.0070 | 0.9164 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 61 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.201 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 2 |
| 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 | 2B |
| gameID | 20260614_SEA@WAS |
| game_type | full |
| mlbID | 683083 |
| playerID | 683083 |
| playerName | Nasim Nuñez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.244 |
| sl_xwoba | 0.269 |
| sl_xba | 0.222 |
| sl_xslg | 0.268 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 19.7 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 8.4 |
| sl_whiff_percent | 23.3 |
| 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_BB | 4.000 | 4.000 | 4.000 | Pitching_BB | 1.571 | 5.000 | 2.429 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.429 | 2.000 | 0.571 | 0.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 3.429 | 5.000 | 1.571 | 0.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 3.343 | 4.000 | 0.757 | 0.100 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 3.714 | 4.000 | 0.286 | 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.0000 -> 4.1000 (deboost -0.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.0000 -> 4.1000 (deboost -0.9000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "674841",
"player_name": "Andrew Alvarez",
"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": 4.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_SO": 4.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": 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": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_R": 2.0,
"predicted_SO": 4.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.1,
"after": 4.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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": 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": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 4.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 4.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.100 | -0.900 |
| 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 | 17.000 | 8.000 | 17.000 | 10.000 | 16.000 | 2.000 | 4.2353 | 1.5882 | 0.4706 | 1.0000 | 0.5882 | 0.9412 | 0.1177 |
| last_10 | 0.35 | 7 | 24.100 | 10.000 | 24.000 | 11.000 | 26.000 | 2.000 | 3.6986 | 1.4384 | 0.4110 | 0.9863 | 0.4521 | 1.0685 | 0.0822 |
| season | 0.20 | 7 | 24.100 | 10.000 | 24.000 | 11.000 | 26.000 | 2.000 | 3.6986 | 1.4384 | 0.4110 | 0.9863 | 0.4521 | 1.0685 | 0.0822 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9120 |
| predicted_ER | 1.9060 |
| predicted_ERA | 4.2581 |
| predicted_H | 3.9740 |
| predicted_HR | 0.5000 |
| predicted_IP | 4.0000 |
| predicted_SO | 3.8500 |
| predicted_WHIP | 1.4612 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 4.0000 | 1.9120 | 3.0104 | model_form_blend |
| predicted_ER | 2.0000 | 1.9060 | 1.9554 | model_form_blend |
| predicted_ERA | - | 4.2581 | 4.2581 | form_only |
| predicted_H | 5.0000 | 3.9740 | 4.5137 | model_form_blend |
| predicted_HR | 0.0000 | 0.5000 | 0.2370 | model_form_blend |
| predicted_IP | 5.0000 | 4.0000 | 4.2000 | model_form_blend |
| predicted_SO | 4.0000 | 3.8500 | 3.9289 | model_form_blend |
| predicted_WHIP | - | 1.4612 | 1.4612 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 7 |
| Season rows before report date | 7 |
| Report year | 2026 |
| Profile rows used | 7 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 4 |
| SO | 4 |
| HR | 0 |
| BF | 22 |
| Pitches | 96 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 5 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 21 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.70 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 5 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 90 |
| Pitching_R | 2 |
| Pitching_SO | 4 |
| Pitching_Strikes | 51 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_WAS@SF |
| game_type | full |
| mlbID | 674841 |
| playerID | 674841 |
| playerName | Andrew Alvarez |
| pos | P |
| started | True |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-09 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.334 |
| sl_xwoba | 0.339 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 45.5 |
| sl_whiff_percent | 28.4 |
| sl_swing_percent | 45.1 |
| sl_avg_best_speed | 79.208506364 |
| sl_avg_hyper_speed | 95.406238182 |
| 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.619 | 1.000 | 0.381 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.524 | 0.000 | -0.524 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.571 | 0.000 | -1.571 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.976 | 2.000 | -0.976 | -1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.762 | 2.000 | -0.762 | -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": "695418",
"player_name": "Brad Lord",
"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": 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 | 10.000 | 0.000 | 3.000 | 7.000 | 8.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.3000 | 0.7000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 21.100 | 1.000 | 10.000 | 7.000 | 21.000 | 1.000 | 0.4219 | 0.7969 | 0.0469 | 0.4688 | 0.3281 | 0.9844 | 0.0469 |
| season | 0.20 | 21 | 45.000 | 11.000 | 33.000 | 13.000 | 37.000 | 4.000 | 2.2000 | 1.0222 | 0.2444 | 0.7333 | 0.2889 | 0.8222 | 0.0889 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7250 |
| predicted_ER | 0.3610 |
| predicted_ERA | 1.9824 |
| predicted_H | 1.0420 |
| predicted_HR | 0.1220 |
| predicted_IP | 1.2000 |
| predicted_SO | 1.4640 |
| predicted_WHIP | 1.0771 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.7250 | 0.8630 | model_form_blend |
| predicted_ER | 0.0000 | 0.3610 | 0.1798 | model_form_blend |
| predicted_ERA | - | 1.9824 | 1.9824 | form_only |
| predicted_H | 0.0000 | 1.0420 | 0.5191 | model_form_blend |
| predicted_HR | 0.0000 | 0.1220 | 0.0608 | model_form_blend |
| predicted_IP | 1.0000 | 1.2000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4640 | 1.2311 | model_form_blend |
| predicted_WHIP | - | 1.0771 | 1.0771 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 35 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.20 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260613_SEA@WAS |
| game_type | full |
| mlbID | 695418 |
| playerID | 695418 |
| playerName | Brad Lord |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-13 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.253 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 23.1 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 50.1 |
| sl_avg_best_speed | 74.19678875 |
| sl_avg_hyper_speed | 94.127476772 |
| 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.684 | 0.000 | -0.684 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.421 | 0.000 | -0.421 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.632 | 0.000 | -0.632 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.984 | 1.000 | 0.016 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.105 | 2.000 | -0.105 | -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": "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": 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 | 4.000 | 6.000 | 1.000 | 7.000 | 0.000 | 6.3529 | 1.2353 | 0.7059 | 1.0588 | 0.1765 | 1.2353 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 4.000 | 8.000 | 5.000 | 14.000 | 0.000 | 3.2727 | 1.1818 | 0.3636 | 0.7273 | 0.4546 | 1.2727 | 0.0000 |
| season | 0.20 | 19 | 20.100 | 8.000 | 12.000 | 13.000 | 21.000 | 2.000 | 3.5410 | 1.2295 | 0.3934 | 0.5902 | 0.6393 | 1.0328 | 0.0984 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3630 |
| predicted_ER | 0.5090 |
| predicted_ERA | 4.5772 |
| predicted_H | 0.9170 |
| predicted_HR | 0.0890 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0560 |
| predicted_WHIP | 1.2807 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3630 | 0.1510 | model_form_blend |
| predicted_ER | 0.0000 | 0.5090 | 0.2117 | model_form_blend |
| predicted_ERA | - | 4.5772 | 4.5772 | form_only |
| predicted_H | 0.0000 | 0.9170 | 0.3815 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0370 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0560 | 1.0233 | model_form_blend |
| predicted_WHIP | - | 1.2807 | 1.2807 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.54 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_SEA@WAS |
| game_type | full |
| mlbID | 690925 |
| playerID | 690925 |
| playerName | Clayton Beeter |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 15.5 |
| sl_woba | 0.283 |
| sl_xwoba | 0.307 |
| sl_sweet_spot_percent | 24.0 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 44.0 |
| sl_whiff_percent | 23.8 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 80.871185 |
| sl_avg_hyper_speed | 94.064628298 |
| 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.464 | 0.000 | 0.536 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.536 | 1.000 | 0.464 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.071 | 1.000 | -0.071 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.750 | 1.000 | 0.250 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.857 | 1.000 | 0.143 | 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": "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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 3.000 | 5.000 | 5.000 | 5.000 | 1.000 | 6.2308 | 2.3077 | 0.6923 | 1.1539 | 1.1539 | 1.1539 | 0.2308 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 9.000 | 7.000 | 7.000 | 1.000 | 3.7241 | 1.6552 | 0.4138 | 0.9310 | 0.7241 | 0.7241 | 0.1035 |
| season | 0.20 | 27 | 25.200 | 12.000 | 28.000 | 12.000 | 24.000 | 2.000 | 4.2078 | 1.5584 | 0.4675 | 1.0909 | 0.4675 | 0.9351 | 0.0779 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6160 |
| predicted_ER | 0.5230 |
| predicted_ERA | 4.7106 |
| predicted_H | 1.0180 |
| predicted_HR | 0.1500 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9470 |
| predicted_WHIP | 1.6338 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.6160 | 0.8309 | model_form_blend |
| predicted_ER | 1.0000 | 0.5230 | 0.7899 | model_form_blend |
| predicted_ERA | - | 4.7106 | 4.7106 | form_only |
| predicted_H | 1.0000 | 1.0180 | 1.0079 | model_form_blend |
| predicted_HR | 1.0000 | 0.1500 | 0.6256 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9470 | 0.9767 | model_form_blend |
| predicted_WHIP | - | 1.6338 | 1.6338 | 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 | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| HR | 1 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 5.26 |
| 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 | 15 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260612_SEA@WAS |
| game_type | full |
| mlbID | 681402 |
| playerID | 681402 |
| playerName | Gus Varland |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-12 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.356 |
| sl_xwoba | 0.368 |
| sl_sweet_spot_percent | 45.1 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 50.0 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 84.90046325 |
| sl_avg_hyper_speed | 95.969748354 |
| 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.350 | 0.000 | 0.650 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.600 | 1.000 | 0.400 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.930 | 0.200 | 0.270 | 1.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.700 | 0.000 | 1.300 | 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.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": "687377",
"player_name": "Orlando Ribalta",
"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": 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.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 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 | 4.100 | 1.000 | 3.000 | 2.000 | 2.000 | 1.000 | 2.0769 | 1.1538 | 0.2308 | 0.6923 | 0.4615 | 0.4615 | 0.2308 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 6.000 | 5.000 | 5.000 | 1.000 | 1.8000 | 1.1000 | 0.2000 | 0.6000 | 0.5000 | 0.5000 | 0.1000 |
| season | 0.20 | 20 | 20.000 | 4.000 | 12.000 | 7.000 | 14.000 | 1.000 | 1.8000 | 0.9500 | 0.2000 | 0.6000 | 0.3500 | 0.7000 | 0.0500 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4020 |
| predicted_ER | 0.3720 |
| predicted_ERA | 3.3440 |
| predicted_H | 0.8260 |
| predicted_HR | 0.1470 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7520 |
| predicted_WHIP | 1.2276 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4020 | 0.7523 | model_form_blend |
| predicted_ER | 0.0000 | 0.3720 | 0.1541 | model_form_blend |
| predicted_ERA | - | 3.3440 | 3.3440 | form_only |
| predicted_H | 1.0000 | 0.8260 | 0.9279 | model_form_blend |
| predicted_HR | 0.0000 | 0.1470 | 0.0609 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7520 | 1.4830 | model_form_blend |
| predicted_WHIP | - | 1.2276 | 1.2276 | 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.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 2 |
| 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.80 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260613_SEA@WAS |
| game_type | full |
| mlbID | 687377 |
| playerID | 687377 |
| playerName | Orlando Ribalta |
| pos | P |
| started | False |
| startingPosition | P |
| team | WAS |
| teamID | 30 |
| game_date | 2026-06-13 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.241 |
| sl_xwoba | 0.267 |
| sl_sweet_spot_percent | 21.4 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 30.4 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 51.3 |
| sl_avg_best_speed | 70.112994286 |
| sl_avg_hyper_speed | 92.359166545 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | LAA 4 - 2 ARI | LAA | 0.574 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | LAA 5 - 2 ARI | 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.5742 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 6.766 | 4.154 | - | Base ML historical model prediction |
| 2 | variance_applied | 7 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 2 | 0.5742 | 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 | 5 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46613562231759664,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.050684978540772585,
"confidence": 0.661,
"factors": {
"environmental": 1.02,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.122
},
"prediction": "normal_scoring",
"expected_total_runs": 6,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 7,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 35,
"near_bucket_sample_size": 35,
"medium_bucket_sample_size": 130,
"wide_bucket_sample_size": 214,
"global_sample_size": 214,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5714,
"bayesian_hit_rate": 0.5472,
"sample_weight": 0.5613,
"prior_strength": 18.0,
"reliability": 0.6604,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.5742,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "ARI",
"games": 71,
"wins": 36,
"losses": 35,
"win_pct": 0.5070422535211268,
"runs_scored": 300,
"runs_allowed": 320,
"run_differential": -20,
"run_differential_per_game": -0.28169014084507044,
"available": true
},
"away": {
"team": "LAA",
"games": 72,
"wins": 29,
"losses": 43,
"win_pct": 0.4027777777777778,
"runs_scored": 323,
"runs_allowed": 361,
"run_differential": -38,
"run_differential_per_game": -0.5277777777777778,
"available": true
},
"run_differential_edge_per_game": 0.2461,
"win_pct_edge": 0.1043,
"quality_edge": 0.4025,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"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": "ARI",
"final_score_winner": "LAA",
"pre_simulation_winner": "LAA",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "LAA 4 - 2 ARI",
"winner": "LAA"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "LAA 5 - 2 ARI",
"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": "ARI",
"games": 71,
"wins": 36,
"losses": 35,
"win_pct": 0.5070422535211268,
"runs_scored": 300,
"runs_allowed": 320,
"run_differential": -20,
"run_differential_per_game": -0.28169014084507044,
"available": true
},
"away": {
"team": "LAA",
"games": 72,
"wins": 29,
"losses": 43,
"win_pct": 0.4027777777777778,
"runs_scored": 323,
"runs_allowed": 361,
"run_differential": -38,
"run_differential_per_game": -0.5277777777777778,
"available": true
}
}
}{
"applied": true,
"raw_margin": -2.6969,
"final_margin": -1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.4025,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 3.693,
"home_runs": 2.193
}
}{
"applied": false,
"raw_confidence": 0.574168,
"final_confidence": 0.574168,
"confidence_cap": 0.63,
"score_gap": 1.5,
"calibration_sample_size": 35,
"calibration_empirical_hit_rate": 0.5714,
"calibration_bayesian_hit_rate": 0.5472,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.4025,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 2,
"score_text": "LAA 4 - 2 ARI",
"winner": "LAA"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "LAA 5 - 2 ARI",
"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": 4,
"home_runs": 2,
"confidence": 0.574168,
"home_win_probability": 0.425832,
"away_win_probability": 0.574168,
"predicted_score_text": "LAA 4 - 2 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": "LAA",
"original_runs": 4,
"run_delta": 0.2964,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.17915974076998947,
"contact": 0.06428761358689848,
"power": 0.15882029031514436,
"discipline": -0.15713698039978063,
"xwoba": 0.32403125000000005,
"recent_xwoba": 0.32403125000000005,
"barrel": 8.94375,
"ab_hard_contact": -0.12059419369711387,
"ab_bat_speed": 70.37288444383515,
"ab_strikeout_rate": 0.23579657208733298,
"available_players": 8,
"top_players": [
{
"player_id": "545361",
"player_name": "Mike Trout",
"position": "CF",
"weight": 4.0,
"quality": 1.5238316248299915,
"contact": 1.2539491500903506,
"power": 1.9860205283815484,
"discipline": 1.202083390293917,
"xwoba": 0.412,
"recent_xwoba": 0.412,
"barrel": 20.6,
"ab_hard_contact": 1.1792677104881029,
"ab_bat_speed": 73.46554624819625,
"ab_strikeout_rate": 0.2509090909090909,
"available": 1.0
},
{
"player_id": "666176",
"player_name": "Jo Adell",
"position": "RF",
"weight": 4.0,
"quality": 0.45491560822818644,
"contact": 0.582586613077364,
"power": 0.6609957625275991,
"discipline": -0.9032218045112781,
"xwoba": 0.334,
"recent_xwoba": 0.334,
"barrel": 8.7,
"ab_hard_contact": 0.7241057267424511,
"ab_bat_speed": 75.8700483276644,
"ab_strikeout_rate": 0.2571428571428572,
"available": 1.0
},
{
"player_id": "694203",
"player_name": "Denzer Guzman",
"position": "3B",
"weight": 4.0,
"quality": -0.0,
"contact": -0.32622857142857076,
"power": -0.9610095238095239,
"discipline": -0.46542857142857136,
"xwoba": 0.271,
"recent_xwoba": 0.271,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.2222222222222222,
"available": 0.0
},
{
"player_id": "694384",
"player_name": "Nolan Schanuel",
"position": "1B",
"weight": 4.0,
"quality": -0.11995143464645414,
"contact": 0.1268852177400621,
"power": -0.5688409530336257,
"discipline": 0.12064327485380127,
"xwoba": 0.316,
"recent_xwoba": 0.316,
"barrel": 3.0,
"ab_hard_contact": 0.21479998694653282,
"ab_bat_speed": 66.50161747685185,
"ab_strikeout_rate": 0.16527777777777777,
"available": 1.0
},
{
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"position": "C",
"weight": 3.0,
"quality": -0.247062475520858,
"contact": -0.8402831809341809,
"power": -0.10217796403796656,
"discipline": -0.3349353687248423,
"xwoba": 0.283,
"recent_xwoba": 0.283,
"barrel": 12.0,
"ab_hard_contact": -0.8747973759974234,
"ab_bat_speed": 69.93682239057239,
"ab_strikeout_rate": 0.25707070707070706,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669194",
"player_name": "Ryne Nelson",
"quality": -0.6456049032941763,
"contact": -1.0582424598711109,
"command": -0.3234285714285715,
"movement": 0.4041400490025553,
"xwoba": 0.357,
"whiff": 21.3,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "ARI",
"original_runs": 2,
"run_delta": -0.0491,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.2633021290831521,
"contact": 0.2794894647292816,
"power": 0.047847930406661715,
"discipline": 0.3384010327920405,
"xwoba": 0.33530303030303027,
"recent_xwoba": 0.33530303030303027,
"barrel": 7.99090909090909,
"ab_hard_contact": 0.10791964709427132,
"ab_bat_speed": 69.93330652993941,
"ab_strikeout_rate": 0.18846157828109697,
"available_players": 9,
"top_players": [
{
"player_id": "682998",
"player_name": "Corbin Carroll",
"position": "RF",
"weight": 4.0,
"quality": 0.9509801292675301,
"contact": 1.0445476835901841,
"power": 1.2798423136192512,
"discipline": 0.1915346057451321,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 13.4,
"ab_hard_contact": 1.5286557961945455,
"ab_bat_speed": 74.37748888888889,
"ab_strikeout_rate": 0.22724358974358974,
"available": 1.0
},
{
"player_id": "606466",
"player_name": "Ketel Marte",
"position": "2B",
"weight": 5.0,
"quality": 0.9972238227331132,
"contact": 1.2141067016487914,
"power": 1.0170407247921016,
"discipline": 0.13365914786967423,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 10.8,
"ab_hard_contact": 0.6832906863182264,
"ab_bat_speed": 73.25293096891535,
"ab_strikeout_rate": 0.15133333333333332,
"available": 1.0
},
{
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "C",
"weight": 4.0,
"quality": 0.4156825406492426,
"contact": 0.9565179598035541,
"power": 0.7093392315235187,
"discipline": 0.5544656954887219,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 10.6,
"ab_hard_contact": -0.12064394095818674,
"ab_bat_speed": 70.22562934027778,
"ab_strikeout_rate": 0.2078125,
"available": 1.0
},
{
"player_id": "571448",
"player_name": "Nolan Arenado",
"position": "3B",
"weight": 3.0,
"quality": -0.3666489691641688,
"contact": -0.4319927709095636,
"power": -0.54172419188611,
"discipline": 0.05830527298638792,
"xwoba": 0.308,
"recent_xwoba": 0.308,
"barrel": 6.5,
"ab_hard_contact": -0.5655314567698432,
"ab_bat_speed": 69.84964002267574,
"ab_strikeout_rate": 0.1918300653594771,
"available": 1.0
},
{
"player_id": "656976",
"player_name": "Pavin Smith",
"position": "1B",
"weight": 3.0,
"quality": -0.03716152514199093,
"contact": -1.5613723723723723,
"power": -1.4393196063074352,
"discipline": 1.0844924812030072,
"xwoba": 0.25,
"recent_xwoba": 0.25,
"barrel": 4.8,
"ab_hard_contact": -1.1216302213868008,
"ab_bat_speed": 72.23083333333332,
"ab_strikeout_rate": 0.25,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "700712",
"player_name": "Walbert Urena",
"quality": 0.23931566986170996,
"contact": 0.5255199308221433,
"command": -0.008571428571428591,
"movement": 0.8785815674349198,
"xwoba": 0.286,
"whiff": 28.1,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"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": "LAA 4 - 2 ARI",
"confidence": 0.574168,
"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": "LAA 4 - 2 ARI",
"winner": "LAA"
},
"final_simulation_score": {
"away_runs": 5,
"home_runs": 2,
"score_text": "LAA 5 - 2 ARI",
"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 LAA | True | 1.0239 | 1.0239 | 1 | 9 | 0 |
| Home ARI | True | 1.0248 | 1.0248 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Wade Meckler | 206 | 1.0122 | 0.1627 | negative_batter_regression | 0.3470 | 0.2640 | 0.4450 | 8.70 | 28.30 | 86 | 5 | 25.30 | 19.70 | 10.60 | -1 |
| SS | Zach Neto | 85 | 1.0071 | 0.0947 | neutral | 0.3150 | 0.2030 | 0.3970 | 11.80 | 37.60 | 89.80 | 22 | 30.80 | 31.40 | 11.50 | -0.6857 |
| RF | Jo Adell | 284 | 1.0581 | 0.7751 | positive_batter_regression | 0.3340 | 0.2700 | 0.4580 | 8.70 | 45.90 | 90.90 | 18.20 | 26.50 | 23.30 | 2.70 | 0.9143 |
| CF | Mike Trout | 32 | 1.1429 | 1.9049 | positive_batter_regression | 0.4120 | 0.2570 | 0.5560 | 20.60 | 51.50 | 91.70 | 19.70 | 23 | 24.60 | 20.50 | 1.2571 |
| 1B | Nolan Schanuel | 151 | 1.0045 | 0.0600 | neutral | 0.3160 | 0.2750 | 0.3810 | 3 | 32 | 87 | 10 | 19 | 16.50 | 6.70 | 0.2000 |
| 3B | Denzer Guzman | 435 | 0.9881 | -0.1581 | positive_batter_regression | 0.2710 | 0.2670 | 0.3600 | 0 | 37.50 | 86 | 9.80 | 20 | 11.10 | 0 | 1.4571 |
| DH | Donovan Walton | 242 | 1.0083 | 0.1105 | neutral | 0.3170 | 0.2750 | 0.4110 | 7.10 | 35.70 | 86 | 11.10 | 26.10 | 18.20 | 5.50 | 0.0571 |
| C | Logan O'Hoppe | 316 | 0.9873 | -0.1698 | neutral | 0.2830 | 0.1980 | 0.3490 | 12 | 38 | 87 | 16.90 | 28.80 | 23.90 | 8 | 0.0286 |
| 2B | Oswald Peraza | 77 | 1.0062 | 0.0827 | neutral | 0.3120 | 0.2560 | 0.4050 | 8.80 | 37.20 | 87.40 | 10 | 30.60 | 25.60 | 4.10 | -0.4000 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| C | Gabriel Moreno | 76 | 1.0493 | 0.6573 | neutral | 0.3710 | 0.2750 | 0.4700 | 10.60 | 45.20 | 89.50 | 13.30 | 17.90 | 18.40 | 10.60 | 0.6857 |
| 2B | Ketel Marte | 121 | 1.1042 | 1.3894 | positive_batter_regression | 0.3690 | 0.2990 | 0.5060 | 10.80 | 45.30 | 90.80 | 10.40 | 21.60 | 15.50 | 7.20 | 1.2857 |
| RF | Corbin Carroll | 14 | 1.0823 | 1.0979 | neutral | 0.3690 | 0.2680 | 0.4910 | 13.40 | 50 | 91.90 | 13.30 | 28.80 | 21.60 | 11.50 | -0.7714 |
| SS | Geraldo Perdomo | 42 | 1.0157 | 0.2099 | neutral | 0.3330 | 0.2650 | 0.3450 | 2.90 | 31.20 | 87.40 | 12.70 | 11.50 | 12.10 | 13.60 | 0.5714 |
| DH | Lourdes Gurriel Jr. | 482 | 0.9930 | -0.0930 | neutral | 0.2900 | 0.2320 | 0.3260 | 6.70 | 36 | 87.50 | 11.90 | 27.50 | 18.60 | 7.80 | 0.7143 |
| 3B | Nolan Arenado | 74 | 0.9885 | -0.1529 | neutral | 0.3080 | 0.2420 | 0.3680 | 6.50 | 30.80 | 85.40 | 19.30 | 24.40 | 20.90 | 8.80 | -0.4571 |
| CF | Jordan Lawlar | 212 | 1.0303 | 0.4034 | negative_batter_regression | 0.3860 | 0.3110 | 0.4790 | 6.70 | 40 | 89.90 | 20.60 | 27.70 | 28 | 4 | -1.4000 |
| 1B | Pavin Smith | 518 | 0.9645 | -0.4734 | positive_batter_regression | 0.2500 | 0.1410 | 0.1720 | 4.80 | 33.30 | 85.10 | 20.80 | 18.50 | 25 | 16.70 | 1.6857 |
| LF | Tommy Troy | 256 | 0.9951 | -0.0652 | neutral | 0.3120 | 0.2270 | 0.3690 | 7.10 | 26.20 | 85 | 13.90 | 28 | 19.40 | 12.90 | 0.4857 |
{
"home": {
"applied": true,
"offense_factor": 1.0248,
"raw_average_factor": 1.0248,
"team_espn_average_rank": 199.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "C",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"offense_factor": 1.0493,
"quality_score": 0.6573,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672515",
"espn_id": 42464,
"player_name": "Gabriel Moreno",
"team": "ARI",
"role": "batter",
"espn_rank": 76,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 76,
"gp_value": 47.0,
"gp_rank": 244,
"ab_value": 159.0,
"ab_rank": 215,
"r_value": 24.0,
"r_rank": 168,
"h_value": 42.0,
"h_rank": 185,
"avg_value": 0.2641509,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 23.0,
"rbi_rank": 171,
"tb_value": 71.0,
"tb_rank": 1102,
"bb_value": 19.0,
"bb_rank": 153,
"so_value": 34.0,
"so_rank": 233,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.347826,
"obp_rank": "-",
"slg_value": 0.4465408,
"slg_rank": "-",
"ops_value": 0.7943668,
"ops_rank": null,
"war_value": 1.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 18.4,
"bb_percent": 10.6,
"woba": 0.347,
"xwoba": 0.371,
"xba": 0.275,
"xslg": 0.47,
"sweet_spot_percent": 40.3,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 13.3,
"whiff_percent": 17.9,
"swing_percent": 43.1
},
"components": {
"expected_quality": 1.3014,
"regression_edge": 0.6857,
"xwoba_edge": 1.8857,
"xba_edge": 1.0571,
"xslg_edge": 1.3571,
"barrel_edge": 0.8222,
"hard_hit_edge": 0.9429,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 1.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "606466",
"player_name": "Ketel Marte",
"offense_factor": 1.1042,
"quality_score": 1.3894,
"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": 121,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 121,
"gp_value": 67.0,
"gp_rank": 78,
"ab_value": 271.0,
"ab_rank": 21,
"r_value": 38.0,
"r_rank": 58,
"h_value": 69.0,
"h_rank": 43,
"avg_value": 0.2546125,
"avg_rank": 77.0,
"2b_value": 14.0,
"2b_rank": 37,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 11.0,
"hr_rank": 51,
"rbi_value": 41.0,
"rbi_rank": 31,
"tb_value": 120.0,
"tb_rank": 263,
"bb_value": 22.0,
"bb_rank": 118,
"so_value": 45.0,
"so_rank": 149,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3074324,
"obp_rank": "121",
"slg_value": 0.4428044,
"slg_rank": "63",
"ops_value": 0.7502368,
"ops_rank": 58.0,
"war_value": 1.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 220.0,
"k_percent": 15.5,
"bb_percent": 7.2,
"woba": 0.324,
"xwoba": 0.369,
"xba": 0.299,
"xslg": 0.506,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 10.4,
"whiff_percent": 21.6,
"swing_percent": 49.0
},
"components": {
"expected_quality": 1.4063,
"regression_edge": 1.2857,
"xwoba_edge": 1.8286,
"xba_edge": 1.7429,
"xslg_edge": 1.8714,
"barrel_edge": 0.8667,
"hard_hit_edge": 0.9571,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "682998",
"player_name": "Corbin Carroll",
"offense_factor": 1.0823,
"quality_score": 1.0979,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682998",
"espn_id": 42404,
"player_name": "Corbin Carroll",
"team": "ARI",
"role": "batter",
"espn_rank": 14,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 14,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 252.0,
"ab_rank": 66,
"r_value": 43.0,
"r_rank": 29,
"h_value": 70.0,
"h_rank": 39,
"avg_value": 0.2777777,
"avg_rank": 38.0,
"2b_value": 15.0,
"2b_rank": 24,
"3b_value": 8.0,
"3b_rank": 1,
"hr_value": 12.0,
"hr_rank": 42,
"rbi_value": 34.0,
"rbi_rank": 66,
"tb_value": 137.0,
"tb_rank": 187,
"bb_value": 34.0,
"bb_rank": 35,
"so_value": 63.0,
"so_rank": 62,
"sb_value": 8.0,
"sb_rank": 52,
"obp_value": 0.369863,
"obp_rank": "31",
"slg_value": 0.5436507,
"slg_rank": "12",
"ops_value": 0.9135137,
"ops_rank": 19.0,
"war_value": 2.95,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 21.6,
"bb_percent": 11.5,
"woba": 0.396,
"xwoba": 0.369,
"xba": 0.268,
"xslg": 0.491,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 13.4,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 13.3,
"whiff_percent": 28.8,
"swing_percent": 45.4
},
"components": {
"expected_quality": 1.408,
"regression_edge": -0.7714,
"xwoba_edge": 1.8286,
"xba_edge": 0.8571,
"xslg_edge": 1.6571,
"barrel_edge": 1.4444,
"hard_hit_edge": 1.6286,
"exit_velocity_edge": 1.24,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "672695",
"player_name": "Geraldo Perdomo",
"offense_factor": 1.0157,
"quality_score": 0.2099,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672695",
"espn_id": 41355,
"player_name": "Geraldo Perdomo",
"team": "ARI",
"role": "batter",
"espn_rank": 42,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 42,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 234.0,
"ab_rank": 105,
"r_value": 30.0,
"r_rank": 114,
"h_value": 57.0,
"h_rank": 101,
"avg_value": 0.2435897,
"avg_rank": 100.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 24.0,
"rbi_rank": 163,
"tb_value": 84.0,
"tb_rank": 850,
"bb_value": 39.0,
"bb_rank": 23,
"so_value": 34.0,
"so_rank": 233,
"sb_value": 11.0,
"sb_rank": 27,
"obp_value": 0.35,
"obp_rank": "52",
"slg_value": 0.3589743,
"slg_rank": "126",
"ops_value": 0.7089743,
"ops_rank": 178.0,
"war_value": 2.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 12.1,
"bb_percent": 13.6,
"woba": 0.313,
"xwoba": 0.333,
"xba": 0.265,
"xslg": 0.345,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 31.2,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 12.7,
"whiff_percent": 11.5,
"swing_percent": 39.8
},
"components": {
"expected_quality": 0.1614,
"regression_edge": 0.5714,
"xwoba_edge": 0.8,
"xba_edge": 0.7714,
"xslg_edge": -0.4286,
"barrel_edge": -0.8889,
"hard_hit_edge": -1.0571,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "666971",
"player_name": "Lourdes Gurriel Jr.",
"offense_factor": 0.993,
"quality_score": -0.093,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666971",
"espn_id": 36040,
"player_name": "Lourdes Gurriel Jr.",
"team": "ARI",
"role": "batter",
"espn_rank": 482,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 482,
"gp_value": 25.0,
"gp_rank": 379,
"ab_value": 92.0,
"ab_rank": 333,
"r_value": 7.0,
"r_rank": 380,
"h_value": 21.0,
"h_rank": 324,
"avg_value": 0.2282608,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 11.0,
"rbi_rank": 299,
"tb_value": 28.0,
"tb_rank": 2076,
"bb_value": 8.0,
"bb_rank": 307,
"so_value": 19.0,
"so_rank": 354,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.2843137,
"obp_rank": "-",
"slg_value": 0.3043478,
"slg_rank": "-",
"ops_value": 0.5886615,
"ops_rank": null,
"war_value": -0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 18.6,
"bb_percent": 7.8,
"woba": 0.265,
"xwoba": 0.29,
"xba": 0.232,
"xslg": 0.326,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 11.9,
"whiff_percent": 27.5,
"swing_percent": 52.6
},
"components": {
"expected_quality": -0.3566,
"regression_edge": 0.7143,
"xwoba_edge": -0.4286,
"xba_edge": -0.1714,
"xslg_edge": -0.7,
"barrel_edge": -0.0444,
"hard_hit_edge": -0.3714,
"exit_velocity_edge": -0.52,
"sweet_spot_edge": -0.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "571448",
"player_name": "Nolan Arenado",
"offense_factor": 0.9885,
"quality_score": -0.1529,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571448",
"espn_id": 31261,
"player_name": "Nolan Arenado",
"team": "ARI",
"role": "batter",
"espn_rank": 74,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 74,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 222.0,
"ab_rank": 122,
"r_value": 30.0,
"r_rank": 114,
"h_value": 54.0,
"h_rank": 113,
"avg_value": 0.2432432,
"avg_rank": 101.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 31.0,
"rbi_rank": 97,
"tb_value": 90.0,
"tb_rank": 848,
"bb_value": 22.0,
"bb_rank": 118,
"so_value": 53.0,
"so_rank": 111,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3241106,
"obp_rank": "94",
"slg_value": 0.4054054,
"slg_rank": "99",
"ops_value": 0.729516,
"ops_rank": 5.0,
"war_value": 1.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 192.0,
"k_percent": 20.9,
"bb_percent": 8.8,
"woba": 0.324,
"xwoba": 0.308,
"xba": 0.242,
"xslg": 0.368,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 30.8,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 19.3,
"whiff_percent": 24.4,
"swing_percent": 45.6
},
"components": {
"expected_quality": -0.1294,
"regression_edge": -0.4571,
"xwoba_edge": 0.0857,
"xba_edge": 0.1143,
"xslg_edge": -0.1,
"barrel_edge": -0.0889,
"hard_hit_edge": -1.1143,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "691783",
"player_name": "Jordan Lawlar",
"offense_factor": 1.0303,
"quality_score": 0.4034,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691783",
"espn_id": 4872649,
"player_name": "Jordan Lawlar",
"team": "ARI",
"role": "batter",
"espn_rank": 212,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 212,
"gp_value": 8.0,
"gp_rank": 498,
"ab_value": 25.0,
"ab_rank": 474,
"r_value": 4.0,
"r_rank": 431,
"h_value": 8.0,
"h_rank": 429,
"avg_value": 0.32,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 4.0,
"rbi_rank": 424,
"tb_value": 12.0,
"tb_rank": 2310,
"bb_value": 2.0,
"bb_rank": 440,
"so_value": 7.0,
"so_rank": 467,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.4137931,
"obp_rank": "-",
"slg_value": 0.48,
"slg_rank": "-",
"ops_value": 0.8937931,
"ops_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 20.0,
"k_percent": 28.0,
"bb_percent": 4.0,
"woba": 0.435,
"xwoba": 0.386,
"xba": 0.311,
"xslg": 0.479,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 20.6,
"whiff_percent": 27.7,
"swing_percent": 43.9
},
"components": {
"expected_quality": 1.2704,
"regression_edge": -1.4,
"xwoba_edge": 2.3143,
"xba_edge": 2.0857,
"xslg_edge": 1.4857,
"barrel_edge": -0.0444,
"hard_hit_edge": 0.2,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "656976",
"player_name": "Pavin Smith",
"offense_factor": 0.9645,
"quality_score": -0.4734,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "656976",
"espn_id": 40767,
"player_name": "Pavin Smith",
"team": "ARI",
"role": "batter",
"espn_rank": 518,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 518,
"gp_value": 12.0,
"gp_rank": 459,
"ab_value": 29.0,
"ab_rank": 461,
"r_value": 2.0,
"r_rank": 467,
"h_value": 3.0,
"h_rank": 497,
"avg_value": 0.1034482,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 482,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 3.0,
"rbi_rank": 445,
"tb_value": 3.0,
"tb_rank": 2670,
"bb_value": 6.0,
"bb_rank": 350,
"so_value": 9.0,
"so_rank": 445,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.25,
"obp_rank": "-",
"slg_value": 0.1034482,
"slg_rank": "-",
"ops_value": 0.3534482,
"ops_rank": null,
"war_value": -0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 8.0,
"k_percent": 25.0,
"bb_percent": 16.7,
"woba": 0.191,
"xwoba": 0.25,
"xba": 0.141,
"xslg": 0.172,
"sweet_spot_percent": 19.0,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 20.8,
"whiff_percent": 18.5,
"swing_percent": 43.0
},
"components": {
"expected_quality": -1.4976,
"regression_edge": 1.6857,
"xwoba_edge": -1.5714,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.7571,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": -2.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694371",
"player_name": "Tommy Troy",
"offense_factor": 0.9951,
"quality_score": -0.0652,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694371",
"espn_id": 4837403,
"player_name": "Tommy Troy",
"team": "ARI",
"role": "batter",
"espn_rank": 256,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 256,
"gp_value": 19.0,
"gp_rank": 411,
"ab_value": 57.0,
"ab_rank": 393,
"r_value": 11.0,
"r_rank": 322,
"h_value": 13.0,
"h_rank": 380,
"avg_value": 0.2280701,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 384,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 2.0,
"rbi_rank": 464,
"tb_value": 21.0,
"tb_rank": 2023,
"bb_value": 8.0,
"bb_rank": 307,
"so_value": 13.0,
"so_rank": 410,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3230769,
"obp_rank": "-",
"slg_value": 0.368421,
"slg_rank": "-",
"ops_value": 0.6914979,
"ops_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 14.0,
"k_percent": 19.4,
"bb_percent": 12.9,
"woba": 0.295,
"xwoba": 0.312,
"xba": 0.227,
"xslg": 0.369,
"sweet_spot_percent": 23.8,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 26.2,
"exit_velocity_avg": 85.0,
"launch_angle_avg": 13.9,
"whiff_percent": 28.0,
"swing_percent": 42.1
},
"components": {
"expected_quality": -0.2477,
"regression_edge": 0.4857,
"xwoba_edge": 0.2,
"xba_edge": -0.3143,
"xslg_edge": -0.0857,
"barrel_edge": 0.0444,
"hard_hit_edge": -1.7714,
"exit_velocity_edge": -1.52,
"sweet_spot_edge": -1.5833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0239,
"raw_average_factor": 1.0239,
"team_espn_average_rank": 203.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "685133",
"player_name": "Wade Meckler",
"offense_factor": 1.0122,
"quality_score": 0.1627,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "685133",
"espn_id": 4424090,
"player_name": "Wade Meckler",
"team": "LAA",
"role": "batter",
"espn_rank": 206,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 206,
"gp_value": 20.0,
"gp_rank": 404,
"ab_value": 61.0,
"ab_rank": 386,
"r_value": 10.0,
"r_rank": 334,
"h_value": 18.0,
"h_rank": 344,
"avg_value": 0.2950819,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 12.0,
"rbi_rank": 286,
"tb_value": 29.0,
"tb_rank": 1859,
"bb_value": 7.0,
"bb_rank": 327,
"so_value": 14.0,
"so_rank": 400,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.367647,
"obp_rank": "-",
"slg_value": 0.4754098,
"slg_rank": "-",
"ops_value": 0.8430568,
"ops_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 17.0,
"k_percent": 19.7,
"bb_percent": 10.6,
"woba": 0.382,
"xwoba": 0.347,
"xba": 0.264,
"xslg": 0.445,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 28.3,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 5.0,
"whiff_percent": 25.3,
"swing_percent": 45.4
},
"components": {
"expected_quality": 0.5832,
"regression_edge": -1.0,
"xwoba_edge": 1.2,
"xba_edge": 0.7429,
"xslg_edge": 1.0,
"barrel_edge": 0.4,
"hard_hit_edge": -1.4714,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "687263",
"player_name": "Zach Neto",
"offense_factor": 1.0071,
"quality_score": 0.0947,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687263",
"espn_id": 4666100,
"player_name": "Zach Neto",
"team": "LAA",
"role": "batter",
"espn_rank": 85,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 85,
"gp_value": 69.0,
"gp_rank": 44,
"ab_value": 273.0,
"ab_rank": 19,
"r_value": 48.0,
"r_rank": 10,
"h_value": 61.0,
"h_rank": 82,
"avg_value": 0.2234432,
"avg_rank": 133.0,
"2b_value": 14.0,
"2b_rank": 37,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 13.0,
"hr_rank": 35,
"rbi_value": 32.0,
"rbi_rank": 87,
"tb_value": 116.0,
"tb_rank": 358,
"bb_value": 36.0,
"bb_rank": 29,
"so_value": 100.0,
"so_rank": 2,
"sb_value": 11.0,
"sb_rank": 27,
"obp_value": 0.3280757,
"obp_rank": "90",
"slg_value": 0.4249084,
"slg_rank": "79",
"ops_value": 0.7529841,
"ops_rank": 169.0,
"war_value": 1.46,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 253.0,
"k_percent": 31.4,
"bb_percent": 11.5,
"woba": 0.339,
"xwoba": 0.315,
"xba": 0.203,
"xslg": 0.397,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 22.0,
"whiff_percent": 30.8,
"swing_percent": 50.0
},
"components": {
"expected_quality": 0.2217,
"regression_edge": -0.6857,
"xwoba_edge": 0.2857,
"xba_edge": -1.0,
"xslg_edge": 0.3143,
"barrel_edge": 1.0889,
"hard_hit_edge": -0.1429,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.4,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "666176",
"player_name": "Jo Adell",
"offense_factor": 1.0581,
"quality_score": 0.7751,
"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": 284,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 284,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 280.0,
"ab_rank": 10,
"r_value": 34.0,
"r_rank": 72,
"h_value": 71.0,
"h_rank": 34,
"avg_value": 0.2535714,
"avg_rank": 80.0,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 10.0,
"hr_rank": 60,
"rbi_value": 40.0,
"rbi_rank": 35,
"tb_value": 111.0,
"tb_rank": 712,
"bb_value": 9.0,
"bb_rank": 293,
"so_value": 69.0,
"so_rank": 42,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.2990033,
"obp_rank": "132",
"slg_value": 0.3964285,
"slg_rank": "109",
"ops_value": 0.6954318,
"ops_rank": 241.0,
"war_value": 0.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 228.0,
"k_percent": 23.3,
"bb_percent": 2.7,
"woba": 0.302,
"xwoba": 0.334,
"xba": 0.27,
"xslg": 0.458,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 18.2,
"whiff_percent": 26.5,
"swing_percent": 56.3
},
"components": {
"expected_quality": 0.7525,
"regression_edge": 0.9143,
"xwoba_edge": 0.8286,
"xba_edge": 0.9143,
"xslg_edge": 1.1857,
"barrel_edge": 0.4,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "545361",
"player_name": "Mike Trout",
"offense_factor": 1.1429,
"quality_score": 1.9049,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "545361",
"espn_id": 30836,
"player_name": "Mike Trout",
"team": "LAA",
"role": "batter",
"espn_rank": 32,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 32,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 254.0,
"ab_rank": 58,
"r_value": 51.0,
"r_rank": 3,
"h_value": 57.0,
"h_rank": 101,
"avg_value": 0.2244094,
"avg_rank": 130.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 15.0,
"hr_rank": 22,
"rbi_value": 32.0,
"rbi_rank": 87,
"tb_value": 113.0,
"tb_rank": 643,
"bb_value": 65.0,
"bb_rank": 2,
"so_value": 80.0,
"so_rank": 17,
"sb_value": 7.0,
"sb_rank": 58,
"obp_value": 0.3881987,
"obp_rank": "11",
"slg_value": 0.4448818,
"slg_rank": "60",
"ops_value": 0.8330805,
"ops_rank": 49.0,
"war_value": 2.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 24.6,
"bb_percent": 20.5,
"woba": 0.368,
"xwoba": 0.412,
"xba": 0.257,
"xslg": 0.556,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 20.6,
"hard_hit_percent": 51.5,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 19.7,
"whiff_percent": 23.0,
"swing_percent": 38.5
},
"components": {
"expected_quality": 2.0103,
"regression_edge": 1.2571,
"xwoba_edge": 2.5,
"xba_edge": 0.5429,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 1.8429,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "694384",
"player_name": "Nolan Schanuel",
"offense_factor": 1.0045,
"quality_score": 0.06,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694384",
"espn_id": 4739755,
"player_name": "Nolan Schanuel",
"team": "LAA",
"role": "batter",
"espn_rank": 151,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 151,
"gp_value": 56.0,
"gp_rank": 190,
"ab_value": 205.0,
"ab_rank": 141,
"r_value": 21.0,
"r_rank": 194,
"h_value": 53.0,
"h_rank": 118,
"avg_value": 0.2585365,
"avg_rank": 68.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 25.0,
"rbi_rank": 152,
"tb_value": 77.0,
"tb_rank": 1168,
"bb_value": 16.0,
"bb_rank": 186,
"so_value": 37.0,
"so_rank": 206,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3245614,
"obp_rank": "92",
"slg_value": 0.3756097,
"slg_rank": "116",
"ops_value": 0.7001711,
"ops_rank": 24.0,
"war_value": 0.82,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 200.0,
"k_percent": 16.5,
"bb_percent": 6.7,
"woba": 0.309,
"xwoba": 0.316,
"xba": 0.275,
"xslg": 0.381,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 32.0,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 10.0,
"whiff_percent": 19.0,
"swing_percent": 46.5
},
"components": {
"expected_quality": 0.0442,
"regression_edge": 0.2,
"xwoba_edge": 0.3143,
"xba_edge": 1.0571,
"xslg_edge": 0.0857,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.9429,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "694203",
"player_name": "Denzer Guzman",
"offense_factor": 0.9881,
"quality_score": -0.1581,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694203",
"espn_id": 4917822,
"player_name": "Denzer Guzman",
"team": "LAA",
"role": "batter",
"espn_rank": 435,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 435,
"gp_value": 5.0,
"gp_rank": 524,
"ab_value": 22.0,
"ab_rank": 488,
"r_value": 1.0,
"r_rank": 499,
"h_value": 5.0,
"h_rank": 466,
"avg_value": 0.2272727,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 5.0,
"rbi_rank": 396,
"tb_value": 6.0,
"tb_rank": 2581,
"bb_value": 0.0,
"bb_rank": 517,
"so_value": 3.0,
"so_rank": 512,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.2272727,
"obp_rank": "-",
"slg_value": 0.2727272,
"slg_rank": "-",
"ops_value": 0.4999999,
"ops_rank": null,
"war_value": -0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 11.1,
"bb_percent": 0.0,
"woba": 0.22,
"xwoba": 0.271,
"xba": 0.267,
"xslg": 0.36,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 9.8,
"whiff_percent": 20.0,
"swing_percent": 55.6
},
"components": {
"expected_quality": -0.6457,
"regression_edge": 1.4571,
"xwoba_edge": -0.9714,
"xba_edge": 0.8286,
"xslg_edge": -0.2143,
"barrel_edge": -1.5333,
"hard_hit_edge": -0.1571,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": -1.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "622268",
"player_name": "Donovan Walton",
"offense_factor": 1.0083,
"quality_score": 0.1105,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "622268",
"espn_id": 37232,
"player_name": "Donovan Walton",
"team": "LAA",
"role": "batter",
"espn_rank": 242,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 242,
"gp_value": 18.0,
"gp_rank": 420,
"ab_value": 54.0,
"ab_rank": 401,
"r_value": 9.0,
"r_rank": 348,
"h_value": 16.0,
"h_rank": 361,
"avg_value": 0.2962962,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 4.0,
"rbi_rank": 424,
"tb_value": 23.0,
"tb_rank": 2113,
"bb_value": 3.0,
"bb_rank": 418,
"so_value": 10.0,
"so_rank": 437,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.4259259,
"slg_rank": "-",
"ops_value": 0.7592592,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 19.0,
"k_percent": 18.2,
"bb_percent": 5.5,
"woba": 0.315,
"xwoba": 0.317,
"xba": 0.275,
"xslg": 0.411,
"sweet_spot_percent": 40.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 11.1,
"whiff_percent": 26.1,
"swing_percent": 52.4
},
"components": {
"expected_quality": 0.2761,
"regression_edge": 0.0571,
"xwoba_edge": 0.3429,
"xba_edge": 1.0571,
"xslg_edge": 0.5143,
"barrel_edge": 0.0444,
"hard_hit_edge": -0.4143,
"exit_velocity_edge": -1.12,
"sweet_spot_edge": 1.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "681351",
"player_name": "Logan O'Hoppe",
"offense_factor": 0.9873,
"quality_score": -0.1698,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681351",
"espn_id": 42047,
"player_name": "Logan O'Hoppe",
"team": "LAA",
"role": "batter",
"espn_rank": 316,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 316,
"gp_value": 48.0,
"gp_rank": 237,
"ab_value": 145.0,
"ab_rank": 240,
"r_value": 16.0,
"r_rank": 245,
"h_value": 32.0,
"h_rank": 247,
"avg_value": 0.2206896,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 17.0,
"rbi_rank": 236,
"tb_value": 47.0,
"tb_rank": 1552,
"bb_value": 13.0,
"bb_rank": 228,
"so_value": 39.0,
"so_rank": 197,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2962962,
"obp_rank": "-",
"slg_value": 0.3241379,
"slg_rank": "-",
"ops_value": 0.6204341,
"ops_rank": null,
"war_value": 0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 23.9,
"bb_percent": 8.0,
"woba": 0.282,
"xwoba": 0.283,
"xba": 0.198,
"xslg": 0.349,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 16.9,
"whiff_percent": 28.8,
"swing_percent": 49.6
},
"components": {
"expected_quality": -0.3696,
"regression_edge": 0.0286,
"xwoba_edge": -0.6286,
"xba_edge": -1.1429,
"xslg_edge": -0.3714,
"barrel_edge": 1.1333,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": -1.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "672724",
"player_name": "Oswald Peraza",
"offense_factor": 1.0062,
"quality_score": 0.0827,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672724",
"espn_id": 42479,
"player_name": "Oswald Peraza",
"team": "LAA",
"role": "batter",
"espn_rank": 77,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 77,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 204.0,
"ab_rank": 142,
"r_value": 20.0,
"r_rank": 207,
"h_value": 53.0,
"h_rank": 118,
"avg_value": 0.2598039,
"avg_rank": 66.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 21.0,
"rbi_rank": 190,
"tb_value": 87.0,
"tb_rank": 635,
"bb_value": 9.0,
"bb_rank": 293,
"so_value": 57.0,
"so_rank": 86,
"sb_value": 9.0,
"sb_rank": 44,
"obp_value": 0.3105022,
"obp_rank": "114",
"slg_value": 0.4264705,
"slg_rank": "77",
"ops_value": 0.7369727,
"ops_rank": 191.0,
"war_value": 1.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 152.0,
"k_percent": 25.6,
"bb_percent": 4.1,
"woba": 0.326,
"xwoba": 0.312,
"xba": 0.256,
"xslg": 0.405,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 37.2,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 10.0,
"whiff_percent": 30.6,
"swing_percent": 56.0
},
"components": {
"expected_quality": 0.2042,
"regression_edge": -0.4,
"xwoba_edge": 0.2,
"xba_edge": 0.5143,
"xslg_edge": 0.4286,
"barrel_edge": 0.4222,
"hard_hit_edge": -0.2,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": 0.9833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAA | True | 70 | 0.2653 | 0.6680 | 0.9774 | 1.0099 | 1.0601 | 0.9447 | neutral | 0.2860 | 0.2920 | 22.70 | 13.60 | 28.10 | 6 | 32.50 | |
| Home ARI | True | 661 | -0.6602 | 1 | 1.0561 | 0.9463 | 0.9520 | 1.1262 | neutral | 0.3570 | 0.3350 | 17.50 | 6.70 | 21.30 | 10.70 | 43.80 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAA | True | None | 92 | 93.88 | 2102 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2327 | |
| Home ARI | True | None | 93 | 92.79 | 2349 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1717 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0561 |
| home_runs_vs_away_pitcher | 0.9849 |
| home_pitcher_quality_edge | -0.9255 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669194",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 252.0,
"k_percent": 17.5,
"bb_percent": 6.7,
"woba": 0.335,
"xwoba": 0.357,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 43.8,
"avg_best_speed": 80.4155,
"avg_hyper_speed": 94.7599,
"whiff_percent": 21.3,
"swing_percent": 53.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.8942,
"command_and_miss": -0.4243,
"regression_edge": -0.6286,
"xwoba_edge": -1.2,
"barrel_edge": -0.7556,
"hard_hit_edge": -0.7429,
"whiff_edge": -0.6,
"bb_edge": 0.6,
"pitch_design_score": 0.1717
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669194",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.7936,
"release_spin_rate": 2349.1028,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1717,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2263,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.6602,
"sample_weight": 1.0,
"run_prevention_factor": 1.0561,
"strikeout_factor": 0.9463,
"walk_factor": 0.952,
"homer_factor": 1.1262,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669194",
"espn_id": 4916269,
"player_name": "Ryne Nelson",
"team": "ARI",
"role": "pitcher",
"espn_rank": 661,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 661,
"gp_value": 14.0,
"gp_rank": 251,
"gs_value": 14.0,
"gs_rank": 18,
"qs_value": 5.0,
"qs_rank": 45,
"era_value": 5.1877,
"era_rank": 66.0,
"w_value": 2.0,
"w_rank": 174,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 76.1,
"ip_rank": 42,
"h_value": 72.0,
"h_rank": 39,
"er_value": 44.0,
"er_rank": 9,
"hr_value": 17.0,
"hr_rank": 4,
"bb_value": 22.0,
"bb_rank": 83,
"k_value": 57.0,
"k_rank": 84,
"k_per_9_value": 6.720524,
"k_per_9_rank": 54,
"whip_value": 1.2314,
"whip_rank": 41.0,
"war_value": -0.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "700712",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 167.0,
"k_percent": 22.7,
"bb_percent": 13.6,
"woba": 0.292,
"xwoba": 0.286,
"sweet_spot_percent": 25.8,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 32.5,
"avg_best_speed": 75.9095,
"avg_hyper_speed": 93.3028,
"whiff_percent": 28.1,
"swing_percent": 43.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6896,
"command_and_miss": -0.095,
"regression_edge": 0.1714,
"xwoba_edge": 0.8286,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.8714,
"whiff_edge": 0.3714,
"bb_edge": -1.125,
"pitch_design_score": 0.2327
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700712",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 93.88405062413402,
"release_spin_rate": 2102.069389451107,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 93.88405062413402,
"release_spin_rate": 2102.069389451107,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8841,
"release_spin_rate": 2102.0694,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2327,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6624,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2653,
"sample_weight": 0.668,
"run_prevention_factor": 0.9774,
"strikeout_factor": 1.0099,
"walk_factor": 1.0601,
"homer_factor": 0.9447,
"woba_minus_xwoba": 0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700712",
"espn_id": 5197476,
"player_name": "Walbert Urena",
"team": "LAA",
"role": "pitcher",
"espn_rank": 70,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 70,
"gp_value": 12.0,
"gp_rank": 344,
"gs_value": 10.0,
"gs_rank": 108,
"qs_value": 5.0,
"qs_rank": 45,
"era_value": 2.4397,
"era_rank": null,
"w_value": 4.0,
"w_rank": 59,
"l_value": 4.0,
"l_rank": 59,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 1.0,
"hld_rank": 193,
"ip_value": 55.1,
"ip_rank": 120,
"h_value": 42.0,
"h_rank": 129,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 33.0,
"bb_rank": 9,
"k_value": 55.0,
"k_rank": 90,
"k_per_9_value": 8.945784,
"k_per_9_rank": 20,
"whip_value": 1.3554,
"whip_rank": null,
"war_value": 1.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0561,
"home_runs_vs_away_pitcher": 0.9849,
"home_pitcher_quality_edge": -0.9255
},
"score_before": {
"away_runs": 4.0634,
"home_runs": 1.6188
},
"score_after": {
"away_runs": 4.2913,
"home_runs": 1.5944,
"home_win_probability": 0.2541
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away LAA | 18-45 | 0.286 | 1.50 | 4 | -158 | cold | average | |
| Home ARI | 18-45 | 0.286 | 0.80 | 2.70 | -121 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away LAA | 29-43 | 0.403 | -38 | -0.528 | True |
| Home ARI | 36-35 | 0.507 | -20 | -0.282 | True |
| Signal | - | - | 0.246 | 0.403 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target LAA | - | - | 4 | - | - | - | - |
| Game target ARI | - | - | 2 | - | - | - | - |
| Player finalized LAA | 32 | 9 | 4 | 0 | 2 | 1 | 9 |
| Player finalized ARI | 33 | 9 | 5 | 0 | 2 | 2 | 9 |
| Player model fractional LAA | 33.59 | 8.17 | 4.38 | 1.05 | 4.32 | 2.84 | 8.17 |
| Player model fractional ARI | 32.21 | 7.83 | 4.15 | 1.12 | 3.81 | 3.53 | 7.08 |
| Simulation box LAA | 36 | 10 | 5 | 2 | 5 | 3 | 6 |
| Simulation box ARI | 35 | 8 | 2 | 0 | 2 | 4 | 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 LAA | Starter | Walbert Urena | 6 | 1 | 6 | 6 | 2 | 2.79 | 1.30 | True |
| Away LAA | Middle Reliever | Chase Silseth | 1 | 0 | 1 | 0 | 1 | 3.03 | 1.26 | True |
| Away LAA | Middle Reliever | Kirby Yates | 1 | 1 | 0 | 2 | 1 | 4.09 | 1.22 | True |
| Away LAA | Middle Reliever | Sam Bachman | 1 | 0 | 0 | 0 | 0 | 5.82 | 1.59 | True |
| Home ARI | Starter | Ryne Nelson | 5.10 | 2 | 3 | 6 | 3 | 5.05 | 1.31 | True |
| Home ARI | Middle Reliever | Jonathan Loáisiga | 1 | 1 | 1 | 1 | 0 | 4.09 | 1.26 | True |
| Home ARI | Middle Reliever | Juan Morillo | 0.20 | 1 | 1 | 2 | 0 | 4.86 | 1.40 | True |
| Home ARI | Middle Reliever | Kevin Ginkel | 1 | 1 | 0 | 0 | 0 | 4.64 | 1.36 | True |
| Home ARI | Middle Reliever | Paul Sewald | 1 | 0 | 1 | 1 | 0 | 4.41 | 1.32 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | ARI | pitcher | Starter | Ryne Nelson | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -2.9000 | deboost | worse |
| away | LAA | batter | 2B | Oswald Peraza | worse | 11 | 4 | 7 | 5 | 6 | predicted_RBI | 2.6200 | boost | better |
| away | LAA | batter | C | Logan O'Hoppe | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 2.1330 | boost | worse |
| home | ARI | batter | SS | Geraldo Perdomo | worse | 10 | 4 | 6 | 3 | 7 | predicted_AB | -1.8500 | deboost | worse |
| away | LAA | batter | LF | Wade Meckler | worse | 9 | 3 | 6 | 2 | 7 | predicted_AB | 1.6700 | boost | better |
| home | ARI | batter | 1B | Pavin Smith | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 1.5000 | boost | better |
| home | ARI | batter | C | Gabriel Moreno | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | 1.4100 | boost | better |
| away | LAA | batter | DH | Donovan Walton | worse | 11 | 5 | 6 | 4 | 7 | predicted_H | 1.2300 | boost | better |
| away | LAA | batter | CF | Mike Trout | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.1270 | deboost | better |
| home | ARI | batter | CF | Jordan Lawlar | better | 10 | 6 | 4 | 7 | 3 | predicted_H | 1.1000 | boost | better |
| home | ARI | batter | RF | Corbin Carroll | better | 11 | 7 | 4 | 6 | 5 | predicted_SO | 1.0740 | boost | worse |
| away | LAA | batter | 1B | Nolan Schanuel | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.0400 | boost | better |
| away | LAA | batter | 3B | Denzer Guzman | worse | 9 | 2 | 7 | 3 | 6 | predicted_H | 0.9700 | boost | better |
| home | ARI | batter | DH | Lourdes Gurriel Jr. | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | -0.9700 | deboost | worse |
| away | LAA | batter | RF | Jo Adell | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -0.9580 | deboost | better |
| home | ARI | batter | 2B | Ketel Marte | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | 0.9000 | boost | better |
| home | ARI | pitcher | Middle Reliever | Jonathan Loáisiga | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | ARI | pitcher | Middle Reliever | Kevin Ginkel | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | ARI | pitcher | Middle Reliever | Paul Sewald | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.9000 | boost | better |
| home | ARI | batter | LF | Tommy Troy | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 0.8330 | boost | better |
| away | LAA | batter | SS | Zach Neto | better | 9 | 5 | 4 | 6 | 3 | predicted_HR | 0.8300 | boost | better |
| home | ARI | batter | 3B | Nolan Arenado | worse | 9 | 2 | 7 | 1 | 8 | predicted_H | -0.7900 | deboost | worse |
| home | ARI | pitcher | Middle Reliever | Juan Morillo | 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 | Walbert Urena |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2653 |
| ESPN Rank | 70 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2327 |
| Avg Velo | 93.8841 |
| Avg Spin | 2102.0694 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 1 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 6 |
| Season ERA | 2.4398 |
| Season WHIP | 1.3554 |
| Role Avg IP | 5.3670 |
| Recent Avg IP | 5.6000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"opponent": {
"team": "ARI",
"games": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"edges": {
"quality_edge": -0.0385,
"offense_edge": 0.0061,
"opponent_offense_edge": -0.0095,
"defense_strength": -0.0994,
"opponent_defense_weakness": 0.0241,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9959,
"run_prevention": 1.0103,
"strikeout": 0.9996
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "700712",
"profile": {
"available": true,
"pitcher_id": "700712",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 167.0,
"k_percent": 22.7,
"bb_percent": 13.6,
"woba": 0.292,
"xwoba": 0.286,
"sweet_spot_percent": 25.8,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 32.5,
"avg_best_speed": 75.9095,
"avg_hyper_speed": 93.3028,
"whiff_percent": 28.1,
"swing_percent": 43.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6896,
"command_and_miss": -0.095,
"regression_edge": 0.1714,
"xwoba_edge": 0.8286,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.8714,
"whiff_edge": 0.3714,
"bb_edge": -1.125,
"pitch_design_score": 0.2327
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700712",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 93.88405062413402,
"release_spin_rate": 2102.069389451107,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 93.88405062413402,
"release_spin_rate": 2102.069389451107,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8841,
"release_spin_rate": 2102.0694,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2327,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6624,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2653,
"sample_weight": 0.668,
"run_prevention_factor": 0.9774,
"strikeout_factor": 1.0099,
"walk_factor": 1.0601,
"homer_factor": 0.9447,
"woba_minus_xwoba": 0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700712",
"espn_id": 5197476,
"player_name": "Walbert Urena",
"team": "LAA",
"role": "pitcher",
"espn_rank": 70,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 70,
"gp_value": 12.0,
"gp_rank": 344,
"gs_value": 10.0,
"gs_rank": 108,
"qs_value": 5.0,
"qs_rank": 45,
"era_value": 2.4397,
"era_rank": null,
"w_value": 4.0,
"w_rank": 59,
"l_value": 4.0,
"l_rank": 59,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 1.0,
"hld_rank": 193,
"ip_value": 55.1,
"ip_rank": 120,
"h_value": 42.0,
"h_rank": 129,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 33.0,
"bb_rank": 9,
"k_value": 55.0,
"k_rank": 90,
"k_per_9_value": 8.945784,
"k_per_9_rank": 20,
"whip_value": 1.3554,
"whip_rank": null,
"war_value": 1.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9849,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 0.9849,
"adjusted": 4
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0401,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9631,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0066,
"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": 53.2,
"ER": 15,
"H": 37,
"BB": 30,
"SO": 53,
"HR": 4,
"ERA": 2.515527950310559,
"WHIP": 1.2484472049689441,
"K9": 8.888198757763975,
"HR9": 0.6708074534161491,
"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-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "700712",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 93.88405062413402,
"release_spin_rate": 2102.069389451107,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 93.88405062413402,
"release_spin_rate": 2102.069389451107,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8841,
"release_spin_rate": 2102.0694,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2327,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.6624,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "700712",
"report_date": "20260615_L",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 5.0,
"R": 5.0,
"H": 20.0,
"BB": 16.0,
"SO": 29.0,
"HR": 2.0,
"BF": 123.0,
"Pitches": 483.0
},
"per_game": {
"IP": 5.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 3.2,
"SO": 5.8,
"HR": 0.4,
"BF": 24.6,
"Pitches": 96.6
},
"rates": {
"ERA": 1.6071,
"WHIP": 1.2857,
"ER_per_IP": 0.17857,
"H_per_IP": 0.71429,
"BB_per_IP": 0.57143,
"SO_per_IP": 1.03571,
"HR_per_IP": 0.07143
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.2,
"ER": 15.0,
"R": 15.0,
"H": 37.0,
"BB": 30.0,
"SO": 53.0,
"HR": 4.0,
"BF": 227.0,
"Pitches": 905.0
},
"per_game": {
"IP": 5.1,
"ER": 1.5,
"R": 1.5,
"H": 3.7,
"BB": 3.0,
"SO": 5.3,
"HR": 0.4,
"BF": 22.7,
"Pitches": 90.5
},
"rates": {
"ERA": 2.5155,
"WHIP": 1.2484,
"ER_per_IP": 0.2795,
"H_per_IP": 0.68944,
"BB_per_IP": 0.55901,
"SO_per_IP": 0.98758,
"HR_per_IP": 0.07453
}
},
"season": {
"games": 12,
"totals": {
"IP": 55.1,
"ER": 15.0,
"R": 21.0,
"H": 42.0,
"BB": 33.0,
"SO": 55.0,
"HR": 4.0,
"BF": 242.0,
"Pitches": 967.0
},
"per_game": {
"IP": 4.2,
"ER": 1.25,
"R": 1.75,
"H": 3.5,
"BB": 2.75,
"SO": 4.5833,
"HR": 0.3333,
"BF": 20.1667,
"Pitches": 80.5833
},
"rates": {
"ERA": 2.4398,
"WHIP": 1.3554,
"ER_per_IP": 0.27108,
"H_per_IP": 0.75904,
"BB_per_IP": 0.59639,
"SO_per_IP": 0.99398,
"HR_per_IP": 0.07229
}
}
},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.718,
"predicted_H": 4.379,
"predicted_BB": 2.826,
"predicted_SO": 5.474,
"predicted_HR": 0.521,
"predicted_ERA": 2.7906,
"predicted_WHIP": 1.3003
}
}{
"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": 1.0,
"form": 1.718,
"final": 1.3775,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.379,
"final": 5.1478,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.826,
"final": 2.4343,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.474,
"final": 5.7235,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.521,
"final": 0.2739,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7906,
"final": 2.7906,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3003,
"final": 1.3003,
"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 | Chase Silseth |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0747 |
| ESPN Rank | 86 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 1.7763 |
| Season WHIP | 1.3816 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"opponent": {
"team": "ARI",
"games": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"edges": {
"quality_edge": -0.0385,
"offense_edge": 0.0061,
"opponent_offense_edge": -0.0095,
"defense_strength": -0.0994,
"opponent_defense_weakness": 0.0241,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9959,
"run_prevention": 1.0103,
"strikeout": 0.9996
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681217",
"profile": {
"available": true,
"pitcher_id": "681217",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 75.0,
"k_percent": 24.3,
"bb_percent": 14.0,
"woba": 0.306,
"xwoba": 0.306,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 29.2,
"avg_best_speed": 75.9443,
"avg_hyper_speed": 92.9485,
"whiff_percent": 33.7,
"swing_percent": 46.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.1719,
"command_and_miss": 0.2679,
"regression_edge": 0.0,
"xwoba_edge": 0.2571,
"barrel_edge": -0.4222,
"hard_hit_edge": 1.3429,
"whiff_edge": 1.1714,
"bb_edge": -1.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681217",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0747,
"sample_weight": 0.45,
"run_prevention_factor": 0.9937,
"strikeout_factor": 1.0252,
"walk_factor": 1.0441,
"homer_factor": 0.9876,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681217",
"espn_id": 4413990,
"player_name": "Chase Silseth",
"team": "LAA",
"role": "pitcher",
"espn_rank": 86,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 86,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.7763,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 25.1,
"ip_rank": 310,
"h_value": 20.0,
"h_rank": 318,
"er_value": 5.0,
"er_rank": 490,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 15.0,
"bb_rank": 186,
"k_value": 27.0,
"k_rank": 266,
"k_per_9_value": 9.592105,
"k_per_9_rank": 23,
"whip_value": 1.3815,
"whip_rank": null,
"war_value": 1.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9972,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9972,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0198,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9944,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0113,
"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": 2,
"SO": 11,
"HR": 1,
"ERA": 1.0384615384615383,
"WHIP": 0.9230769230769229,
"K9": 11.423076923076922,
"HR9": 1.0384615384615383,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "681217",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.016,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5008,
"prior_weight": 0.4992
},
"role": "pitcher",
"player_id": "681217",
"report_date": "20260615_L",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 4.0,
"Pitches": 16.4
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.2857,
"ER_per_IP": 0.21429,
"H_per_IP": 0.85714,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.5,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 11.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 146.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.2,
"SO": 1.1,
"HR": 0.1,
"BF": 3.4,
"Pitches": 14.6
},
"rates": {
"ERA": 1.0385,
"WHIP": 0.9231,
"ER_per_IP": 0.11538,
"H_per_IP": 0.69231,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 31,
"totals": {
"IP": 25.1,
"ER": 5.0,
"R": 6.0,
"H": 20.0,
"BB": 15.0,
"SO": 27.0,
"HR": 2.0,
"BF": 110.0,
"Pitches": 450.0
},
"per_game": {
"IP": 0.2,
"ER": 0.1613,
"R": 0.1935,
"H": 0.6452,
"BB": 0.4839,
"SO": 0.871,
"HR": 0.0645,
"BF": 3.5484,
"Pitches": 14.5161
},
"rates": {
"ERA": 1.7763,
"WHIP": 1.3816,
"ER_per_IP": 0.19737,
"H_per_IP": 0.78947,
"BB_per_IP": 0.59211,
"SO_per_IP": 1.06579,
"HR_per_IP": 0.07895
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.325,
"predicted_H": 0.85,
"predicted_BB": 0.364,
"predicted_SO": 1.096,
"predicted_HR": 0.144,
"predicted_ERA": 3.0252,
"predicted_WHIP": 1.2555
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5609,
"form_weight": 0.4391,
"form_reliability": 0.5008,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.016,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5008,
"prior_weight": 0.4992
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.325,
"final": 0.1427,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.85,
"final": 0.3732,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.364,
"final": 0.7207,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.096,
"final": 1.0422,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.144,
"final": 0.0632,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0252,
"final": 3.0252,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2555,
"final": 1.2555,
"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.1588 |
| ESPN Rank | 337 |
| 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 | 0 |
| Season ERA | 3.6486 |
| Season WHIP | 1.0541 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"opponent": {
"team": "ARI",
"games": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"edges": {
"quality_edge": -0.0385,
"offense_edge": 0.0061,
"opponent_offense_edge": -0.0095,
"defense_strength": -0.0994,
"opponent_defense_weakness": 0.0241,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9959,
"run_prevention": 1.0103,
"strikeout": 0.9996
},
"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": 27.0,
"k_percent": 30.2,
"bb_percent": 9.4,
"woba": 0.297,
"xwoba": 0.323,
"sweet_spot_percent": 45.2,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 61.3,
"avg_best_speed": 85.2282,
"avg_hyper_speed": 97.3072,
"whiff_percent": 29.9,
"swing_percent": 50.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.8165,
"command_and_miss": 0.6871,
"regression_edge": -0.7429,
"xwoba_edge": -0.2286,
"barrel_edge": -1.2444,
"hard_hit_edge": -2.5,
"whiff_edge": 0.6286,
"bb_edge": -0.075,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "489446",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1588,
"sample_weight": 0.45,
"run_prevention_factor": 1.0135,
"strikeout_factor": 1.0306,
"walk_factor": 1.0027,
"homer_factor": 1.0929,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "489446",
"espn_id": 32623,
"player_name": "Kirby Yates",
"team": "LAA",
"role": "pitcher",
"espn_rank": 337,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 337,
"gp_value": 14.0,
"gp_rank": 251,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.3783,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 12.1,
"ip_rank": 452,
"h_value": 9.0,
"h_rank": 495,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 5.0,
"bb_rank": 466,
"k_value": 16.0,
"k_rank": 390,
"k_per_9_value": 11.675675,
"k_per_9_rank": 23,
"whip_value": 1.1351,
"whip_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0061,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0061,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0418,
"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": 8.2,
"ER": 3,
"H": 5,
"BB": 4,
"SO": 10,
"HR": 1,
"ERA": 3.1153846153846154,
"WHIP": 1.0384615384615385,
"K9": 10.384615384615385,
"HR9": 1.0384615384615385,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "489446",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.442,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3282,
"prior_weight": 0.6718
},
"role": "pitcher",
"player_id": "489446",
"report_date": "20260615_L",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 14.4
},
"rates": {
"ERA": 3.6,
"WHIP": 1.0,
"ER_per_IP": 0.4,
"H_per_IP": 0.8,
"BB_per_IP": 0.2,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 4.0,
"SO": 12.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.4,
"SO": 1.2,
"HR": 0.1,
"BF": 4.0,
"Pitches": 15.0
},
"rates": {
"ERA": 2.7931,
"WHIP": 0.931,
"ER_per_IP": 0.31034,
"H_per_IP": 0.51724,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 13,
"totals": {
"IP": 12.1,
"ER": 5.0,
"R": 5.0,
"H": 8.0,
"BB": 5.0,
"SO": 16.0,
"HR": 1.0,
"BF": 52.0,
"Pitches": 207.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3846,
"R": 0.3846,
"H": 0.6154,
"BB": 0.3846,
"SO": 1.2308,
"HR": 0.0769,
"BF": 4.0,
"Pitches": 15.9231
},
"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.2973,
"HR_per_IP": 0.08108
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.455,
"predicted_H": 0.873,
"predicted_BB": 0.346,
"predicted_SO": 1.032,
"predicted_HR": 0.115,
"predicted_ERA": 4.0939,
"predicted_WHIP": 1.2195
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6338,
"form_weight": 0.3662,
"form_reliability": 0.3282,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.442,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3282,
"prior_weight": 0.6718
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.455,
"final": 0.8004,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.873,
"final": 1.5873,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.346,
"final": 0.7605,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.032,
"final": 0.3779,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.115,
"final": 0.0421,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0939,
"final": 4.0939,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2195,
"final": 1.2195,
"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.3458 |
| ESPN Rank | 124 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.3061 |
| Season WHIP | 1.2245 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"opponent": {
"team": "ARI",
"games": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"edges": {
"quality_edge": -0.0385,
"offense_edge": 0.0061,
"opponent_offense_edge": -0.0095,
"defense_strength": -0.0994,
"opponent_defense_weakness": 0.0241,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9959,
"run_prevention": 1.0103,
"strikeout": 0.9996
},
"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": 26.8,
"bb_percent": 11.8,
"woba": 0.261,
"xwoba": 0.268,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 31.6,
"avg_best_speed": 75.4229,
"avg_hyper_speed": 92.8732,
"whiff_percent": 36.2,
"swing_percent": 44.4
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.0998,
"command_and_miss": 0.6636,
"regression_edge": -0.2,
"xwoba_edge": 1.3429,
"barrel_edge": 0.7111,
"hard_hit_edge": 1.0,
"whiff_edge": 1.5286,
"bb_edge": -0.675,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "696147",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3458,
"sample_weight": 0.45,
"run_prevention_factor": 0.9706,
"strikeout_factor": 1.0381,
"walk_factor": 1.0243,
"homer_factor": 0.9383,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696147",
"espn_id": 4621489,
"player_name": "Sam Bachman",
"team": "LAA",
"role": "pitcher",
"espn_rank": 124,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 124,
"gp_value": 26.0,
"gp_rank": 111,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.3061,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 11.0,
"hld_rank": 10,
"ip_value": 32.2,
"ip_rank": 200,
"h_value": 23.0,
"h_rank": 281,
"er_value": 12.0,
"er_rank": 258,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 17.0,
"bb_rank": 151,
"k_value": 35.0,
"k_rank": 188,
"k_per_9_value": 9.642858,
"k_per_9_rank": 25,
"whip_value": 1.2244,
"whip_rank": null,
"war_value": 0.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9868,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9868,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0109,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9722,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0171,
"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": 5,
"H": 11,
"BB": 7,
"SO": 11,
"HR": 2,
"ERA": 4.35483870967742,
"WHIP": 1.741935483870968,
"K9": 9.580645161290324,
"HR9": 1.741935483870968,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "696147",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.469,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"role": "pitcher",
"player_id": "696147",
"report_date": "20260615_L",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 3.0,
"SO": 6.0,
"HR": 2.0,
"BF": 22.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.4,
"BF": 4.4,
"Pitches": 16.0
},
"rates": {
"ERA": 10.3846,
"WHIP": 2.0769,
"ER_per_IP": 1.15385,
"H_per_IP": 1.38462,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 5.0,
"H": 11.0,
"BB": 7.0,
"SO": 11.0,
"HR": 2.0,
"BF": 49.0,
"Pitches": 175.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.1,
"BB": 0.7,
"SO": 1.1,
"HR": 0.2,
"BF": 4.9,
"Pitches": 17.5
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.7419,
"ER_per_IP": 0.48387,
"H_per_IP": 1.06452,
"BB_per_IP": 0.67742,
"SO_per_IP": 1.06452,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 26,
"totals": {
"IP": 32.2,
"ER": 12.0,
"R": 12.0,
"H": 23.0,
"BB": 17.0,
"SO": 35.0,
"HR": 4.0,
"BF": 136.0,
"Pitches": 511.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4615,
"R": 0.4615,
"H": 0.8846,
"BB": 0.6538,
"SO": 1.3462,
"HR": 0.1538,
"BF": 5.2308,
"Pitches": 19.6538
},
"rates": {
"ERA": 3.3061,
"WHIP": 1.2245,
"ER_per_IP": 0.36735,
"H_per_IP": 0.70408,
"BB_per_IP": 0.52041,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.12245
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.671,
"predicted_H": 1.105,
"predicted_BB": 0.545,
"predicted_SO": 1.131,
"predicted_HR": 0.241,
"predicted_ERA": 5.8164,
"predicted_WHIP": 1.5904
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5342,
"form_weight": 0.4658,
"form_reliability": 0.564,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.469,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.564,
"prior_weight": 0.436
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.671,
"final": 0.3125,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.105,
"final": 0.5147,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.545,
"final": 0.2539,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.131,
"final": 0.5268,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.241,
"final": 0.1123,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.8164,
"final": 5.8164,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5904,
"final": 1.5904,
"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.263 | 0.000 | 0.000 | Hitting_2B | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.330 | 5.000 | 3.000 | Hitting_AB | 3.212 | 2.000 | 1.788 | 3.000 |
| predicted_AVG | 0.257 | 0.000 | 0.333 | Hitting_AVG | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_BB | 0.368 | 0.000 | 0.000 | Hitting_BB | 0.303 | 0.000 | -0.303 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.850 | 0.000 | 1.000 | Hitting_H | 0.970 | 0.000 | -0.970 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_OBP | 0.336 | 0.000 | 0.333 | Hitting_OBP | 0.362 | 0.000 | -0.362 | 0.000 |
| predicted_R | 0.526 | 0.000 | 1.000 | Hitting_R | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 0.000 | Hitting_RBI | 0.636 | 0.000 | -0.636 | 0.000 |
| predicted_SLG | 0.410 | 0.000 | 0.333 | Hitting_SLG | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_SO | 0.737 | 1.000 | 1.000 | Hitting_SO | 0.667 | 1.000 | 0.333 | 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: 3.3300 -> 5.0000 (boost 1.6700, better) |
| Biggest Deboost | predicted_H: 0.8500 -> 0.0000 (deboost -0.8500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 0.7370 -> 0.7925 (boost 0.0555, worse) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4122 -> 0.4232 (boost 0.0110, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7932 -> 1.0000 (boost 0.2068, worse) | predicted_RBI: 0.5246 -> 0.0000 (deboost -0.5246, worse) | AB rounded to 3 (raw=3.34), rates preserved: AVG=0.259 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5448 -> 1.0000 (boost 0.4552, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2593 -> 0.3330 (boost 0.0737, better) | predicted_SLG: 0.4232 -> 0.3330 (deboost -0.0902, 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_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4232 (boost 0.0902, better) | predicted_AVG: 0.3330 -> 0.2593 (deboost -0.0737, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "685133",
"player_name": "Wade Meckler",
"position": "LF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.263,
"predicted_3B": 0.0,
"predicted_AB": 3.33,
"predicted_AVG": 0.257,
"predicted_BB": 0.368,
"predicted_H": 0.85,
"predicted_HR": 0.1,
"predicted_OBP": 0.336,
"predicted_R": 0.526,
"predicted_RBI": 0.51,
"predicted_SLG": 0.41,
"predicted_SO": 0.737
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2652,
"predicted_3B": 0.0014,
"predicted_AB": 3.3433,
"predicted_AVG": 0.2586,
"predicted_BB": 0.3885,
"predicted_H": 0.8608,
"predicted_HBP": 0.009,
"predicted_HR": 0.0932,
"predicted_OBP": 0.3399,
"predicted_R": 0.539,
"predicted_RBI": 0.519,
"predicted_SLG": 0.4122,
"predicted_SO": 0.7925
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.263,
"after": 0.2652,
"delta": 0.0022,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.33,
"after": 3.3433,
"delta": 0.0133,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2586,
"delta": 0.0016,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.3885,
"delta": 0.0205,
"percent_delta": 0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8608,
"delta": 0.0108,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0932,
"delta": -0.0068,
"percent_delta": -0.068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3399,
"delta": 0.0039,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 0.539,
"delta": 0.013,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.519,
"delta": 0.009,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4122,
"delta": 0.0022,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.737,
"after": 0.7925,
"delta": 0.0555,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.737,
"after": 0.7925,
"delta": 0.0555,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2652,
"predicted_3B": 0.0014,
"predicted_AB": 3.3433,
"predicted_AVG": 0.2593,
"predicted_BB": 0.3882,
"predicted_H": 0.8668,
"predicted_HBP": 0.009,
"predicted_HR": 0.0933,
"predicted_OBP": 0.3363,
"predicted_R": 0.5448,
"predicted_RBI": 0.5246,
"predicted_SLG": 0.4232,
"predicted_SO": 0.7932
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2652,
"after": 0.2652,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3433,
"after": 3.3433,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2586,
"after": 0.2593,
"delta": 0.0007,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3885,
"after": 0.3882,
"delta": -0.0003,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8608,
"after": 0.8668,
"delta": 0.006,
"percent_delta": 0.007,
"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.0932,
"after": 0.0933,
"delta": 0.0001,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3399,
"after": 0.3363,
"delta": -0.0036,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.539,
"after": 0.5448,
"delta": 0.0058,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.519,
"after": 0.5246,
"delta": 0.0056,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4122,
"after": 0.4232,
"delta": 0.011,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7925,
"after": 0.7932,
"delta": 0.0007,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_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.4122,
"after": 0.4232,
"delta": 0.011,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.34), rates preserved: AVG=0.259 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2652,
"after": 0.0,
"delta": -0.2652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3433,
"after": 3.0,
"delta": -0.3433,
"percent_delta": -0.1027,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3882,
"after": 0.0,
"delta": -0.3882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8668,
"after": 1.0,
"delta": 0.1332,
"percent_delta": 0.1537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0933,
"after": 0.0,
"delta": -0.0933,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5246,
"after": 0.0,
"delta": -0.5246,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7932,
"after": 1.0,
"delta": 0.2068,
"percent_delta": 0.2607,
"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.7932,
"after": 1.0,
"delta": 0.2068,
"percent_delta": 0.2607,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5246,
"after": 0.0,
"delta": -0.5246,
"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.5448,
"after": 1.0,
"delta": 0.4552,
"percent_delta": 0.8355,
"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.5448,
"after": 1.0,
"delta": 0.4552,
"percent_delta": 0.8355,
"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.2593,
"after": 0.333,
"delta": 0.0737,
"percent_delta": 0.2842,
"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.3363,
"after": 0.333,
"delta": -0.0033,
"percent_delta": -0.0098,
"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.4232,
"after": 0.333,
"delta": -0.0902,
"percent_delta": -0.2131,
"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.2593,
"after": 0.333,
"delta": 0.0737,
"percent_delta": 0.2842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4232,
"after": 0.333,
"delta": -0.0902,
"percent_delta": -0.2131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2593,
"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.3363,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4232,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2593,
"delta": -0.0737,
"percent_delta": -0.2214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3363,
"delta": 0.0033,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4232,
"delta": 0.0902,
"percent_delta": 0.2708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4232,
"delta": 0.0902,
"percent_delta": 0.2708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2593,
"delta": -0.0737,
"percent_delta": -0.2214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"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.33,
"after": 5.0,
"delta": 1.67,
"percent_delta": 0.5015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2593,
"delta": 0.0023,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3363,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 0.0,
"delta": -0.526,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.0,
"delta": -0.51,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4232,
"delta": 0.0132,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.737,
"after": 1.0,
"delta": 0.263,
"percent_delta": 0.3569,
"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.33,
"after": 5.0,
"delta": 1.67,
"percent_delta": 0.5015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.85,
"after": 0.0,
"delta": -0.85,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.263 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.330 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.526 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 0.737 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.265 | 0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.343 | 0.013 |
| predicted_AVG | 0.259 | 0.002 |
| predicted_BB | 0.389 | 0.021 |
| predicted_H | 0.861 | 0.011 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.093 | -0.007 |
| predicted_OBP | 0.340 | 0.004 |
| predicted_R | 0.539 | 0.013 |
| predicted_RBI | 0.519 | 0.009 |
| predicted_SLG | 0.412 | 0.002 |
| predicted_SO | 0.792 | 0.055 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.265 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.343 | 0.000 |
| predicted_AVG | 0.259 | 0.001 |
| predicted_BB | 0.388 | -0.000 |
| predicted_H | 0.867 | 0.006 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.093 | 0.000 |
| predicted_OBP | 0.336 | -0.004 |
| predicted_R | 0.545 | 0.006 |
| predicted_RBI | 0.525 | 0.006 |
| predicted_SLG | 0.423 | 0.011 |
| predicted_SO | 0.793 | 0.001 |
AB rounded to 3 (raw=3.34), rates preserved: AVG=0.259 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.265 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.343 |
| predicted_AVG | 0.333 | 0.074 |
| predicted_BB | 0.000 | -0.388 |
| predicted_H | 1.000 | 0.133 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.333 | -0.003 |
| predicted_R | 1.000 | 0.455 |
| predicted_RBI | 0.000 | -0.525 |
| predicted_SLG | 0.333 | -0.090 |
| predicted_SO | 1.000 | 0.207 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 3.000 | 6.000 | 0.1429 | 0.2941 | 0.2143 | 0.1429 | 0.0000 | 0.1429 | 0.2143 | 0.4286 |
| last_10 | 0.20 | 10 | - | 33.000 | 10.000 | 5.000 | 0.000 | 0.000 | 4.000 | 7.000 | 6.000 | 10.000 | 0.3030 | 0.4103 | 0.4545 | 0.3030 | 0.0000 | 0.1212 | 0.1818 | 0.3030 |
| season | 0.60 | 19 | - | 61.000 | 18.000 | 5.000 | 0.000 | 2.000 | 12.000 | 10.000 | 7.000 | 14.000 | 0.2951 | 0.3676 | 0.4754 | 0.2951 | 0.0328 | 0.1967 | 0.1148 | 0.2295 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2690 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.3670 |
| predicted_AVG | 0.2614 |
| predicted_BB | 0.4250 |
| predicted_H | 0.8800 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.3468 |
| predicted_R | 0.5620 |
| predicted_RBI | 0.5350 |
| predicted_SLG | 0.4161 |
| predicted_SO | 0.8910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2630 | 0.2690 | 0.2652 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 3.3300 | 3.3670 | 3.3433 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2614 | 0.2586 | model_form_blend |
| predicted_BB | 0.3680 | 0.4250 | 0.3885 | model_form_blend |
| predicted_H | 0.8500 | 0.8800 | 0.8608 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1000 | 0.0810 | 0.0932 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3468 | 0.3399 | model_form_blend |
| predicted_R | 0.5260 | 0.5620 | 0.5390 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5350 | 0.5190 | model_form_blend |
| predicted_SLG | 0.4100 | 0.4161 | 0.4122 | model_form_blend |
| predicted_SO | 0.7370 | 0.8910 | 0.7925 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 19 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.295 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260614_TB@LAA |
| game_type | full |
| mlbID | 685133 |
| playerID | 685133 |
| playerName | Wade Meckler |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.382 |
| sl_xwoba | 0.347 |
| sl_xba | 0.264 |
| sl_xslg | 0.445 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 28.3 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 5.0 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 45.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.203 | 0.000 | 0.000 | Hitting_2B | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.490 | 4.000 | 4.000 | Hitting_AB | 3.959 | 5.000 | 0.041 | -1.000 |
| predicted_AVG | 0.211 | 0.250 | 0.250 | Hitting_AVG | 0.238 | 0.000 | 0.012 | 0.250 |
| predicted_BB | 0.522 | 1.000 | 0.000 | Hitting_BB | 0.587 | 0.000 | 0.413 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_H | 0.950 | 1.000 | 1.000 | Hitting_H | 0.941 | 0.000 | 0.059 | 1.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.178 | 0.000 | 0.822 | 1.000 |
| predicted_OBP | 0.295 | 0.400 | 0.250 | Hitting_OBP | 0.347 | 0.000 | 0.053 | 0.400 |
| predicted_R | 0.696 | 1.000 | 1.000 | Hitting_R | 0.725 | 0.000 | 0.275 | 1.000 |
| predicted_RBI | 0.430 | 1.000 | 0.000 | Hitting_RBI | 0.487 | 0.000 | 0.513 | 1.000 |
| predicted_SLG | 0.376 | 1.000 | 0.250 | Hitting_SLG | 0.443 | 0.000 | 0.557 | 1.000 |
| predicted_SO | 1.449 | 1.000 | 1.000 | Hitting_SO | 1.409 | 2.000 | -0.409 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_HR: 0.1700 -> 1.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_AB: 4.4900 -> 4.0000 (deboost -0.4900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 1 | 5 | 0 | 6 | predicted_SO: 1.4490 -> 1.5076 (boost 0.0586, worse) | predicted_AB: 4.4900 -> 4.3210 (deboost -0.1690, 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.2919 -> 0.2851 (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 | 1 | 7 | 2 | 6 | predicted_H: 0.8984 -> 1.0000 (boost 0.1016, better) | predicted_SO: 1.5090 -> 1.0000 (deboost -0.5090, better) | AB rounded to 4 (raw=4.49), rates preserved: AVG=0.200 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6821 -> 1.0000 (boost 0.3179, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2079 -> 0.2500 (boost 0.0421, better) | predicted_SLG: 0.3721 -> 0.2500 (deboost -0.1221, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3721 (boost 0.1221, better) | predicted_AVG: 0.2500 -> 0.2079 (deboost -0.0421, worse) | 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.203,
"predicted_3B": 0.014,
"predicted_AB": 4.49,
"predicted_AVG": 0.211,
"predicted_BB": 0.522,
"predicted_H": 0.95,
"predicted_HR": 0.17,
"predicted_OBP": 0.295,
"predicted_R": 0.696,
"predicted_RBI": 0.43,
"predicted_SLG": 0.376,
"predicted_SO": 1.449
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1728,
"predicted_3B": 0.0123,
"predicted_AB": 4.321,
"predicted_AVG": 0.2058,
"predicted_BB": 0.4668,
"predicted_H": 0.8922,
"predicted_HBP": 0.13,
"predicted_HR": 0.1704,
"predicted_OBP": 0.2919,
"predicted_R": 0.6748,
"predicted_RBI": 0.4156,
"predicted_SLG": 0.3697,
"predicted_SO": 1.5076
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1728,
"delta": -0.0302,
"percent_delta": -0.1488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0123,
"delta": -0.0017,
"percent_delta": -0.1214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.49,
"after": 4.321,
"delta": -0.169,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2058,
"delta": -0.0052,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.522,
"after": 0.4668,
"delta": -0.0552,
"percent_delta": -0.1057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.8922,
"delta": -0.0578,
"percent_delta": -0.0608,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1704,
"delta": 0.0004,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2919,
"delta": -0.0031,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.696,
"after": 0.6748,
"delta": -0.0212,
"percent_delta": -0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4156,
"delta": -0.0144,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3697,
"delta": -0.0063,
"percent_delta": -0.0168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.449,
"after": 1.5076,
"delta": 0.0586,
"percent_delta": 0.0404,
"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.449,
"after": 1.5076,
"delta": 0.0586,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.49,
"after": 4.321,
"delta": -0.169,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1728,
"predicted_3B": 0.0123,
"predicted_AB": 4.321,
"predicted_AVG": 0.2079,
"predicted_BB": 0.4664,
"predicted_H": 0.8984,
"predicted_HBP": 0.13,
"predicted_HR": 0.1706,
"predicted_OBP": 0.2851,
"predicted_R": 0.6821,
"predicted_RBI": 0.4201,
"predicted_SLG": 0.3721,
"predicted_SO": 1.509
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1728,
"after": 0.1728,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0123,
"after": 0.0123,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.321,
"after": 4.321,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2058,
"after": 0.2079,
"delta": 0.0021,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4668,
"after": 0.4664,
"delta": -0.0004,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8922,
"after": 0.8984,
"delta": 0.0062,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.13,
"after": 0.13,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1704,
"after": 0.1706,
"delta": 0.0002,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2919,
"after": 0.2851,
"delta": -0.0068,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6748,
"after": 0.6821,
"delta": 0.0073,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4156,
"after": 0.4201,
"delta": 0.0045,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3697,
"after": 0.3721,
"delta": 0.0024,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5076,
"after": 1.509,
"delta": 0.0014,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2919,
"after": 0.2851,
"delta": -0.0068,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.49), rates preserved: AVG=0.200 HR/AB=0.038",
"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.1728,
"after": 0.0,
"delta": -0.1728,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0123,
"after": 0.0,
"delta": -0.0123,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.321,
"after": 4.0,
"delta": -0.321,
"percent_delta": -0.0743,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4664,
"after": 0.0,
"delta": -0.4664,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8984,
"after": 1.0,
"delta": 0.1016,
"percent_delta": 0.1131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1706,
"after": 0.0,
"delta": -0.1706,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4201,
"after": 0.0,
"delta": -0.4201,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.509,
"after": 1.0,
"delta": -0.509,
"percent_delta": -0.3373,
"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": 0.8984,
"after": 1.0,
"delta": 0.1016,
"percent_delta": 0.1131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.509,
"after": 1.0,
"delta": -0.509,
"percent_delta": -0.3373,
"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": 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.6821,
"after": 1.0,
"delta": 0.3179,
"percent_delta": 0.4661,
"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.6821,
"after": 1.0,
"delta": 0.3179,
"percent_delta": 0.4661,
"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.2079,
"after": 0.25,
"delta": 0.0421,
"percent_delta": 0.2025,
"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.2851,
"after": 0.25,
"delta": -0.0351,
"percent_delta": -0.1231,
"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.3721,
"after": 0.25,
"delta": -0.1221,
"percent_delta": -0.3281,
"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.2079,
"after": 0.25,
"delta": 0.0421,
"percent_delta": 0.2025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3721,
"after": 0.25,
"delta": -0.1221,
"percent_delta": -0.3281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2079,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2851,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3721,
"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.2079,
"delta": -0.0421,
"percent_delta": -0.1683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.25,
"after": 0.2851,
"delta": 0.0351,
"percent_delta": 0.1404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3721,
"delta": 0.1221,
"percent_delta": 0.4882,
"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.3721,
"delta": 0.1221,
"percent_delta": 0.4882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2079,
"delta": -0.0421,
"percent_delta": -0.1683,
"direction": "deboost",
"projection_effect": "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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.49,
"after": 4.0,
"delta": -0.49,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.211,
"after": 0.2079,
"delta": -0.0031,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.522,
"after": 1.0,
"delta": 0.478,
"percent_delta": 0.9157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 1.0,
"delta": 0.05,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.2851,
"delta": -0.0099,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.696,
"after": 1.0,
"delta": 0.304,
"percent_delta": 0.4368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 1.0,
"delta": 0.57,
"percent_delta": 1.3256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3721,
"delta": -0.0039,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.449,
"after": 1.0,
"delta": -0.449,
"percent_delta": -0.3099,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_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": 4.49,
"after": 4.0,
"delta": -0.49,
"percent_delta": -0.1091,
"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.014 | - |
| predicted_AB | 4.490 | - |
| predicted_AVG | 0.211 | - |
| predicted_BB | 0.522 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.696 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 1.449 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.030 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 4.321 | -0.169 |
| predicted_AVG | 0.206 | -0.005 |
| predicted_BB | 0.467 | -0.055 |
| predicted_H | 0.892 | -0.058 |
| predicted_HBP | 0.130 | - |
| predicted_HR | 0.170 | 0.000 |
| predicted_OBP | 0.292 | -0.003 |
| predicted_R | 0.675 | -0.021 |
| predicted_RBI | 0.416 | -0.014 |
| predicted_SLG | 0.370 | -0.006 |
| predicted_SO | 1.508 | 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.173 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.321 | 0.000 |
| predicted_AVG | 0.208 | 0.002 |
| predicted_BB | 0.466 | -0.000 |
| predicted_H | 0.898 | 0.006 |
| predicted_HBP | 0.130 | 0.000 |
| predicted_HR | 0.171 | 0.000 |
| predicted_OBP | 0.285 | -0.007 |
| predicted_R | 0.682 | 0.007 |
| predicted_RBI | 0.420 | 0.004 |
| predicted_SLG | 0.372 | 0.002 |
| predicted_SO | 1.509 | 0.001 |
AB rounded to 4 (raw=4.49), rates preserved: AVG=0.200 HR/AB=0.038
| 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.173 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | -0.321 |
| predicted_AVG | 0.250 | 0.042 |
| predicted_BB | 0.000 | -0.466 |
| predicted_H | 1.000 | 0.102 |
| predicted_HR | 0.000 | -0.171 |
| predicted_OBP | 0.250 | -0.035 |
| predicted_R | 1.000 | 0.318 |
| predicted_RBI | 0.000 | -0.420 |
| predicted_SLG | 0.250 | -0.122 |
| predicted_SO | 1.000 | -0.509 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 11.000 | 0.1364 | 0.2083 | 0.1364 | 0.1364 | 0.0000 | 0.0000 | 0.0454 | 0.5000 |
| last_10 | 0.20 | 10 | - | 43.000 | 7.000 | 0.000 | 0.000 | 3.000 | 5.000 | 6.000 | 2.000 | 18.000 | 0.1628 | 0.2340 | 0.3721 | 0.1628 | 0.0698 | 0.1163 | 0.0465 | 0.4186 |
| season | 0.60 | 69 | - | 273.000 | 61.000 | 14.000 | 1.000 | 13.000 | 32.000 | 48.000 | 36.000 | 100.000 | 0.2234 | 0.3281 | 0.4249 | 0.2234 | 0.0476 | 0.1172 | 0.1319 | 0.3663 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1320 |
| predicted_3B | 0.0100 |
| predicted_AB | 4.0920 |
| predicted_AVG | 0.1988 |
| predicted_BB | 0.3920 |
| predicted_H | 0.8140 |
| predicted_HBP | 0.1300 |
| predicted_HR | 0.1710 |
| predicted_OBP | 0.2878 |
| predicted_R | 0.6460 |
| predicted_RBI | 0.3960 |
| predicted_SLG | 0.3612 |
| predicted_SO | 1.5870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1320 | 0.1728 | model_form_blend |
| predicted_3B | 0.0140 | 0.0100 | 0.0123 | model_form_blend |
| predicted_AB | 4.4900 | 4.0920 | 4.3210 | model_form_blend |
| predicted_AVG | 0.2110 | 0.1988 | 0.2058 | model_form_blend |
| predicted_BB | 0.5220 | 0.3920 | 0.4668 | model_form_blend |
| predicted_H | 0.9500 | 0.8140 | 0.8922 | model_form_blend |
| predicted_HBP | - | 0.1300 | 0.1300 | form_only |
| predicted_HR | 0.1700 | 0.1710 | 0.1704 | model_form_blend |
| predicted_OBP | 0.2950 | 0.2878 | 0.2919 | model_form_blend |
| predicted_R | 0.6960 | 0.6460 | 0.6748 | model_form_blend |
| predicted_RBI | 0.4300 | 0.3960 | 0.4156 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3612 | 0.3697 | model_form_blend |
| predicted_SO | 1.4490 | 1.5870 | 1.5076 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260614_TB@LAA |
| game_type | full |
| mlbID | 687263 |
| playerID | 687263 |
| playerName | Zach Neto |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.339 |
| sl_xwoba | 0.315 |
| sl_xba | 0.203 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 35.7 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 22.0 |
| sl_whiff_percent | 30.8 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.139 | 0.000 | 0.000 | Hitting_2B | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.120 | 5.000 | 4.000 | Hitting_AB | 3.940 | 3.000 | 1.060 | 2.000 |
| predicted_AVG | 0.262 | 0.200 | 0.250 | Hitting_AVG | 0.248 | 0.667 | -0.048 | -0.467 |
| predicted_BB | 0.125 | 0.000 | 0.000 | Hitting_BB | 0.133 | 1.000 | -0.133 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.080 | 1.000 | 1.000 | Hitting_H | 0.976 | 2.000 | 0.024 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.137 | 0.000 | -0.137 | 0.000 |
| predicted_OBP | 0.346 | 0.200 | 0.250 | Hitting_OBP | 0.295 | 0.800 | -0.095 | -0.600 |
| predicted_R | 0.472 | 0.000 | 1.000 | Hitting_R | 0.418 | 1.000 | -0.418 | -1.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.558 | 1.000 | -0.558 | -1.000 |
| predicted_SLG | 0.429 | 0.200 | 0.250 | Hitting_SLG | 0.384 | 0.667 | -0.184 | -0.467 |
| predicted_SO | 0.958 | 0.000 | 1.000 | Hitting_SO | 0.984 | 0.000 | -0.984 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 4.1200 -> 5.0000 (boost 0.8800, better) |
| Biggest Deboost | predicted_SO: 0.9580 -> 0.0000 (deboost -0.9580, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_R: 0.4720 -> 0.5974 (boost 0.1254, better) | predicted_AB: 4.1200 -> 4.0459 (deboost -0.0741, 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.3532 -> 0.3103 (deboost -0.0429, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_RBI: 0.5691 -> 1.0000 (boost 0.4309, better) | predicted_2B: 0.1644 -> 0.0000 (deboost -0.1644, worse) | AB rounded to 4 (raw=4.12), rates preserved: AVG=0.278 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6039 -> 1.0000 (boost 0.3961, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4093 -> 0.2500 (deboost -0.1593, 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_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4093 (boost 0.1593, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666176",
"player_name": "Jo Adell",
"position": "RF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.139,
"predicted_3B": 0.0,
"predicted_AB": 4.12,
"predicted_AVG": 0.262,
"predicted_BB": 0.125,
"predicted_H": 1.08,
"predicted_HR": 0.12,
"predicted_OBP": 0.346,
"predicted_R": 0.472,
"predicted_RBI": 0.56,
"predicted_SLG": 0.429,
"predicted_SO": 0.958
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1644,
"predicted_3B": 0.0004,
"predicted_AB": 4.0459,
"predicted_AVG": 0.2819,
"predicted_BB": 0.1576,
"predicted_H": 1.1389,
"predicted_HBP": 0.151,
"predicted_HR": 0.1145,
"predicted_OBP": 0.3532,
"predicted_R": 0.5974,
"predicted_RBI": 0.563,
"predicted_SLG": 0.4345,
"predicted_SO": 0.9161
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.139,
"after": 0.1644,
"delta": 0.0254,
"percent_delta": 0.1827,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0459,
"delta": -0.0741,
"percent_delta": -0.018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2819,
"delta": 0.0199,
"percent_delta": 0.076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.1576,
"delta": 0.0326,
"percent_delta": 0.2608,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.1389,
"delta": 0.0589,
"percent_delta": 0.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1145,
"delta": -0.0055,
"percent_delta": -0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3532,
"delta": 0.0072,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 0.5974,
"delta": 0.1254,
"percent_delta": 0.2657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.563,
"delta": 0.003,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4345,
"delta": 0.0055,
"percent_delta": 0.0128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.958,
"after": 0.9161,
"delta": -0.0419,
"percent_delta": -0.0437,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.472,
"after": 0.5974,
"delta": 0.1254,
"percent_delta": 0.2657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.12,
"after": 4.0459,
"delta": -0.0741,
"percent_delta": -0.018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1644,
"predicted_3B": 0.0004,
"predicted_AB": 4.0459,
"predicted_AVG": 0.2835,
"predicted_BB": 0.1575,
"predicted_H": 1.1469,
"predicted_HBP": 0.151,
"predicted_HR": 0.1146,
"predicted_OBP": 0.3103,
"predicted_R": 0.6039,
"predicted_RBI": 0.5691,
"predicted_SLG": 0.4093,
"predicted_SO": 0.9169
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1644,
"after": 0.1644,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0459,
"after": 4.0459,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2819,
"after": 0.2835,
"delta": 0.0016,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1576,
"after": 0.1575,
"delta": -0.0001,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1389,
"after": 1.1469,
"delta": 0.008,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.151,
"after": 0.151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1145,
"after": 0.1146,
"delta": 0.0001,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3532,
"after": 0.3103,
"delta": -0.0429,
"percent_delta": -0.1215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5974,
"after": 0.6039,
"delta": 0.0065,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.563,
"after": 0.5691,
"delta": 0.0061,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4345,
"after": 0.4093,
"delta": -0.0252,
"percent_delta": -0.058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9161,
"after": 0.9169,
"delta": 0.0008,
"percent_delta": 0.0009,
"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.3532,
"after": 0.3103,
"delta": -0.0429,
"percent_delta": -0.1215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.12), rates preserved: AVG=0.278 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1644,
"after": 0.0,
"delta": -0.1644,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0459,
"after": 4.0,
"delta": -0.0459,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1575,
"after": 0.0,
"delta": -0.1575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1469,
"after": 1.0,
"delta": -0.1469,
"percent_delta": -0.1281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.151,
"after": 0.0,
"delta": -0.151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1146,
"after": 0.0,
"delta": -0.1146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5691,
"after": 1.0,
"delta": 0.4309,
"percent_delta": 0.7572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9169,
"after": 1.0,
"delta": 0.0831,
"percent_delta": 0.0906,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5691,
"after": 1.0,
"delta": 0.4309,
"percent_delta": 0.7572,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1644,
"after": 0.0,
"delta": -0.1644,
"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.6039,
"after": 1.0,
"delta": 0.3961,
"percent_delta": 0.6559,
"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.6039,
"after": 1.0,
"delta": 0.3961,
"percent_delta": 0.6559,
"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.2835,
"after": 0.25,
"delta": -0.0335,
"percent_delta": -0.1182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.0603,
"percent_delta": -0.1943,
"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.4093,
"after": 0.25,
"delta": -0.1593,
"percent_delta": -0.3892,
"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.4093,
"after": 0.25,
"delta": -0.1593,
"percent_delta": -0.3892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 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_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2835,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3103,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4093,
"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.2835,
"delta": 0.0335,
"percent_delta": 0.1339,
"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.3103,
"delta": 0.0603,
"percent_delta": 0.2412,
"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.4093,
"delta": 0.1593,
"percent_delta": 0.6372,
"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.4093,
"delta": 0.1593,
"percent_delta": 0.6372,
"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.139,
"after": 0.0,
"delta": -0.139,
"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.12,
"after": 5.0,
"delta": 0.88,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2835,
"delta": 0.0215,
"percent_delta": 0.0821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.0,
"delta": -0.08,
"percent_delta": -0.0741,
"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.346,
"after": 0.3103,
"delta": -0.0357,
"percent_delta": -0.1032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4093,
"delta": -0.0197,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.958,
"after": 0.0,
"delta": -0.958,
"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": 4.12,
"after": 5.0,
"delta": 0.88,
"percent_delta": 0.2136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.958,
"after": 0.0,
"delta": -0.958,
"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.139 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.120 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.125 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.472 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.429 | - |
| predicted_SO | 0.958 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | 0.025 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.046 | -0.074 |
| predicted_AVG | 0.282 | 0.020 |
| predicted_BB | 0.158 | 0.033 |
| predicted_H | 1.139 | 0.059 |
| predicted_HBP | 0.151 | - |
| predicted_HR | 0.115 | -0.005 |
| predicted_OBP | 0.353 | 0.007 |
| predicted_R | 0.597 | 0.125 |
| predicted_RBI | 0.563 | 0.003 |
| predicted_SLG | 0.434 | 0.006 |
| predicted_SO | 0.916 | -0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.164 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.046 | 0.000 |
| predicted_AVG | 0.283 | 0.002 |
| predicted_BB | 0.158 | -0.000 |
| predicted_H | 1.147 | 0.008 |
| predicted_HBP | 0.151 | 0.000 |
| predicted_HR | 0.115 | 0.000 |
| predicted_OBP | 0.310 | -0.043 |
| predicted_R | 0.604 | 0.006 |
| predicted_RBI | 0.569 | 0.006 |
| predicted_SLG | 0.409 | -0.025 |
| predicted_SO | 0.917 | 0.001 |
AB rounded to 4 (raw=4.12), rates preserved: AVG=0.278 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.164 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.046 |
| predicted_AVG | 0.250 | -0.033 |
| predicted_BB | 0.000 | -0.158 |
| predicted_H | 1.000 | -0.147 |
| predicted_HR | 0.000 | -0.115 |
| predicted_OBP | 0.250 | -0.060 |
| predicted_R | 1.000 | 0.396 |
| predicted_RBI | 1.000 | 0.431 |
| predicted_SLG | 0.250 | -0.159 |
| predicted_SO | 1.000 | 0.083 |
Attached 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 9.000 | 2.000 | 0.000 | 0.000 | 3.000 | 7.000 | 2.000 | 3.000 | 0.4286 | 0.5000 | 0.5238 | 0.4286 | 0.0000 | 0.1429 | 0.0952 | 0.1429 |
| last_10 | 0.20 | 10 | - | 39.000 | 15.000 | 2.000 | 0.000 | 1.000 | 6.000 | 12.000 | 2.000 | 8.000 | 0.3846 | 0.4419 | 0.5128 | 0.3846 | 0.0256 | 0.1538 | 0.0513 | 0.2051 |
| season | 0.60 | 72 | - | 280.000 | 71.000 | 10.000 | 0.000 | 10.000 | 40.000 | 34.000 | 9.000 | 69.000 | 0.2536 | 0.2990 | 0.3964 | 0.2536 | 0.0357 | 0.1429 | 0.0321 | 0.2464 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1990 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9450 |
| predicted_AVG | 0.3090 |
| predicted_BB | 0.2020 |
| predicted_H | 1.2190 |
| predicted_HBP | 0.1510 |
| predicted_HR | 0.1070 |
| predicted_OBP | 0.3629 |
| predicted_R | 0.7680 |
| predicted_RBI | 0.5670 |
| predicted_SLG | 0.4419 |
| predicted_SO | 0.8590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1390 | 0.1990 | 0.1644 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1200 | 3.9450 | 4.0459 | model_form_blend |
| predicted_AVG | 0.2620 | 0.3090 | 0.2819 | model_form_blend |
| predicted_BB | 0.1250 | 0.2020 | 0.1576 | model_form_blend |
| predicted_H | 1.0800 | 1.2190 | 1.1389 | model_form_blend |
| predicted_HBP | - | 0.1510 | 0.1510 | form_only |
| predicted_HR | 0.1200 | 0.1070 | 0.1145 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3629 | 0.3532 | model_form_blend |
| predicted_R | 0.4720 | 0.7680 | 0.5974 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5670 | 0.5630 | model_form_blend |
| predicted_SLG | 0.4290 | 0.4419 | 0.4345 | model_form_blend |
| predicted_SO | 0.9580 | 0.8590 | 0.9161 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 2.7 |
| sl_woba | 0.302 |
| sl_xwoba | 0.334 |
| sl_xba | 0.27 |
| sl_xslg | 0.458 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 26.5 |
| sl_swing_percent | 56.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.155 | 0.000 | 0.000 | Hitting_2B | 0.192 | 1.000 | -0.192 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.970 | 3.000 | 4.000 | Hitting_AB | 3.551 | 5.000 | -0.551 | -2.000 |
| predicted_AVG | 0.229 | 0.000 | 0.250 | Hitting_AVG | 0.247 | 0.200 | -0.247 | -0.200 |
| predicted_BB | 0.915 | 2.000 | 1.000 | Hitting_BB | 0.974 | 0.000 | 1.026 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 0.000 | 1.000 | Hitting_H | 0.875 | 1.000 | -0.875 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_OBP | 0.343 | 0.400 | 0.400 | Hitting_OBP | 0.415 | 0.200 | -0.015 | 0.200 |
| predicted_R | 0.718 | 0.000 | 1.000 | Hitting_R | 0.762 | 0.000 | -0.762 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 0.000 | Hitting_RBI | 0.562 | 0.000 | -0.562 | 0.000 |
| predicted_SLG | 0.423 | 0.000 | 0.250 | Hitting_SLG | 0.505 | 0.400 | -0.505 | -0.400 |
| predicted_SO | 1.127 | 0.000 | 1.000 | Hitting_SO | 1.049 | 2.000 | -1.049 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.9150 -> 2.0000 (boost 1.0850, better) |
| Biggest Deboost | predicted_SO: 1.1270 -> 0.0000 (deboost -1.1270, 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 | 1 | 3 | 1 | 3 | predicted_OBP: 0.3430 -> 0.3481 (boost 0.0051, better) | predicted_AB: 3.9700 -> 3.8795 (deboost -0.0905, 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.3481 -> 0.3662 (boost 0.0181, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_BB: 0.8696 -> 1.0000 (boost 0.1304, better) | predicted_RBI: 0.3900 -> 0.0000 (deboost -0.3900, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.219 HR/AB=0.049 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7090 -> 1.0000 (boost 0.2910, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3662 -> 0.4000 (boost 0.0338, better) | predicted_SLG: 0.4142 -> 0.2500 (deboost -0.1642, 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_BB: 1.0000 -> 2.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.4142 (boost 0.1642, better) | predicted_OBP: 0.4000 -> 0.3662 (deboost -0.0338, 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.155,
"predicted_3B": 0.0,
"predicted_AB": 3.97,
"predicted_AVG": 0.229,
"predicted_BB": 0.915,
"predicted_H": 0.91,
"predicted_HR": 0.2,
"predicted_OBP": 0.343,
"predicted_R": 0.718,
"predicted_RBI": 0.41,
"predicted_SLG": 0.423,
"predicted_SO": 1.127
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1559,
"predicted_3B": 0.0004,
"predicted_AB": 3.8795,
"predicted_AVG": 0.2222,
"predicted_BB": 0.8704,
"predicted_H": 0.8637,
"predicted_HBP": 0.027,
"predicted_HR": 0.1932,
"predicted_OBP": 0.3481,
"predicted_R": 0.7014,
"predicted_RBI": 0.3858,
"predicted_SLG": 0.4143,
"predicted_SO": 1.1657
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.1559,
"delta": 0.0009,
"percent_delta": 0.0058,
"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.97,
"after": 3.8795,
"delta": -0.0905,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2222,
"delta": -0.0068,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.915,
"after": 0.8704,
"delta": -0.0446,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.8637,
"delta": -0.0463,
"percent_delta": -0.0509,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.1932,
"delta": -0.0068,
"percent_delta": -0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3481,
"delta": 0.0051,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.718,
"after": 0.7014,
"delta": -0.0166,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.3858,
"delta": -0.0242,
"percent_delta": -0.059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4143,
"delta": -0.0087,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.127,
"after": 1.1657,
"delta": 0.0387,
"percent_delta": 0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3481,
"delta": 0.0051,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.97,
"after": 3.8795,
"delta": -0.0905,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1559,
"predicted_3B": 0.0004,
"predicted_AB": 3.8795,
"predicted_AVG": 0.2242,
"predicted_BB": 0.8696,
"predicted_H": 0.8697,
"predicted_HBP": 0.027,
"predicted_HR": 0.1934,
"predicted_OBP": 0.3662,
"predicted_R": 0.709,
"predicted_RBI": 0.39,
"predicted_SLG": 0.4142,
"predicted_SO": 1.1667
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1559,
"after": 0.1559,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8795,
"after": 3.8795,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2222,
"after": 0.2242,
"delta": 0.002,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8704,
"after": 0.8696,
"delta": -0.0008,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8637,
"after": 0.8697,
"delta": 0.006,
"percent_delta": 0.0069,
"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.1932,
"after": 0.1934,
"delta": 0.0002,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3481,
"after": 0.3662,
"delta": 0.0181,
"percent_delta": 0.052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7014,
"after": 0.709,
"delta": 0.0076,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3858,
"after": 0.39,
"delta": 0.0042,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4143,
"after": 0.4142,
"delta": -0.0001,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1657,
"after": 1.1667,
"delta": 0.001,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_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.3481,
"after": 0.3662,
"delta": 0.0181,
"percent_delta": 0.052,
"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.97), rates preserved: AVG=0.219 HR/AB=0.049",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1559,
"after": 0.0,
"delta": -0.1559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8795,
"after": 4.0,
"delta": 0.1205,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8696,
"after": 1.0,
"delta": 0.1304,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8697,
"after": 1.0,
"delta": 0.1303,
"percent_delta": 0.1498,
"direction": "boost",
"projection_effect": "better",
"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.1934,
"after": 0.0,
"delta": -0.1934,
"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_SO",
"before": 1.1667,
"after": 1.0,
"delta": -0.1667,
"percent_delta": -0.1429,
"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.8696,
"after": 1.0,
"delta": 0.1304,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "better",
"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
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.709,
"after": 1.0,
"delta": 0.291,
"percent_delta": 0.4104,
"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.709,
"after": 1.0,
"delta": 0.291,
"percent_delta": 0.4104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 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.2242,
"after": 0.25,
"delta": 0.0258,
"percent_delta": 0.1151,
"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.3662,
"after": 0.4,
"delta": 0.0338,
"percent_delta": 0.0923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4142,
"after": 0.25,
"delta": -0.1642,
"percent_delta": -0.3964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3662,
"after": 0.4,
"delta": 0.0338,
"percent_delta": 0.0923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4142,
"after": 0.25,
"delta": -0.1642,
"percent_delta": -0.3964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"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": 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.2242,
"predicted_BB": 2.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3662,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4142,
"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.2242,
"delta": -0.0258,
"percent_delta": -0.1032,
"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.3662,
"delta": -0.0338,
"percent_delta": -0.0844,
"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.4142,
"delta": 0.1642,
"percent_delta": 0.6566,
"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.4142,
"delta": 0.1642,
"percent_delta": 0.6566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3662,
"delta": -0.0338,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.97,
"after": 3.0,
"delta": -0.97,
"percent_delta": -0.2443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2242,
"delta": -0.0048,
"percent_delta": -0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.915,
"after": 2.0,
"delta": 1.085,
"percent_delta": 1.1858,
"direction": "boost",
"projection_effect": "better",
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3662,
"delta": 0.0232,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.718,
"after": 0.0,
"delta": -0.718,
"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.423,
"after": 0.4142,
"delta": -0.0088,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.127,
"after": 0.0,
"delta": -1.127,
"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.915,
"after": 2.0,
"delta": 1.085,
"percent_delta": 1.1858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.127,
"after": 0.0,
"delta": -1.127,
"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.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.915 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.718 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 1.127 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.001 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.880 | -0.091 |
| predicted_AVG | 0.222 | -0.007 |
| predicted_BB | 0.870 | -0.045 |
| predicted_H | 0.864 | -0.046 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.193 | -0.007 |
| predicted_OBP | 0.348 | 0.005 |
| predicted_R | 0.701 | -0.017 |
| predicted_RBI | 0.386 | -0.024 |
| predicted_SLG | 0.414 | -0.009 |
| predicted_SO | 1.166 | 0.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.156 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.880 | 0.000 |
| predicted_AVG | 0.224 | 0.002 |
| predicted_BB | 0.870 | -0.001 |
| predicted_H | 0.870 | 0.006 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.193 | 0.000 |
| predicted_OBP | 0.366 | 0.018 |
| predicted_R | 0.709 | 0.008 |
| predicted_RBI | 0.390 | 0.004 |
| predicted_SLG | 0.414 | -0.000 |
| predicted_SO | 1.167 | 0.001 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.219 HR/AB=0.049
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.156 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.120 |
| predicted_AVG | 0.250 | 0.026 |
| predicted_BB | 1.000 | 0.130 |
| predicted_H | 1.000 | 0.130 |
| predicted_HR | 0.000 | -0.193 |
| predicted_OBP | 0.400 | 0.034 |
| predicted_R | 1.000 | 0.291 |
| predicted_RBI | 0.000 | -0.390 |
| predicted_SLG | 0.250 | -0.164 |
| predicted_SO | 1.000 | -0.167 |
Attached 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 | 2.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 1.000 | 0.000 | 1.000 | 1.000 | 4.000 | 4.000 | 7.000 | 0.2500 | 0.3750 | 0.4500 | 0.2500 | 0.0500 | 0.0500 | 0.2000 | 0.3500 |
| last_10 | 0.20 | 10 | - | 40.000 | 5.000 | 1.000 | 0.000 | 1.000 | 1.000 | 5.000 | 7.000 | 15.000 | 0.1250 | 0.2553 | 0.2250 | 0.1250 | 0.0250 | 0.0250 | 0.1750 | 0.3750 |
| season | 0.60 | 71 | - | 254.000 | 57.000 | 11.000 | 0.000 | 15.000 | 32.000 | 51.000 | 65.000 | 80.000 | 0.2244 | 0.3882 | 0.4449 | 0.2244 | 0.0591 | 0.1260 | 0.2559 | 0.3150 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7570 |
| predicted_AVG | 0.2131 |
| predicted_BB | 0.8100 |
| predicted_H | 0.8010 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.1840 |
| predicted_OBP | 0.3551 |
| predicted_R | 0.6790 |
| predicted_RBI | 0.3530 |
| predicted_SLG | 0.4026 |
| predicted_SO | 1.2180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.1570 | 0.1559 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9700 | 3.7570 | 3.8795 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2131 | 0.2222 | model_form_blend |
| predicted_BB | 0.9150 | 0.8100 | 0.8704 | model_form_blend |
| predicted_H | 0.9100 | 0.8010 | 0.8637 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.2000 | 0.1840 | 0.1932 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3551 | 0.3481 | model_form_blend |
| predicted_R | 0.7180 | 0.6790 | 0.7014 | model_form_blend |
| predicted_RBI | 0.4100 | 0.3530 | 0.3858 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4026 | 0.4143 | model_form_blend |
| predicted_SO | 1.1270 | 1.2180 | 1.1657 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 265 |
| Season rows before report date | 265 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 545361 |
| playerID | 545361 |
| playerName | Mike Trout |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 20.5 |
| sl_woba | 0.368 |
| sl_xwoba | 0.412 |
| sl_xba | 0.257 |
| sl_xslg | 0.556 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 20.6 |
| sl_hard_hit_percent | 51.5 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 19.7 |
| sl_whiff_percent | 23.0 |
| sl_swing_percent | 38.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.218 | 0.000 | 0.000 | Hitting_2B | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.840 | 4.000 | 4.000 | Hitting_AB | 3.953 | 1.000 | 0.047 | 3.000 |
| predicted_AVG | 0.249 | 0.500 | 0.250 | Hitting_AVG | 0.264 | 0.000 | 0.236 | 0.500 |
| predicted_BB | 0.291 | 0.000 | 0.000 | Hitting_BB | 0.280 | 1.000 | -0.280 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.960 | 2.000 | 1.000 | Hitting_H | 1.043 | 0.000 | 0.957 | 2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_OBP | 0.354 | 0.500 | 0.250 | Hitting_OBP | 0.319 | 0.750 | 0.181 | -0.250 |
| predicted_R | 0.382 | 1.000 | 0.000 | Hitting_R | 0.398 | 0.000 | 0.602 | 1.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.526 | 0.000 | -0.526 | 0.000 |
| predicted_SLG | 0.379 | 0.500 | 0.250 | Hitting_SLG | 0.382 | 0.000 | 0.118 | 0.500 |
| predicted_SO | 0.673 | 0.000 | 1.000 | Hitting_SO | 0.687 | 0.000 | -0.687 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.9600 -> 2.0000 (boost 1.0400, better) |
| Biggest Deboost | predicted_SO: 0.6730 -> 0.0000 (deboost -0.6730, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3540 -> 0.3622 (boost 0.0082, better) | predicted_AB: 3.8400 -> 3.6341 (deboost -0.2059, 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.3622 -> 0.3197 (deboost -0.0425, 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_AB: 3.6341 -> 4.0000 (boost 0.3659, better) | predicted_RBI: 0.4541 -> 0.0000 (deboost -0.4541, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.242 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4324 -> 0.0000 (deboost -0.4324, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3770 -> 0.2500 (deboost -0.1270, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3770 (boost 0.1270, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694384",
"player_name": "Nolan Schanuel",
"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.218,
"predicted_3B": 0.0,
"predicted_AB": 3.84,
"predicted_AVG": 0.249,
"predicted_BB": 0.291,
"predicted_H": 0.96,
"predicted_HR": 0.09,
"predicted_OBP": 0.354,
"predicted_R": 0.382,
"predicted_RBI": 0.47,
"predicted_SLG": 0.379,
"predicted_SO": 0.673
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1947,
"predicted_3B": 0.0008,
"predicted_AB": 3.6341,
"predicted_AVG": 0.2542,
"predicted_BB": 0.3397,
"predicted_H": 0.9246,
"predicted_HBP": 0.267,
"predicted_HR": 0.0808,
"predicted_OBP": 0.3622,
"predicted_R": 0.4278,
"predicted_RBI": 0.4492,
"predicted_SLG": 0.3759,
"predicted_SO": 0.6921
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.218,
"after": 0.1947,
"delta": -0.0233,
"percent_delta": -0.1069,
"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": 3.84,
"after": 3.6341,
"delta": -0.2059,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2542,
"delta": 0.0052,
"percent_delta": 0.0209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.291,
"after": 0.3397,
"delta": 0.0487,
"percent_delta": 0.1674,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9246,
"delta": -0.0354,
"percent_delta": -0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0808,
"delta": -0.0092,
"percent_delta": -0.1022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.3622,
"delta": 0.0082,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.4278,
"delta": 0.0458,
"percent_delta": 0.1199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4492,
"delta": -0.0208,
"percent_delta": -0.0443,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3759,
"delta": -0.0031,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 0.6921,
"delta": 0.0191,
"percent_delta": 0.0284,
"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.354,
"after": 0.3622,
"delta": 0.0082,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 3.6341,
"delta": -0.2059,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 55
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1947,
"predicted_3B": 0.0008,
"predicted_AB": 3.6341,
"predicted_AVG": 0.2562,
"predicted_BB": 0.3394,
"predicted_H": 0.9311,
"predicted_HBP": 0.267,
"predicted_HR": 0.0809,
"predicted_OBP": 0.3197,
"predicted_R": 0.4324,
"predicted_RBI": 0.4541,
"predicted_SLG": 0.377,
"predicted_SO": 0.6927
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1947,
"after": 0.1947,
"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.6341,
"after": 3.6341,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2542,
"after": 0.2562,
"delta": 0.002,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3397,
"after": 0.3394,
"delta": -0.0003,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9246,
"after": 0.9311,
"delta": 0.0065,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.267,
"after": 0.267,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0808,
"after": 0.0809,
"delta": 0.0001,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3622,
"after": 0.3197,
"delta": -0.0425,
"percent_delta": -0.1173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4278,
"after": 0.4324,
"delta": 0.0046,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4492,
"after": 0.4541,
"delta": 0.0049,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3759,
"after": 0.377,
"delta": 0.0011,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6921,
"after": 0.6927,
"delta": 0.0006,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3622,
"after": 0.3197,
"delta": -0.0425,
"percent_delta": -0.1173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.242 HR/AB=0.021",
"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.1947,
"after": 0.0,
"delta": -0.1947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6341,
"after": 4.0,
"delta": 0.3659,
"percent_delta": 0.1007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3394,
"after": 0.0,
"delta": -0.3394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9311,
"after": 1.0,
"delta": 0.0689,
"percent_delta": 0.074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0809,
"after": 0.0,
"delta": -0.0809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4541,
"after": 0.0,
"delta": -0.4541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6927,
"after": 1.0,
"delta": 0.3073,
"percent_delta": 0.4436,
"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": 3.6341,
"after": 4.0,
"delta": 0.3659,
"percent_delta": 0.1007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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": "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.4324,
"after": 0.0,
"delta": -0.4324,
"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.4324,
"after": 0.0,
"delta": -0.4324,
"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.2562,
"after": 0.25,
"delta": -0.0062,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3197,
"after": 0.25,
"delta": -0.0697,
"percent_delta": -0.218,
"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.377,
"after": 0.25,
"delta": -0.127,
"percent_delta": -0.3369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.25,
"delta": -0.127,
"percent_delta": -0.3369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 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.2562,
"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.3197,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.377,
"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.2562,
"delta": 0.0062,
"percent_delta": 0.0248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3197,
"delta": 0.0697,
"percent_delta": 0.2789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.377,
"delta": 0.127,
"percent_delta": 0.508,
"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.377,
"delta": 0.127,
"percent_delta": 0.508,
"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.218,
"after": 0.0,
"delta": -0.218,
"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": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2562,
"delta": 0.0072,
"percent_delta": 0.0289,
"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.96,
"after": 2.0,
"delta": 1.04,
"percent_delta": 1.0833,
"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.354,
"after": 0.3197,
"delta": -0.0343,
"percent_delta": -0.0969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 1.0,
"delta": 0.618,
"percent_delta": 1.6178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.377,
"delta": -0.002,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.673,
"after": 0.0,
"delta": -0.673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"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.673,
"after": 0.0,
"delta": -0.673,
"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.218 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.291 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.382 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.673 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | -0.023 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.634 | -0.206 |
| predicted_AVG | 0.254 | 0.005 |
| predicted_BB | 0.340 | 0.049 |
| predicted_H | 0.925 | -0.035 |
| predicted_HBP | 0.267 | - |
| predicted_HR | 0.081 | -0.009 |
| predicted_OBP | 0.362 | 0.008 |
| predicted_R | 0.428 | 0.046 |
| predicted_RBI | 0.449 | -0.021 |
| predicted_SLG | 0.376 | -0.003 |
| predicted_SO | 0.692 | 0.019 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.634 | 0.000 |
| predicted_AVG | 0.256 | 0.002 |
| predicted_BB | 0.339 | -0.000 |
| predicted_H | 0.931 | 0.007 |
| predicted_HBP | 0.267 | 0.000 |
| predicted_HR | 0.081 | 0.000 |
| predicted_OBP | 0.320 | -0.043 |
| predicted_R | 0.432 | 0.005 |
| predicted_RBI | 0.454 | 0.005 |
| predicted_SLG | 0.377 | 0.001 |
| predicted_SO | 0.693 | 0.001 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.242 HR/AB=0.021
| 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.195 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.366 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 0.000 | -0.339 |
| predicted_H | 1.000 | 0.069 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.250 | -0.070 |
| predicted_R | 0.000 | -0.432 |
| predicted_RBI | 0.000 | -0.454 |
| predicted_SLG | 0.250 | -0.127 |
| predicted_SO | 1.000 | 0.307 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 4.000 | 0.2727 | 0.5294 | 0.2727 | 0.2727 | 0.0000 | 0.0909 | 0.2727 | 0.3636 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 4.000 | 5.000 | 0.2667 | 0.4054 | 0.4333 | 0.2667 | 0.0333 | 0.1667 | 0.1333 | 0.1667 |
| season | 0.60 | 55 | - | 205.000 | 53.000 | 12.000 | 0.000 | 4.000 | 25.000 | 21.000 | 16.000 | 37.000 | 0.2585 | 0.3246 | 0.3756 | 0.2585 | 0.0195 | 0.1220 | 0.0780 | 0.1805 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3450 |
| predicted_AVG | 0.2615 |
| predicted_BB | 0.4080 |
| predicted_H | 0.8750 |
| predicted_HBP | 0.2670 |
| predicted_HR | 0.0680 |
| predicted_OBP | 0.3738 |
| predicted_R | 0.4920 |
| predicted_RBI | 0.4200 |
| predicted_SLG | 0.3716 |
| predicted_SO | 0.7190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2180 | 0.1620 | 0.1947 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8400 | 3.3450 | 3.6341 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2615 | 0.2542 | model_form_blend |
| predicted_BB | 0.2910 | 0.4080 | 0.3397 | model_form_blend |
| predicted_H | 0.9600 | 0.8750 | 0.9246 | model_form_blend |
| predicted_HBP | - | 0.2670 | 0.2670 | form_only |
| predicted_HR | 0.0900 | 0.0680 | 0.0808 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3738 | 0.3622 | model_form_blend |
| predicted_R | 0.3820 | 0.4920 | 0.4278 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4200 | 0.4492 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3716 | 0.3759 | model_form_blend |
| predicted_SO | 0.6730 | 0.7190 | 0.6921 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 211 |
| Season rows before report date | 211 |
| Report year | 2026 |
| Profile rows used | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 2 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 694384 |
| playerID | 694384 |
| playerName | Nolan Schanuel |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.5 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.309 |
| sl_xwoba | 0.316 |
| sl_xba | 0.275 |
| sl_xslg | 0.381 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 32.0 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 19.0 |
| 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.200 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.480 | 4.000 | 4.000 | Hitting_AB | 4.400 | 4.000 | -0.400 | 0.000 |
| predicted_AVG | 0.231 | 0.500 | 0.250 | Hitting_AVG | 0.227 | 0.250 | 0.273 | 0.250 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 2.000 | 1.000 | Hitting_H | 1.000 | 1.000 | 1.000 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.286 | 0.500 | 0.250 | Hitting_OBP | 0.227 | 0.250 | 0.273 | 0.250 |
| predicted_R | 0.200 | 1.000 | 0.000 | Hitting_R | 0.200 | 0.000 | 0.800 | 1.000 |
| predicted_RBI | 0.660 | 0.000 | 1.000 | Hitting_RBI | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_SLG | 0.364 | 0.500 | 0.250 | Hitting_SLG | 0.273 | 0.250 | 0.227 | 0.250 |
| predicted_SO | 0.600 | 0.000 | 1.000 | Hitting_SO | 0.600 | 1.000 | -0.600 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 1.0300 -> 2.0000 (boost 0.9700, 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 | 3 | 2 | 1 | 2 | 1 | predicted_R: 0.2000 -> 0.2515 (boost 0.0515, better) | predicted_AB: 4.4800 -> 4.3709 (deboost -0.1091, 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.2835 -> 0.2432 (deboost -0.0403, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6448 -> 1.0000 (boost 0.3552, worse) | predicted_AB: 4.3709 -> 4.0000 (deboost -0.3709, worse) | AB rounded to 4 (raw=4.48), rates preserved: AVG=0.229 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2542 -> 0.0000 (deboost -0.2542, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2344 -> 0.2500 (boost 0.0156, better) | predicted_SLG: 0.3460 -> 0.2500 (deboost -0.0960, 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_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3460 (boost 0.0960, better) | predicted_AVG: 0.2500 -> 0.2344 (deboost -0.0156, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694203",
"player_name": "Denzer Guzman",
"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.2,
"predicted_3B": 0.0,
"predicted_AB": 4.48,
"predicted_AVG": 0.231,
"predicted_BB": 0.0,
"predicted_H": 1.03,
"predicted_HR": 0.1,
"predicted_OBP": 0.286,
"predicted_R": 0.2,
"predicted_RBI": 0.66,
"predicted_SLG": 0.364,
"predicted_SO": 0.6
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1983,
"predicted_3B": 0.0025,
"predicted_AB": 4.3709,
"predicted_AVG": 0.2337,
"predicted_BB": 0.0512,
"predicted_H": 1.0173,
"predicted_HBP": 0.022,
"predicted_HR": 0.0947,
"predicted_OBP": 0.2835,
"predicted_R": 0.2515,
"predicted_RBI": 0.6724,
"predicted_SLG": 0.3605,
"predicted_SO": 0.6442
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1983,
"delta": -0.0017,
"percent_delta": -0.0085,
"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": 4.48,
"after": 4.3709,
"delta": -0.1091,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2337,
"delta": 0.0027,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0512,
"delta": 0.0512,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0173,
"delta": -0.0127,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0947,
"delta": -0.0053,
"percent_delta": -0.053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2835,
"delta": -0.0025,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2,
"after": 0.2515,
"delta": 0.0515,
"percent_delta": 0.2575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 0.6724,
"delta": 0.0124,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3605,
"delta": -0.0035,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 0.6442,
"delta": 0.0442,
"percent_delta": 0.0737,
"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": 0.2,
"after": 0.2515,
"delta": 0.0515,
"percent_delta": 0.2575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.48,
"after": 4.3709,
"delta": -0.1091,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 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.1983,
"predicted_3B": 0.0025,
"predicted_AB": 4.3709,
"predicted_AVG": 0.2344,
"predicted_BB": 0.0512,
"predicted_H": 1.0244,
"predicted_HBP": 0.022,
"predicted_HR": 0.0948,
"predicted_OBP": 0.2432,
"predicted_R": 0.2542,
"predicted_RBI": 0.6797,
"predicted_SLG": 0.346,
"predicted_SO": 0.6448
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1983,
"after": 0.1983,
"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": 4.3709,
"after": 4.3709,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2337,
"after": 0.2344,
"delta": 0.0007,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0512,
"after": 0.0512,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0173,
"after": 1.0244,
"delta": 0.0071,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0947,
"after": 0.0948,
"delta": 0.0001,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2835,
"after": 0.2432,
"delta": -0.0403,
"percent_delta": -0.1422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2515,
"after": 0.2542,
"delta": 0.0027,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6724,
"after": 0.6797,
"delta": 0.0073,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3605,
"after": 0.346,
"delta": -0.0145,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6442,
"after": 0.6448,
"delta": 0.0006,
"percent_delta": 0.0009,
"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.2835,
"after": 0.2432,
"delta": -0.0403,
"percent_delta": -0.1422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.48), rates preserved: AVG=0.229 HR/AB=0.021",
"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.1983,
"after": 0.0,
"delta": -0.1983,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0,
"delta": -0.0025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3709,
"after": 4.0,
"delta": -0.3709,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0512,
"after": 0.0,
"delta": -0.0512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0244,
"after": 1.0,
"delta": -0.0244,
"percent_delta": -0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0948,
"after": 0.0,
"delta": -0.0948,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6797,
"after": 1.0,
"delta": 0.3203,
"percent_delta": 0.4712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6448,
"after": 1.0,
"delta": 0.3552,
"percent_delta": 0.5509,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6448,
"after": 1.0,
"delta": 0.3552,
"percent_delta": 0.5509,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.3709,
"after": 4.0,
"delta": -0.3709,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2542,
"after": 0.0,
"delta": -0.2542,
"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.2542,
"after": 0.0,
"delta": -0.2542,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2344,
"after": 0.25,
"delta": 0.0156,
"percent_delta": 0.0666,
"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.2432,
"after": 0.25,
"delta": 0.0068,
"percent_delta": 0.028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.25,
"delta": -0.096,
"percent_delta": -0.2775,
"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.2344,
"after": 0.25,
"delta": 0.0156,
"percent_delta": 0.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.25,
"delta": -0.096,
"percent_delta": -0.2775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 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_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.2344,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2432,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.346,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2344,
"delta": -0.0156,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2432,
"delta": -0.0068,
"percent_delta": -0.0271,
"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.346,
"delta": 0.096,
"percent_delta": 0.3838,
"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.346,
"delta": 0.096,
"percent_delta": 0.3838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2344,
"delta": -0.0156,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.48,
"after": 4.0,
"delta": -0.48,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2344,
"delta": 0.0034,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.2432,
"delta": -0.0428,
"percent_delta": -0.1497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2,
"after": 1.0,
"delta": 0.8,
"percent_delta": 4.0,
"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.364,
"after": 0.346,
"delta": -0.018,
"percent_delta": -0.0495,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"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_H",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.200 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.480 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.200 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.364 | - |
| predicted_SO | 0.600 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.198 | -0.002 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 4.371 | -0.109 |
| predicted_AVG | 0.234 | 0.003 |
| predicted_BB | 0.051 | 0.051 |
| predicted_H | 1.017 | -0.013 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.095 | -0.005 |
| predicted_OBP | 0.283 | -0.003 |
| predicted_R | 0.252 | 0.051 |
| predicted_RBI | 0.672 | 0.012 |
| predicted_SLG | 0.360 | -0.004 |
| predicted_SO | 0.644 | 0.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.198 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 4.371 | 0.000 |
| predicted_AVG | 0.234 | 0.001 |
| predicted_BB | 0.051 | 0.000 |
| predicted_H | 1.024 | 0.007 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.095 | 0.000 |
| predicted_OBP | 0.243 | -0.040 |
| predicted_R | 0.254 | 0.003 |
| predicted_RBI | 0.680 | 0.007 |
| predicted_SLG | 0.346 | -0.015 |
| predicted_SO | 0.645 | 0.001 |
AB rounded to 4 (raw=4.48), rates preserved: AVG=0.229 HR/AB=0.021
| 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 | 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.198 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 4.000 | -0.371 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 0.000 | -0.051 |
| predicted_H | 1.000 | -0.024 |
| predicted_HR | 0.000 | -0.095 |
| predicted_OBP | 0.250 | 0.007 |
| predicted_R | 0.000 | -0.254 |
| predicted_RBI | 1.000 | 0.320 |
| predicted_SLG | 0.250 | -0.096 |
| predicted_SO | 1.000 | 0.355 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | - | 22.000 | 5.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 0.000 | 3.000 | 0.2273 | 0.2273 | 0.2727 | 0.2273 | 0.0000 | 0.2273 | 0.0000 | 0.1364 |
| last_10 | 0.20 | 5 | - | 22.000 | 5.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 0.000 | 3.000 | 0.2273 | 0.2273 | 0.2727 | 0.2273 | 0.0000 | 0.2273 | 0.0000 | 0.1364 |
| season | 0.60 | 5 | - | 22.000 | 5.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 0.000 | 3.000 | 0.2273 | 0.2273 | 0.2727 | 0.2273 | 0.0000 | 0.2273 | 0.0000 | 0.1364 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.0090 |
| predicted_AB | 4.0920 |
| predicted_AVG | 0.2407 |
| predicted_BB | 0.1820 |
| predicted_H | 0.9850 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.2770 |
| predicted_R | 0.3830 |
| predicted_RBI | 0.7040 |
| predicted_SLG | 0.3516 |
| predicted_SO | 0.7570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1940 | 0.1983 | model_form_blend |
| predicted_3B | 0.0000 | 0.0090 | 0.0025 | model_form_blend |
| predicted_AB | 4.4800 | 4.0920 | 4.3709 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2407 | 0.2337 | model_form_blend |
| predicted_BB | 0.0000 | 0.1820 | 0.0512 | model_form_blend |
| predicted_H | 1.0300 | 0.9850 | 1.0173 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1000 | 0.0810 | 0.0947 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2770 | 0.2835 | model_form_blend |
| predicted_R | 0.2000 | 0.3830 | 0.2515 | model_form_blend |
| predicted_RBI | 0.6600 | 0.7040 | 0.6724 | model_form_blend |
| predicted_SLG | 0.3640 | 0.3516 | 0.3605 | model_form_blend |
| predicted_SO | 0.6000 | 0.7570 | 0.6442 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 5 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 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 | 3B |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 694203 |
| playerID | 694203 |
| playerName | Denzer Guzman |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 11.1 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.22 |
| sl_xwoba | 0.271 |
| sl_xba | 0.267 |
| sl_xslg | 0.36 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 9.8 |
| sl_whiff_percent | 20.0 |
| sl_swing_percent | 55.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.250 | 0.000 | 0.000 | Hitting_2B | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.375 | 4.000 | 3.000 | Hitting_AB | 3.424 | 3.000 | 0.576 | 1.000 |
| predicted_AVG | 0.275 | 0.500 | 0.333 | Hitting_AVG | 0.274 | 0.333 | 0.226 | 0.167 |
| predicted_BB | 0.188 | 0.000 | 0.000 | Hitting_BB | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.770 | 2.000 | 1.000 | Hitting_H | 0.939 | 1.000 | 1.061 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.030 | 1.000 | -0.030 | -1.000 |
| predicted_OBP | 0.330 | 0.500 | 0.333 | Hitting_OBP | 0.311 | 0.333 | 0.189 | 0.167 |
| predicted_R | 0.500 | 1.000 | 0.000 | Hitting_R | 0.576 | 1.000 | 0.424 | 0.000 |
| predicted_RBI | 0.370 | 1.000 | 0.000 | Hitting_RBI | 0.121 | 1.000 | 0.879 | 0.000 |
| predicted_SLG | 0.435 | 0.500 | 0.333 | Hitting_SLG | 0.372 | 1.333 | 0.128 | -0.833 |
| predicted_SO | 0.625 | 1.000 | 1.000 | Hitting_SO | 0.788 | 0.000 | 0.212 | 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_H: 0.7700 -> 2.0000 (boost 1.2300, better) |
| Biggest Deboost | predicted_2B: 0.2500 -> 0.0000 (deboost -0.2500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 3 | 0 | predicted_H: 0.7700 -> 0.8479 (boost 0.0779, better) | - | Final model input calibrated with local 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.3336 -> 0.2946 (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 | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.6165 -> 1.0000 (boost 0.3835, worse) | predicted_RBI: 0.3846 -> 0.0000 (deboost -0.3846, worse) | AB rounded to 3 (raw=3.38), rates preserved: AVG=0.252 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4849 -> 0.0000 (deboost -0.4849, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2525 -> 0.3330 (boost 0.0805, better) | predicted_SLG: 0.4175 -> 0.3330 (deboost -0.0845, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4175 (boost 0.0845, better) | predicted_AVG: 0.3330 -> 0.2525 (deboost -0.0805, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "622268",
"player_name": "Donovan Walton",
"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.25,
"predicted_3B": 0.0,
"predicted_AB": 3.375,
"predicted_AVG": 0.275,
"predicted_BB": 0.188,
"predicted_H": 0.77,
"predicted_HR": 0.1,
"predicted_OBP": 0.33,
"predicted_R": 0.5,
"predicted_RBI": 0.37,
"predicted_SLG": 0.435,
"predicted_SO": 0.625
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2395,
"predicted_3B": 0.0017,
"predicted_AB": 3.3816,
"predicted_AVG": 0.2811,
"predicted_BB": 0.202,
"predicted_H": 0.8479,
"predicted_HBP": 0.011,
"predicted_HR": 0.1049,
"predicted_OBP": 0.3336,
"predicted_R": 0.4797,
"predicted_RBI": 0.3805,
"predicted_SLG": 0.4439,
"predicted_SO": 0.6159
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.2395,
"delta": -0.0105,
"percent_delta": -0.042,
"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.375,
"after": 3.3816,
"delta": 0.0066,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2811,
"delta": 0.0061,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 0.202,
"delta": 0.014,
"percent_delta": 0.0745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.8479,
"delta": 0.0779,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1049,
"delta": 0.0049,
"percent_delta": 0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3336,
"delta": 0.0036,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.4797,
"delta": -0.0203,
"percent_delta": -0.0406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3805,
"delta": 0.0105,
"percent_delta": 0.0284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4439,
"delta": 0.0089,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.625,
"after": 0.6159,
"delta": -0.0091,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.77,
"after": 0.8479,
"delta": 0.0779,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 16
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2395,
"predicted_3B": 0.0017,
"predicted_AB": 3.3816,
"predicted_AVG": 0.2525,
"predicted_BB": 0.2018,
"predicted_H": 0.8538,
"predicted_HBP": 0.011,
"predicted_HR": 0.105,
"predicted_OBP": 0.2946,
"predicted_R": 0.4849,
"predicted_RBI": 0.3846,
"predicted_SLG": 0.4175,
"predicted_SO": 0.6165
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2395,
"after": 0.2395,
"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.3816,
"after": 3.3816,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2811,
"after": 0.2525,
"delta": -0.0286,
"percent_delta": -0.1017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.202,
"after": 0.2018,
"delta": -0.0002,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8479,
"after": 0.8538,
"delta": 0.0059,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1049,
"after": 0.105,
"delta": 0.0001,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3336,
"after": 0.2946,
"delta": -0.039,
"percent_delta": -0.1169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4797,
"after": 0.4849,
"delta": 0.0052,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3805,
"after": 0.3846,
"delta": 0.0041,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4439,
"after": 0.4175,
"delta": -0.0264,
"percent_delta": -0.0595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6159,
"after": 0.6165,
"delta": 0.0006,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3336,
"after": 0.2946,
"delta": -0.039,
"percent_delta": -0.1169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.38), rates preserved: AVG=0.252 HR/AB=0.031",
"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.2395,
"after": 0.0,
"delta": -0.2395,
"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": 3.3816,
"after": 3.0,
"delta": -0.3816,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2018,
"after": 0.0,
"delta": -0.2018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8538,
"after": 1.0,
"delta": 0.1462,
"percent_delta": 0.1712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3846,
"after": 0.0,
"delta": -0.3846,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6165,
"after": 1.0,
"delta": 0.3835,
"percent_delta": 0.6221,
"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.6165,
"after": 1.0,
"delta": 0.3835,
"percent_delta": 0.6221,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3846,
"after": 0.0,
"delta": -0.3846,
"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.4849,
"after": 0.0,
"delta": -0.4849,
"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.4849,
"after": 0.0,
"delta": -0.4849,
"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.2525,
"after": 0.333,
"delta": 0.0805,
"percent_delta": 0.3188,
"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.2946,
"after": 0.333,
"delta": 0.0384,
"percent_delta": 0.1303,
"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.4175,
"after": 0.333,
"delta": -0.0845,
"percent_delta": -0.2024,
"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.2525,
"after": 0.333,
"delta": 0.0805,
"percent_delta": 0.3188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4175,
"after": 0.333,
"delta": -0.0845,
"percent_delta": -0.2024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2525,
"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.2946,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4175,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2525,
"delta": -0.0805,
"percent_delta": -0.2418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2946,
"delta": -0.0384,
"percent_delta": -0.1153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4175,
"delta": 0.0845,
"percent_delta": 0.2537,
"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.4175,
"delta": 0.0845,
"percent_delta": 0.2537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2525,
"delta": -0.0805,
"percent_delta": -0.2418,
"direction": "deboost",
"projection_effect": "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": 3.375,
"after": 4.0,
"delta": 0.625,
"percent_delta": 0.1852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.275,
"after": 0.2525,
"delta": -0.0225,
"percent_delta": -0.0818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 2.0,
"delta": 1.23,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.2946,
"delta": -0.0354,
"percent_delta": -0.1073,
"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.37,
"after": 1.0,
"delta": 0.63,
"percent_delta": 1.7027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4175,
"delta": -0.0175,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.625,
"after": 1.0,
"delta": 0.375,
"percent_delta": 0.6,
"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_H",
"before": 0.77,
"after": 2.0,
"delta": 1.23,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.375 | - |
| predicted_AVG | 0.275 | - |
| predicted_BB | 0.188 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 0.625 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.239 | -0.011 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.382 | 0.007 |
| predicted_AVG | 0.281 | 0.006 |
| predicted_BB | 0.202 | 0.014 |
| predicted_H | 0.848 | 0.078 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.105 | 0.005 |
| predicted_OBP | 0.334 | 0.004 |
| predicted_R | 0.480 | -0.020 |
| predicted_RBI | 0.381 | 0.011 |
| predicted_SLG | 0.444 | 0.009 |
| predicted_SO | 0.616 | -0.009 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.239 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.382 | 0.000 |
| predicted_AVG | 0.253 | -0.029 |
| predicted_BB | 0.202 | -0.000 |
| predicted_H | 0.854 | 0.006 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.105 | 0.000 |
| predicted_OBP | 0.295 | -0.039 |
| predicted_R | 0.485 | 0.005 |
| predicted_RBI | 0.385 | 0.004 |
| predicted_SLG | 0.417 | -0.026 |
| predicted_SO | 0.617 | 0.001 |
AB rounded to 3 (raw=3.38), rates preserved: AVG=0.252 HR/AB=0.031
| 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.239 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.382 |
| predicted_AVG | 0.333 | 0.081 |
| predicted_BB | 0.000 | -0.202 |
| predicted_H | 1.000 | 0.146 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.333 | 0.038 |
| predicted_R | 0.000 | -0.485 |
| predicted_RBI | 0.000 | -0.385 |
| predicted_SLG | 0.333 | -0.084 |
| predicted_SO | 1.000 | 0.383 |
Attached 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 | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 5.000 | 1.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 1.000 | 0.3846 | 0.4286 | 0.6923 | 0.3846 | 0.0769 | 0.2308 | 0.0769 | 0.0769 |
| last_10 | 0.20 | 10 | - | 30.000 | 9.000 | 2.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 4.000 | 0.3000 | 0.3438 | 0.4667 | 0.3000 | 0.0333 | 0.1000 | 0.0667 | 0.1333 |
| season | 0.60 | 16 | - | 54.000 | 16.000 | 4.000 | 0.000 | 1.000 | 4.000 | 8.000 | 3.000 | 10.000 | 0.2963 | 0.3333 | 0.4259 | 0.2963 | 0.0185 | 0.0741 | 0.0556 | 0.1852 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.3940 |
| predicted_AVG | 0.2926 |
| predicted_BB | 0.2280 |
| predicted_H | 0.9930 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1140 |
| predicted_OBP | 0.3403 |
| predicted_R | 0.4420 |
| predicted_RBI | 0.4000 |
| predicted_SLG | 0.4605 |
| predicted_SO | 0.5990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2500 | 0.2200 | 0.2395 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 3.3750 | 3.3940 | 3.3816 | model_form_blend |
| predicted_AVG | 0.2750 | 0.2926 | 0.2811 | model_form_blend |
| predicted_BB | 0.1880 | 0.2280 | 0.2020 | model_form_blend |
| predicted_H | 0.7700 | 0.9930 | 0.8479 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1000 | 0.1140 | 0.1049 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3403 | 0.3336 | model_form_blend |
| predicted_R | 0.5000 | 0.4420 | 0.4797 | model_form_blend |
| predicted_RBI | 0.3700 | 0.4000 | 0.3805 | model_form_blend |
| predicted_SLG | 0.4350 | 0.4605 | 0.4439 | model_form_blend |
| predicted_SO | 0.6250 | 0.5990 | 0.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 | 33 |
| Season rows before report date | 33 |
| 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.296 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 622268 |
| playerID | 622268 |
| playerName | Donovan Walton |
| pos | 3B |
| started | True |
| startingPosition | DH |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.315 |
| sl_xwoba | 0.317 |
| sl_xba | 0.275 |
| sl_xslg | 0.411 |
| sl_sweet_spot_percent | 40.5 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 52.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.133 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.222 | 4.000 | 3.000 | Hitting_AB | 3.309 | 0.000 | 0.691 | 4.000 |
| predicted_AVG | 0.267 | 0.250 | 0.333 | Hitting_AVG | 0.229 | - | 0.021 | - |
| predicted_BB | 0.289 | 0.000 | 0.000 | Hitting_BB | 0.360 | 0.000 | -0.360 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.790 | 1.000 | 1.000 | Hitting_H | 0.757 | 0.000 | 0.243 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_OBP | 0.323 | 0.250 | 0.333 | Hitting_OBP | 0.318 | - | -0.068 | - |
| predicted_R | 0.356 | 0.000 | 0.000 | Hitting_R | 0.404 | 0.000 | -0.404 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_SLG | 0.430 | 0.250 | 0.333 | Hitting_SLG | 0.307 | - | -0.057 | - |
| predicted_SO | 0.867 | 3.000 | 1.000 | Hitting_SO | 0.824 | 0.000 | 2.176 | 3.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.8670 -> 3.0000 (boost 2.1330, 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 | 3 | 3 | 0 | 3 | 0 | predicted_H: 0.7900 -> 0.8450 (boost 0.0550, better) | - | Final model input calibrated with local 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.4422 -> 0.4256 (deboost -0.0166, 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_H: 0.8509 -> 1.0000 (boost 0.1491, better) | predicted_RBI: 0.4866 -> 0.0000 (deboost -0.4866, worse) | AB rounded to 3 (raw=3.25), rates preserved: AVG=0.262 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3525 -> 0.0000 (deboost -0.3525, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2616 -> 0.3330 (boost 0.0714, better) | predicted_SLG: 0.4256 -> 0.3330 (deboost -0.0926, 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_SO: 1.0000 -> 3.0000 (boost 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.4256 (boost 0.0926, better) | predicted_AVG: 0.3330 -> 0.2616 (deboost -0.0714, worse) | 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.133,
"predicted_3B": 0.0,
"predicted_AB": 3.222,
"predicted_AVG": 0.267,
"predicted_BB": 0.289,
"predicted_H": 0.79,
"predicted_HR": 0.12,
"predicted_OBP": 0.323,
"predicted_R": 0.356,
"predicted_RBI": 0.46,
"predicted_SLG": 0.43,
"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.1678,
"predicted_3B": 0.0008,
"predicted_AB": 3.2527,
"predicted_AVG": 0.2726,
"predicted_BB": 0.2486,
"predicted_H": 0.845,
"predicted_HBP": 0.039,
"predicted_HR": 0.1212,
"predicted_OBP": 0.3254,
"predicted_R": 0.3487,
"predicted_RBI": 0.4814,
"predicted_SLG": 0.4422,
"predicted_SO": 0.8723
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.1678,
"delta": 0.0348,
"percent_delta": 0.2617,
"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": 3.222,
"after": 3.2527,
"delta": 0.0307,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2726,
"delta": 0.0056,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.2486,
"delta": -0.0404,
"percent_delta": -0.1398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.845,
"delta": 0.055,
"percent_delta": 0.0696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1212,
"delta": 0.0012,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3254,
"delta": 0.0024,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.356,
"after": 0.3487,
"delta": -0.0073,
"percent_delta": -0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4814,
"delta": 0.0214,
"percent_delta": 0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4422,
"delta": 0.0122,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.867,
"after": 0.8723,
"delta": 0.0053,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.845,
"delta": 0.055,
"percent_delta": 0.0696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1678,
"predicted_3B": 0.0008,
"predicted_AB": 3.2527,
"predicted_AVG": 0.2616,
"predicted_BB": 0.2484,
"predicted_H": 0.8509,
"predicted_HBP": 0.039,
"predicted_HR": 0.1213,
"predicted_OBP": 0.314,
"predicted_R": 0.3525,
"predicted_RBI": 0.4866,
"predicted_SLG": 0.4256,
"predicted_SO": 0.8731
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2527,
"after": 3.2527,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2726,
"after": 0.2616,
"delta": -0.011,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2486,
"after": 0.2484,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.845,
"after": 0.8509,
"delta": 0.0059,
"percent_delta": 0.007,
"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.1212,
"after": 0.1213,
"delta": 0.0001,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3254,
"after": 0.314,
"delta": -0.0114,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3487,
"after": 0.3525,
"delta": 0.0038,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4814,
"after": 0.4866,
"delta": 0.0052,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4422,
"after": 0.4256,
"delta": -0.0166,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8723,
"after": 0.8731,
"delta": 0.0008,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4422,
"after": 0.4256,
"delta": -0.0166,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.25), rates preserved: AVG=0.262 HR/AB=0.037",
"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.1678,
"after": 0.0,
"delta": -0.1678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2527,
"after": 3.0,
"delta": -0.2527,
"percent_delta": -0.0777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2484,
"after": 0.0,
"delta": -0.2484,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8509,
"after": 1.0,
"delta": 0.1491,
"percent_delta": 0.1752,
"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.1213,
"after": 0.0,
"delta": -0.1213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4866,
"after": 0.0,
"delta": -0.4866,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8731,
"after": 1.0,
"delta": 0.1269,
"percent_delta": 0.1453,
"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_H",
"before": 0.8509,
"after": 1.0,
"delta": 0.1491,
"percent_delta": 0.1752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4866,
"after": 0.0,
"delta": -0.4866,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3525,
"after": 0.0,
"delta": -0.3525,
"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.3525,
"after": 0.0,
"delta": -0.3525,
"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.2616,
"after": 0.333,
"delta": 0.0714,
"percent_delta": 0.2729,
"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.314,
"after": 0.333,
"delta": 0.019,
"percent_delta": 0.0605,
"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.4256,
"after": 0.333,
"delta": -0.0926,
"percent_delta": -0.2176,
"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.2616,
"after": 0.333,
"delta": 0.0714,
"percent_delta": 0.2729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4256,
"after": 0.333,
"delta": -0.0926,
"percent_delta": -0.2176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.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_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2616,
"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.314,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4256,
"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.333,
"after": 0.2616,
"delta": -0.0714,
"percent_delta": -0.2144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.314,
"delta": -0.019,
"percent_delta": -0.0571,
"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.4256,
"delta": 0.0926,
"percent_delta": 0.2781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4256,
"delta": 0.0926,
"percent_delta": 0.2781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2616,
"delta": -0.0714,
"percent_delta": -0.2144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.133,
"after": 0.0,
"delta": -0.133,
"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.222,
"after": 4.0,
"delta": 0.778,
"percent_delta": 0.2415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2616,
"delta": -0.0054,
"percent_delta": -0.0202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"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.323,
"after": 0.314,
"delta": -0.009,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.356,
"after": 0.0,
"delta": -0.356,
"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.43,
"after": 0.4256,
"delta": -0.0044,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.867,
"after": 3.0,
"delta": 2.133,
"percent_delta": 2.4602,
"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.867,
"after": 3.0,
"delta": 2.133,
"percent_delta": 2.4602,
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.222 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.289 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.356 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.430 | - |
| 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.168 | 0.035 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.253 | 0.031 |
| predicted_AVG | 0.273 | 0.006 |
| predicted_BB | 0.249 | -0.040 |
| predicted_H | 0.845 | 0.055 |
| predicted_HBP | 0.039 | - |
| predicted_HR | 0.121 | 0.001 |
| predicted_OBP | 0.325 | 0.002 |
| predicted_R | 0.349 | -0.007 |
| predicted_RBI | 0.481 | 0.021 |
| predicted_SLG | 0.442 | 0.012 |
| predicted_SO | 0.872 | 0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.168 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.253 | 0.000 |
| predicted_AVG | 0.262 | -0.011 |
| predicted_BB | 0.248 | -0.000 |
| predicted_H | 0.851 | 0.006 |
| predicted_HBP | 0.039 | 0.000 |
| predicted_HR | 0.121 | 0.000 |
| predicted_OBP | 0.314 | -0.011 |
| predicted_R | 0.352 | 0.004 |
| predicted_RBI | 0.487 | 0.005 |
| predicted_SLG | 0.426 | -0.017 |
| predicted_SO | 0.873 | 0.001 |
AB rounded to 3 (raw=3.25), rates preserved: AVG=0.262 HR/AB=0.037
| 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.168 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.253 |
| predicted_AVG | 0.333 | 0.071 |
| predicted_BB | 0.000 | -0.248 |
| predicted_H | 1.000 | 0.149 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.333 | 0.019 |
| predicted_R | 0.000 | -0.352 |
| predicted_RBI | 0.000 | -0.487 |
| predicted_SLG | 0.333 | -0.093 |
| predicted_SO | 1.000 | 0.127 |
Attached 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 | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 1.000 | 0.000 | 4.000 | 0.4667 | 0.4667 | 0.8000 | 0.4667 | 0.0667 | 0.2667 | 0.0000 | 0.2667 |
| last_10 | 0.20 | 10 | - | 33.000 | 10.000 | 3.000 | 0.000 | 2.000 | 6.000 | 3.000 | 0.000 | 10.000 | 0.3030 | 0.3030 | 0.5758 | 0.3030 | 0.0606 | 0.1818 | 0.0000 | 0.3030 |
| season | 0.60 | 45 | - | 145.000 | 32.000 | 6.000 | 0.000 | 3.000 | 17.000 | 16.000 | 13.000 | 39.000 | 0.2207 | 0.2963 | 0.3241 | 0.2207 | 0.0207 | 0.1172 | 0.0897 | 0.2690 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2190 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2980 |
| predicted_AVG | 0.2808 |
| predicted_BB | 0.1890 |
| predicted_H | 0.9260 |
| predicted_HBP | 0.0390 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3289 |
| predicted_R | 0.3380 |
| predicted_RBI | 0.5130 |
| predicted_SLG | 0.4602 |
| predicted_SO | 0.8800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1330 | 0.2190 | 0.1678 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2220 | 3.2980 | 3.2527 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2808 | 0.2726 | model_form_blend |
| predicted_BB | 0.2890 | 0.1890 | 0.2486 | model_form_blend |
| predicted_H | 0.7900 | 0.9260 | 0.8450 | model_form_blend |
| predicted_HBP | - | 0.0390 | 0.0390 | form_only |
| predicted_HR | 0.1200 | 0.1230 | 0.1212 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3289 | 0.3254 | model_form_blend |
| predicted_R | 0.3560 | 0.3380 | 0.3487 | model_form_blend |
| predicted_RBI | 0.4600 | 0.5130 | 0.4814 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4602 | 0.4422 | model_form_blend |
| predicted_SO | 0.8670 | 0.8800 | 0.8723 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 136 |
| Season rows before report date | 136 |
| Report year | 2026 |
| Profile rows used | 45 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 3 |
| 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 | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260614_TB@LAA |
| game_type | short |
| mlbID | 681351 |
| playerID | 681351 |
| playerName | Logan O'Hoppe |
| pos | C |
| started | False |
| startingPosition | C |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.282 |
| sl_xwoba | 0.283 |
| sl_xba | 0.198 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 26.9 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 16.9 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.145 | 0.000 | 0.000 | Hitting_2B | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.290 | 3.000 | 3.000 | Hitting_AB | 3.392 | 1.000 | -0.392 | 2.000 |
| predicted_AVG | 0.247 | 0.333 | 0.333 | Hitting_AVG | 0.276 | 0.000 | 0.057 | 0.333 |
| predicted_BB | 0.129 | 0.000 | 0.000 | Hitting_BB | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.938 | 0.000 | 0.062 | 1.000 |
| predicted_HR | 0.080 | 1.000 | 0.000 | Hitting_HR | 0.153 | 0.000 | 0.847 | 1.000 |
| predicted_OBP | 0.273 | 0.250 | 0.333 | Hitting_OBP | 0.344 | 0.000 | -0.094 | 0.250 |
| predicted_R | 0.323 | 1.000 | 0.000 | Hitting_R | 0.375 | 0.000 | 0.625 | 1.000 |
| predicted_RBI | 0.380 | 3.000 | 0.000 | Hitting_RBI | 0.392 | 0.000 | 2.608 | 3.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_SLG | 0.371 | 1.333 | 0.333 | Hitting_SLG | 0.462 | 0.000 | 0.871 | 1.333 |
| predicted_SO | 0.919 | 0.000 | 1.000 | Hitting_SO | 0.955 | 1.000 | -0.955 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.3800 -> 3.0000 (boost 2.6200, better) |
| Biggest Deboost | predicted_SO: 0.9190 -> 0.0000 (deboost -0.9190, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.2900 -> 3.3642 (boost 0.0742, better) | predicted_AVG: 0.2470 -> 0.2383 (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 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2670 -> 0.2431 (deboost -0.0239, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 1 | 6 | predicted_H: 0.7282 -> 1.0000 (boost 0.2718, better) | predicted_RBI: 0.4122 -> 0.0000 (deboost -0.4122, worse) | AB rounded to 3 (raw=3.36), rates preserved: AVG=0.216 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3173 -> 0.0000 (deboost -0.3173, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2164 -> 0.3330 (boost 0.1166, better) | predicted_SLG: 0.3529 -> 0.3330 (deboost -0.0199, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 4 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3529 (boost 0.0199, better) | predicted_AVG: 0.3330 -> 0.2164 (deboost -0.1166, 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.145,
"predicted_3B": 0.032,
"predicted_AB": 3.29,
"predicted_AVG": 0.247,
"predicted_BB": 0.129,
"predicted_H": 0.68,
"predicted_HR": 0.08,
"predicted_OBP": 0.273,
"predicted_R": 0.323,
"predicted_RBI": 0.38,
"predicted_SLG": 0.371,
"predicted_SO": 0.919
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.155,
"predicted_3B": 0.0337,
"predicted_AB": 3.3642,
"predicted_AVG": 0.2383,
"predicted_BB": 0.1186,
"predicted_H": 0.7231,
"predicted_HBP": 0.058,
"predicted_HR": 0.0788,
"predicted_OBP": 0.267,
"predicted_R": 0.3139,
"predicted_RBI": 0.4078,
"predicted_SLG": 0.3674,
"predicted_SO": 0.9567
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.155,
"delta": 0.01,
"percent_delta": 0.069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0337,
"delta": 0.0017,
"percent_delta": 0.0531,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.29,
"after": 3.3642,
"delta": 0.0742,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2383,
"delta": -0.0087,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.129,
"after": 0.1186,
"delta": -0.0104,
"percent_delta": -0.0806,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.7231,
"delta": 0.0431,
"percent_delta": 0.0634,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0788,
"delta": -0.0012,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.267,
"delta": -0.006,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.323,
"after": 0.3139,
"delta": -0.0091,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.4078,
"delta": 0.0278,
"percent_delta": 0.0732,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.371,
"after": 0.3674,
"delta": -0.0036,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.919,
"after": 0.9567,
"delta": 0.0377,
"percent_delta": 0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.29,
"after": 3.3642,
"delta": 0.0742,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2383,
"delta": -0.0087,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 62
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.155,
"predicted_3B": 0.0337,
"predicted_AB": 3.3642,
"predicted_AVG": 0.2164,
"predicted_BB": 0.1185,
"predicted_H": 0.7282,
"predicted_HBP": 0.058,
"predicted_HR": 0.0789,
"predicted_OBP": 0.2431,
"predicted_R": 0.3173,
"predicted_RBI": 0.4122,
"predicted_SLG": 0.3529,
"predicted_SO": 0.9576
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.155,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0337,
"after": 0.0337,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3642,
"after": 3.3642,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2383,
"after": 0.2164,
"delta": -0.0219,
"percent_delta": -0.0919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1186,
"after": 0.1185,
"delta": -0.0001,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7231,
"after": 0.7282,
"delta": 0.0051,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.058,
"after": 0.058,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0788,
"after": 0.0789,
"delta": 0.0001,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2431,
"delta": -0.0239,
"percent_delta": -0.0895,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3139,
"after": 0.3173,
"delta": 0.0034,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4078,
"after": 0.4122,
"delta": 0.0044,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3674,
"after": 0.3529,
"delta": -0.0145,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9567,
"after": 0.9576,
"delta": 0.0009,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.267,
"after": 0.2431,
"delta": -0.0239,
"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 3 (raw=3.36), rates preserved: AVG=0.216 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0337,
"after": 0.0,
"delta": -0.0337,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3642,
"after": 3.0,
"delta": -0.3642,
"percent_delta": -0.1083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1185,
"after": 0.0,
"delta": -0.1185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7282,
"after": 1.0,
"delta": 0.2718,
"percent_delta": 0.3732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0789,
"after": 0.0,
"delta": -0.0789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4122,
"after": 0.0,
"delta": -0.4122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9576,
"after": 1.0,
"delta": 0.0424,
"percent_delta": 0.0443,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7282,
"after": 1.0,
"delta": 0.2718,
"percent_delta": 0.3732,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4122,
"after": 0.0,
"delta": -0.4122,
"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.3173,
"after": 0.0,
"delta": -0.3173,
"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.3173,
"after": 0.0,
"delta": -0.3173,
"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.2164,
"after": 0.333,
"delta": 0.1166,
"percent_delta": 0.5388,
"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.2431,
"after": 0.333,
"delta": 0.0899,
"percent_delta": 0.3698,
"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.3529,
"after": 0.333,
"delta": -0.0199,
"percent_delta": -0.0564,
"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.2164,
"after": 0.333,
"delta": 0.1166,
"percent_delta": 0.5388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3529,
"after": 0.333,
"delta": -0.0199,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"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": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2164,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2431,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.3529,
"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.2164,
"delta": -0.1166,
"percent_delta": -0.35,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.2431,
"delta": -0.0899,
"percent_delta": -0.27,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3529,
"delta": 0.0199,
"percent_delta": 0.0598,
"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.3529,
"delta": 0.0199,
"percent_delta": 0.0598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2164,
"delta": -0.1166,
"percent_delta": -0.35,
"direction": "deboost",
"projection_effect": "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.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.29,
"after": 3.0,
"delta": -0.29,
"percent_delta": -0.0881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2164,
"delta": -0.0306,
"percent_delta": -0.1239,
"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.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 1.0,
"delta": 0.92,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2431,
"delta": -0.0299,
"percent_delta": -0.1095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.323,
"after": 1.0,
"delta": 0.677,
"percent_delta": 2.096,
"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.371,
"after": 0.3529,
"delta": -0.0181,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.919,
"after": 0.0,
"delta": -0.919,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"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.919,
"after": 0.0,
"delta": -0.919,
"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.145 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.290 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.129 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.323 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.371 | - |
| predicted_SO | 0.919 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | 0.010 |
| predicted_3B | 0.034 | 0.002 |
| predicted_AB | 3.364 | 0.074 |
| predicted_AVG | 0.238 | -0.009 |
| predicted_BB | 0.119 | -0.010 |
| predicted_H | 0.723 | 0.043 |
| predicted_HBP | 0.058 | - |
| predicted_HR | 0.079 | -0.001 |
| predicted_OBP | 0.267 | -0.006 |
| predicted_R | 0.314 | -0.009 |
| predicted_RBI | 0.408 | 0.028 |
| predicted_SLG | 0.367 | -0.004 |
| predicted_SO | 0.957 | 0.038 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.155 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 3.364 | 0.000 |
| predicted_AVG | 0.216 | -0.022 |
| predicted_BB | 0.118 | -0.000 |
| predicted_H | 0.728 | 0.005 |
| predicted_HBP | 0.058 | 0.000 |
| predicted_HR | 0.079 | 0.000 |
| predicted_OBP | 0.243 | -0.024 |
| predicted_R | 0.317 | 0.003 |
| predicted_RBI | 0.412 | 0.004 |
| predicted_SLG | 0.353 | -0.015 |
| predicted_SO | 0.958 | 0.001 |
AB rounded to 3 (raw=3.36), rates preserved: AVG=0.216 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.155 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 3.000 | -0.364 |
| predicted_AVG | 0.333 | 0.117 |
| predicted_BB | 0.000 | -0.118 |
| predicted_H | 1.000 | 0.272 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.333 | 0.090 |
| predicted_R | 0.000 | -0.317 |
| predicted_RBI | 0.000 | -0.412 |
| predicted_SLG | 0.333 | -0.020 |
| predicted_SO | 1.000 | 0.042 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 6.000 | 0.1667 | 0.1667 | 0.2222 | 0.1667 | 0.0000 | 0.1667 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 2.000 | 1.000 | 0.000 | 6.000 | 2.000 | 0.000 | 12.000 | 0.1667 | 0.1667 | 0.2778 | 0.1667 | 0.0000 | 0.1667 | 0.0000 | 0.3333 |
| season | 0.60 | 62 | - | 204.000 | 53.000 | 9.000 | 2.000 | 7.000 | 21.000 | 20.000 | 8.000 | 57.000 | 0.2598 | 0.3073 | 0.4265 | 0.2598 | 0.0343 | 0.1029 | 0.0392 | 0.2794 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1690 |
| predicted_3B | 0.0360 |
| predicted_AB | 3.4690 |
| predicted_AVG | 0.2259 |
| predicted_BB | 0.1040 |
| predicted_H | 0.7840 |
| predicted_HBP | 0.0580 |
| predicted_HR | 0.0770 |
| predicted_OBP | 0.2586 |
| predicted_R | 0.3010 |
| predicted_RBI | 0.4470 |
| predicted_SLG | 0.3624 |
| predicted_SO | 1.0100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.1690 | 0.1550 | model_form_blend |
| predicted_3B | 0.0320 | 0.0360 | 0.0337 | model_form_blend |
| predicted_AB | 3.2900 | 3.4690 | 3.3642 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2259 | 0.2383 | model_form_blend |
| predicted_BB | 0.1290 | 0.1040 | 0.1186 | model_form_blend |
| predicted_H | 0.6800 | 0.7840 | 0.7231 | model_form_blend |
| predicted_HBP | - | 0.0580 | 0.0580 | form_only |
| predicted_HR | 0.0800 | 0.0770 | 0.0788 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2586 | 0.2670 | model_form_blend |
| predicted_R | 0.3230 | 0.3010 | 0.3139 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4470 | 0.4078 | model_form_blend |
| predicted_SLG | 0.3710 | 0.3624 | 0.3674 | model_form_blend |
| predicted_SO | 0.9190 | 1.0100 | 0.9567 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 62 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260614_TB@LAA |
| game_type | ph |
| mlbID | 672724 |
| note | Struck out for Porter in the 8th. |
| playerID | 672724 |
| playerName | Oswald Peraza |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.326 |
| sl_xwoba | 0.312 |
| sl_xba | 0.256 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 37.2 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 30.6 |
| sl_swing_percent | 56.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.750 | 5.000 | -0.750 | -3.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.250 | 0.000 | -0.250 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 3.500 | 3.000 | 2.500 | 3.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 4.533 | 5.000 | 1.467 | 1.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.583 | 7.000 | 1.417 | -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 | 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": "700712",
"player_name": "Walbert Urena",
"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": 2.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 6.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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 1.0,
"predicted_SO": 6.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": 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": 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": 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": 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": 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 | 2.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 6.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 6.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.000 | 5.000 | 20.000 | 16.000 | 29.000 | 2.000 | 1.6071 | 1.2857 | 0.1786 | 0.7143 | 0.5714 | 1.0357 | 0.0714 |
| last_10 | 0.35 | 10 | 53.200 | 15.000 | 37.000 | 30.000 | 53.000 | 4.000 | 2.5155 | 1.2484 | 0.2795 | 0.6894 | 0.5590 | 0.9876 | 0.0745 |
| season | 0.20 | 12 | 55.100 | 15.000 | 42.000 | 33.000 | 55.000 | 4.000 | 2.4398 | 1.3554 | 0.2711 | 0.7590 | 0.5964 | 0.9940 | 0.0723 |
| Metric | Value |
|---|---|
| predicted_BB | 2.8260 |
| predicted_ER | 1.7180 |
| predicted_ERA | 2.7906 |
| predicted_H | 4.3790 |
| predicted_HR | 0.5210 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.4740 |
| predicted_WHIP | 1.3003 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.8260 | 2.4343 | model_form_blend |
| predicted_ER | 1.0000 | 1.7180 | 1.3775 | model_form_blend |
| predicted_ERA | - | 2.7906 | 2.7906 | form_only |
| predicted_H | 6.0000 | 4.3790 | 5.1478 | model_form_blend |
| predicted_HR | 0.0000 | 0.5210 | 0.2739 | model_form_blend |
| predicted_IP | 6.0000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 6.0000 | 5.4740 | 5.7235 | model_form_blend |
| predicted_WHIP | - | 1.3003 | 1.3003 | 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 | 2 |
| SO | 6 |
| HR | 0 |
| BF | 26 |
| Pitches | 102 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 5 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.44 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 107 |
| Pitching_R | 0 |
| Pitching_SO | 7 |
| Pitching_Strikes | 59 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_HOU@LAA |
| game_type | full |
| mlbID | 700712 |
| playerID | 700712 |
| playerName | Walbert Urena |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-09 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.292 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 25.8 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 32.5 |
| sl_whiff_percent | 28.1 |
| sl_swing_percent | 43.0 |
| sl_avg_best_speed | 75.909474667 |
| sl_avg_hyper_speed | 93.302819597 |
| 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.484 | 0.000 | 0.516 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.645 | 1.000 | -0.645 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.652 | 0.200 | 0.348 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.871 | 1.000 | 0.129 | 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": "681217",
"player_name": "Chase Silseth",
"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": 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 | 4.200 | 1.000 | 4.000 | 2.000 | 7.000 | 1.000 | 1.9286 | 1.2857 | 0.2143 | 0.8571 | 0.4286 | 1.5000 | 0.2143 |
| last_10 | 0.35 | 10 | 8.200 | 1.000 | 6.000 | 2.000 | 11.000 | 1.000 | 1.0385 | 0.9231 | 0.1154 | 0.6923 | 0.2308 | 1.2692 | 0.1154 |
| season | 0.20 | 31 | 25.100 | 5.000 | 20.000 | 15.000 | 27.000 | 2.000 | 1.7763 | 1.3816 | 0.1974 | 0.7895 | 0.5921 | 1.0658 | 0.0790 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3640 |
| predicted_ER | 0.3250 |
| predicted_ERA | 3.0252 |
| predicted_H | 0.8500 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0960 |
| predicted_WHIP | 1.2555 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3640 | 0.7207 | model_form_blend |
| predicted_ER | 0.0000 | 0.3250 | 0.1427 | model_form_blend |
| predicted_ERA | - | 3.0252 | 3.0252 | form_only |
| predicted_H | 0.0000 | 0.8500 | 0.3732 | model_form_blend |
| predicted_HR | 0.0000 | 0.1440 | 0.0632 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0960 | 1.0422 | model_form_blend |
| predicted_WHIP | - | 1.2555 | 1.2555 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.78 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 681217 |
| playerID | 681217 |
| playerName | Chase Silseth |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.306 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 29.2 |
| sl_whiff_percent | 33.7 |
| sl_swing_percent | 46.6 |
| sl_avg_best_speed | 75.944338438 |
| sl_avg_hyper_speed | 92.948501406 |
| 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.357 | 0.000 | 0.643 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.429 | 0.000 | 0.571 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.643 | 0.000 | 1.357 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.814 | 1.000 | 0.186 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.143 | 1.000 | -1.143 | -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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 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 | 5.000 | 2.000 | 4.000 | 1.000 | 6.000 | 0.000 | 3.6000 | 1.0000 | 0.4000 | 0.8000 | 0.2000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 5.000 | 4.000 | 12.000 | 1.000 | 2.7931 | 0.9310 | 0.3103 | 0.5172 | 0.4138 | 1.2414 | 0.1035 |
| season | 0.20 | 13 | 12.100 | 5.000 | 8.000 | 5.000 | 16.000 | 1.000 | 3.6486 | 1.0541 | 0.4054 | 0.6486 | 0.4054 | 1.2973 | 0.0811 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3460 |
| predicted_ER | 0.4550 |
| predicted_ERA | 4.0939 |
| predicted_H | 0.8730 |
| predicted_HR | 0.1150 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0320 |
| predicted_WHIP | 1.2195 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3460 | 0.7605 | model_form_blend |
| predicted_ER | 1.0000 | 0.4550 | 0.8004 | model_form_blend |
| predicted_ERA | - | 4.0939 | 4.0939 | form_only |
| predicted_H | 2.0000 | 0.8730 | 1.5873 | model_form_blend |
| predicted_HR | 0.0000 | 0.1150 | 0.0421 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0320 | 0.3779 | model_form_blend |
| predicted_WHIP | - | 1.2195 | 1.2195 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 13 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 6 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.38 |
| Pitching_Flyouts | 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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260613_TB@LAA |
| game_type | full |
| mlbID | 489446 |
| playerID | 489446 |
| playerName | Kirby Yates |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-13 |
| sl_k_percent | 30.2 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.297 |
| sl_xwoba | 0.323 |
| sl_sweet_spot_percent | 45.2 |
| sl_barrel_batted_rate | 12.9 |
| sl_hard_hit_percent | 61.3 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 50.2 |
| sl_avg_best_speed | 85.22820375 |
| sl_avg_hyper_speed | 97.307245484 |
| 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.654 | 2.000 | -0.654 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.462 | 5.000 | -0.462 | -5.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.885 | 4.000 | -0.885 | -4.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.104 | 1.000 | -0.104 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.346 | 1.000 | -1.346 | -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": "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.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.100 | 5.000 | 6.000 | 3.000 | 6.000 | 2.000 | 10.3846 | 2.0769 | 1.1539 | 1.3846 | 0.6923 | 1.3846 | 0.4615 |
| last_10 | 0.35 | 10 | 10.100 | 5.000 | 11.000 | 7.000 | 11.000 | 2.000 | 4.3548 | 1.7419 | 0.4839 | 1.0645 | 0.6774 | 1.0645 | 0.1935 |
| season | 0.20 | 26 | 32.200 | 12.000 | 23.000 | 17.000 | 35.000 | 4.000 | 3.3061 | 1.2245 | 0.3674 | 0.7041 | 0.5204 | 1.0714 | 0.1225 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5450 |
| predicted_ER | 0.6710 |
| predicted_ERA | 5.8164 |
| predicted_H | 1.1050 |
| predicted_HR | 0.2410 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1310 |
| predicted_WHIP | 1.5904 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5450 | 0.2539 | model_form_blend |
| predicted_ER | 0.0000 | 0.6710 | 0.3125 | model_form_blend |
| predicted_ERA | - | 5.8164 | 5.8164 | form_only |
| predicted_H | 0.0000 | 1.1050 | 0.5147 | model_form_blend |
| predicted_HR | 0.0000 | 0.2410 | 0.1123 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1310 | 0.5268 | model_form_blend |
| predicted_WHIP | - | 1.5904 | 1.5904 | 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 | 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 9 |
| Pitching_ER | 5 |
| Pitching_ERA | 3.31 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 31 |
| Pitching_R | 5 |
| Pitching_SO | 1 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 696147 |
| playerID | 696147 |
| playerName | Sam Bachman |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-06-14 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.261 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 31.6 |
| sl_whiff_percent | 36.2 |
| sl_swing_percent | 44.4 |
| sl_avg_best_speed | 75.422921351 |
| sl_avg_hyper_speed | 92.873220405 |
| Field | Value |
|---|---|
| Pitcher | Ryne Nelson |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6602 |
| ESPN Rank | 661 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1717 |
| Avg Velo | 92.7936 |
| Avg Spin | 2349.1028 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 6 |
| Pre BB | 3 |
| Pre SO | 3 |
| Season ERA | 5.1878 |
| Season WHIP | 1.2314 |
| Role Avg IP | 5.4520 |
| Recent Avg IP | 6.2670 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"opponent": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"edges": {
"quality_edge": 0.0385,
"offense_edge": -0.0095,
"opponent_offense_edge": 0.0061,
"defense_strength": -0.0241,
"opponent_defense_weakness": 0.0994,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0015,
"strikeout": 1.0007
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669194",
"profile": {
"available": true,
"pitcher_id": "669194",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 252.0,
"k_percent": 17.5,
"bb_percent": 6.7,
"woba": 0.335,
"xwoba": 0.357,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 43.8,
"avg_best_speed": 80.4155,
"avg_hyper_speed": 94.7599,
"whiff_percent": 21.3,
"swing_percent": 53.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.8942,
"command_and_miss": -0.4243,
"regression_edge": -0.6286,
"xwoba_edge": -1.2,
"barrel_edge": -0.7556,
"hard_hit_edge": -0.7429,
"whiff_edge": -0.6,
"bb_edge": 0.6,
"pitch_design_score": 0.1717
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669194",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.7936,
"release_spin_rate": 2349.1028,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1717,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2263,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.6602,
"sample_weight": 1.0,
"run_prevention_factor": 1.0561,
"strikeout_factor": 0.9463,
"walk_factor": 0.952,
"homer_factor": 1.1262,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669194",
"espn_id": 4916269,
"player_name": "Ryne Nelson",
"team": "ARI",
"role": "pitcher",
"espn_rank": 661,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 661,
"gp_value": 14.0,
"gp_rank": 251,
"gs_value": 14.0,
"gs_rank": 18,
"qs_value": 5.0,
"qs_rank": 45,
"era_value": 5.1877,
"era_rank": 66.0,
"w_value": 2.0,
"w_rank": 174,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 76.1,
"ip_rank": 42,
"h_value": 72.0,
"h_rank": 39,
"er_value": 44.0,
"er_rank": 9,
"hr_value": 17.0,
"hr_rank": 4,
"bb_value": 22.0,
"bb_rank": 83,
"k_value": 57.0,
"k_rank": 84,
"k_per_9_value": 6.720524,
"k_per_9_rank": 54,
"whip_value": 1.2314,
"whip_rank": 41.0,
"war_value": -0.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0561,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0561,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.952,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1262,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9463,
"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": 56.0,
"ER": 36,
"H": 59,
"BB": 14,
"SO": 38,
"HR": 13,
"ERA": 5.785714285714285,
"WHIP": 1.3035714285714284,
"K9": 6.107142857142857,
"HR9": 2.089285714285714,
"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-06-10T00:00:00"
}{
"available": true,
"pitcher_id": "669194",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 92.79363220286311,
"release_spin_rate": 2349.102839242492,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.7936,
"release_spin_rate": 2349.1028,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1717,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2263,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"role": "pitcher",
"player_id": "669194",
"report_date": "20260615_L",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 8.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 31.1,
"ER": 17.0,
"R": 18.0,
"H": 34.0,
"BB": 8.0,
"SO": 14.0,
"HR": 8.0,
"BF": 134.0,
"Pitches": 466.0
},
"per_game": {
"IP": 6.1,
"ER": 3.4,
"R": 3.6,
"H": 6.8,
"BB": 1.6,
"SO": 2.8,
"HR": 1.6,
"BF": 26.8,
"Pitches": 93.2
},
"rates": {
"ERA": 4.883,
"WHIP": 1.3404,
"ER_per_IP": 0.54255,
"H_per_IP": 1.08511,
"BB_per_IP": 0.25532,
"SO_per_IP": 0.44681,
"HR_per_IP": 0.25532
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.0,
"ER": 36.0,
"R": 37.0,
"H": 59.0,
"BB": 14.0,
"SO": 38.0,
"HR": 13.0,
"BF": 240.0,
"Pitches": 856.0
},
"per_game": {
"IP": 5.2,
"ER": 3.6,
"R": 3.7,
"H": 5.9,
"BB": 1.4,
"SO": 3.8,
"HR": 1.3,
"BF": 24.0,
"Pitches": 85.6
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.3036,
"ER_per_IP": 0.64286,
"H_per_IP": 1.05357,
"BB_per_IP": 0.25,
"SO_per_IP": 0.67857,
"HR_per_IP": 0.23214
}
},
"season": {
"games": 14,
"totals": {
"IP": 76.1,
"ER": 44.0,
"R": 51.0,
"H": 72.0,
"BB": 22.0,
"SO": 57.0,
"HR": 17.0,
"BF": 326.0,
"Pitches": 1197.0
},
"per_game": {
"IP": 5.1,
"ER": 3.1429,
"R": 3.6429,
"H": 5.1429,
"BB": 1.5714,
"SO": 4.0714,
"HR": 1.2143,
"BF": 23.2857,
"Pitches": 85.5
},
"rates": {
"ERA": 5.1878,
"WHIP": 1.2314,
"ER_per_IP": 0.57642,
"H_per_IP": 0.94323,
"BB_per_IP": 0.28821,
"SO_per_IP": 0.74672,
"HR_per_IP": 0.22271
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 3.622,
"predicted_H": 6.623,
"predicted_BB": 1.849,
"predicted_SO": 4.381,
"predicted_HR": 1.391,
"predicted_ERA": 5.0516,
"predicted_WHIP": 1.313
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4612,
"form_weight": 0.5388,
"form_reliability": 0.7368,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"applied_metrics": {
"predicted_IP": {
"model": 8.0,
"form": 6.1,
"final": 7.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 3.622,
"final": 2.8739,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 6.623,
"final": 6.3357,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.849,
"final": 2.3798,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.381,
"final": 3.7441,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.391,
"final": 1.2107,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0516,
"final": 5.0516,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.313,
"final": 1.313,
"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.0509 |
| ESPN Rank | 203 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1732 |
| Avg Velo | 92.8214 |
| Avg Spin | 2270.1429 |
| 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 | 0 |
| Season WHIP | 0.4286 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"opponent": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"edges": {
"quality_edge": 0.0385,
"offense_edge": -0.0095,
"opponent_offense_edge": 0.0061,
"defense_strength": -0.0241,
"opponent_defense_weakness": 0.0994,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0015,
"strikeout": 1.0007
},
"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": 16.0,
"bb_percent": 6.6,
"woba": 0.286,
"xwoba": 0.301,
"sweet_spot_percent": 27.2,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 37.0,
"avg_best_speed": 76.0764,
"avg_hyper_speed": 93.96,
"whiff_percent": 21.6,
"swing_percent": 51.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.4863,
"command_and_miss": -0.5007,
"regression_edge": -0.4286,
"xwoba_edge": 0.4,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.2286,
"whiff_edge": -0.5571,
"bb_edge": 0.625,
"pitch_design_score": 0.1732
},
"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.1732,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2374,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0509,
"sample_weight": 0.45,
"run_prevention_factor": 0.9957,
"strikeout_factor": 0.9727,
"walk_factor": 0.9775,
"homer_factor": 0.9713,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642528",
"espn_id": 39807,
"player_name": "Jonathan Loaisiga",
"team": "ARI",
"role": "pitcher",
"espn_rank": 203,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 203,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.1153,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 4.0,
"hld_rank": 113,
"ip_value": 26.0,
"ip_rank": 300,
"h_value": 24.0,
"h_rank": 268,
"er_value": 9.0,
"er_rank": 343,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 17.0,
"k_rank": 377,
"k_per_9_value": 5.8846154,
"k_per_9_rank": 33,
"whip_value": 1.1923,
"whip_rank": null,
"war_value": 0.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9981,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9981,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9871,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9877,
"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.1732,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2374,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.462,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0846,
"prior_weight": 0.9154
},
"role": "pitcher",
"player_id": "642528",
"report_date": "20260615_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.19,
"predicted_H": 0.387,
"predicted_BB": 0.138,
"predicted_SO": 0.388,
"predicted_HR": 0.056,
"predicted_ERA": 4.0903,
"predicted_WHIP": 1.2567
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7368,
"form_weight": 0.2632,
"form_reliability": 0.0846,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.462,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0846,
"prior_weight": 0.9154
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.19,
"final": 0.7868,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.387,
"final": 0.8386,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.138,
"final": 0.0363,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.388,
"final": 0.8389,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.056,
"final": 0.7515,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0903,
"final": 4.0903,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2567,
"final": 1.2567,
"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 Morillo |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4954 |
| ESPN Rank | 113 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2735 |
| Avg Velo | 94.6118 |
| Avg Spin | 2345 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 10.8000 |
| Season WHIP | 2.4000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"opponent": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"edges": {
"quality_edge": 0.0385,
"offense_edge": -0.0095,
"opponent_offense_edge": 0.0061,
"defense_strength": -0.0241,
"opponent_defense_weakness": 0.0994,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0015,
"strikeout": 1.0007
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666661",
"profile": {
"available": true,
"pitcher_id": "666661",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 5.0,
"k_percent": 32.7,
"bb_percent": 9.7,
"woba": 0.259,
"xwoba": 0.241,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 31.7,
"avg_best_speed": 75.3418,
"avg_hyper_speed": 93.6409,
"whiff_percent": 36.2,
"swing_percent": 49.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.3021,
"command_and_miss": 1.1479,
"regression_edge": 0.5143,
"xwoba_edge": 2.1143,
"barrel_edge": 0.1778,
"hard_hit_edge": 0.9857,
"whiff_edge": 1.5286,
"bb_edge": -0.15,
"pitch_design_score": 0.2735
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666661",
"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": 94.61176470588236,
"release_spin_rate": 2345.0,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.61176470588236,
"release_spin_rate": 2345.0,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6118,
"release_spin_rate": 2345.0,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2735,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9535,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.4954,
"sample_weight": 0.45,
"run_prevention_factor": 0.9579,
"strikeout_factor": 1.0532,
"walk_factor": 1.0054,
"homer_factor": 0.9473,
"woba_minus_xwoba": 0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666661",
"espn_id": 4722925,
"player_name": "Juan Morillo",
"team": "ARI",
"role": "pitcher",
"espn_rank": 113,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 113,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.5714,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 8.0,
"hld_rank": 39,
"ip_value": 28.0,
"ip_rank": 272,
"h_value": 18.0,
"h_rank": 353,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 37.0,
"k_rank": 168,
"k_per_9_value": 11.892857,
"k_per_9_rank": 16,
"whip_value": 1.0357,
"whip_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9811,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9811,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0024,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9763,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0239,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 1.2,
"ER": 2,
"H": 2,
"BB": 2,
"SO": 1,
"HR": 1,
"ERA": 10.8,
"WHIP": 2.4000000000000004,
"K9": 5.4,
"HR9": 5.4,
"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-28T00:00:00"
}{
"available": true,
"pitcher_id": "666661",
"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": 94.61176470588236,
"release_spin_rate": 2345.0,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.61176470588236,
"release_spin_rate": 2345.0,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.6118,
"release_spin_rate": 2345.0,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.2735,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9535,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.33,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0619,
"prior_weight": 0.9381
},
"role": "pitcher",
"player_id": "666661",
"report_date": "20260615_L",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 1.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 9.0,
"Pitches": 39.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 0.5,
"HR": 0.5,
"BF": 4.5,
"Pitches": 19.5
},
"rates": {
"ERA": 10.8,
"WHIP": 2.4,
"ER_per_IP": 1.2,
"H_per_IP": 1.2,
"BB_per_IP": 1.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.6
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 1.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 9.0,
"Pitches": 39.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 0.5,
"HR": 0.5,
"BF": 4.5,
"Pitches": 19.5
},
"rates": {
"ERA": 10.8,
"WHIP": 2.4,
"ER_per_IP": 1.2,
"H_per_IP": 1.2,
"BB_per_IP": 1.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.6
}
},
"season": {
"games": 2,
"totals": {
"IP": 1.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 1.0,
"HR": 1.0,
"BF": 9.0,
"Pitches": 39.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 1.0,
"SO": 0.5,
"HR": 0.5,
"BF": 4.5,
"Pitches": 19.5
},
"rates": {
"ERA": 10.8,
"WHIP": 2.4,
"ER_per_IP": 1.2,
"H_per_IP": 1.2,
"BB_per_IP": 1.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.6
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.191,
"predicted_H": 0.349,
"predicted_BB": 0.146,
"predicted_SO": 0.323,
"predicted_HR": 0.061,
"predicted_ERA": 4.8603,
"predicted_WHIP": 1.3992
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7463,
"form_weight": 0.2537,
"form_reliability": 0.0619,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.33,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0619,
"prior_weight": 0.9381
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.191,
"final": 0.7948,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.349,
"final": 1.5812,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.146,
"final": 0.037,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.323,
"final": 0.8283,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.061,
"final": 0.0155,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8603,
"final": 4.8603,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3992,
"final": 1.3992,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Kevin Ginkel |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0076 |
| ESPN Rank | 141 |
| 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 | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 9 |
| Season WHIP | 2 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"opponent": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"edges": {
"quality_edge": 0.0385,
"offense_edge": -0.0095,
"opponent_offense_edge": 0.0061,
"defense_strength": -0.0241,
"opponent_defense_weakness": 0.0994,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0015,
"strikeout": 1.0007
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656464",
"profile": {
"available": true,
"pitcher_id": "656464",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0504,
"command_and_miss": 0.0,
"regression_edge": -0.1143,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.0,
"whiff_edge": 0.0,
"bb_edge": 0.0,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656464",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0076,
"sample_weight": 0.45,
"run_prevention_factor": 0.9994,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9972,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656464",
"espn_id": 41432,
"player_name": "Kevin Ginkel",
"team": "ARI",
"role": "pitcher",
"espn_rank": 141,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 141,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.6024,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 27.2,
"ip_rank": 280,
"h_value": 24.0,
"h_rank": 268,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 32.0,
"k_rank": 212,
"k_per_9_value": 10.409638,
"k_per_9_rank": 20,
"whip_value": 1.1204,
"whip_rank": null,
"war_value": 0.69,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9997,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9997,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9987,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 1.0,
"ER": 1,
"H": 2,
"BB": 0,
"SO": 0,
"HR": 0,
"ERA": 9.0,
"WHIP": 2.0,
"K9": 0.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-03-27T00:00:00"
}{
"available": false,
"pitcher_id": "656464",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.198,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0381,
"prior_weight": 0.9619
},
"role": "pitcher",
"player_id": "656464",
"report_date": "20260615_L",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 0.0,
"SO": 0.0,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.0
},
"rates": {
"ERA": 9.0,
"WHIP": 2.0,
"ER_per_IP": 1.0,
"H_per_IP": 2.0,
"BB_per_IP": 0.0,
"SO_per_IP": 0.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.185,
"predicted_H": 0.363,
"predicted_BB": 0.125,
"predicted_SO": 0.322,
"predicted_HR": 0.05,
"predicted_ERA": 4.641,
"predicted_WHIP": 1.3586
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7564,
"form_weight": 0.2436,
"form_reliability": 0.0381,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.198,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.0381,
"prior_weight": 0.9619
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.185,
"final": 0.8015,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.363,
"final": 0.0884,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.125,
"final": 0.0304,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.322,
"final": 0.0784,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.05,
"final": 0.0122,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.641,
"final": 4.641,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3586,
"final": 1.3586,
"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.0076 |
| ESPN Rank | 178 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| 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": 78,
"wins": 40,
"losses": 38,
"win_pct": 0.5128,
"runs_scored": 347.0,
"runs_allowed": 359.0,
"run_differential": -12.0,
"run_differential_per_game": -0.1538,
"avg_runs_scored": 4.4487,
"avg_runs_allowed": 4.6026,
"offense_index": 0.9905,
"defense_index": 0.9759,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 2.7,
"avg_runs_allowed": 5.0,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.043
},
"opponent": {
"team": "LAA",
"games": 79,
"wins": 34,
"losses": 45,
"win_pct": 0.4304,
"runs_scored": 357.0,
"runs_allowed": 394.0,
"run_differential": -37.0,
"run_differential_per_game": -0.4684,
"avg_runs_scored": 4.519,
"avg_runs_allowed": 4.9873,
"offense_index": 1.0061,
"defense_index": 0.9006,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 3.8,
"run_differential": 20.0
},
"available": true,
"quality_score": -0.0815
},
"edges": {
"quality_edge": 0.0385,
"offense_edge": -0.0095,
"opponent_offense_edge": 0.0061,
"defense_strength": -0.0241,
"opponent_defense_weakness": 0.0994,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0006,
"run_prevention": 1.0015,
"strikeout": 1.0007
},
"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.7,
"bb_percent": 9.1,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0504,
"command_and_miss": 0.0,
"regression_edge": -0.1143,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0444,
"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.0076,
"sample_weight": 0.45,
"run_prevention_factor": 0.9994,
"strikeout_factor": 1.0,
"walk_factor": 1.0,
"homer_factor": 0.9972,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623149",
"espn_id": 35009,
"player_name": "Paul Sewald",
"team": "ARI",
"role": "pitcher",
"espn_rank": 178,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 178,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.0759,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 4.0,
"l_rank": 59,
"sv_value": 17.0,
"sv_rank": 5,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 26.1,
"ip_rank": 293,
"h_value": 12.0,
"h_rank": 449,
"er_value": 9.0,
"er_rank": 343,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 29.0,
"k_rank": 250,
"k_per_9_value": 9.911392,
"k_per_9_rank": 23,
"whip_value": 0.7215,
"whip_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9997,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9997,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9987,
"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": "20260615_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.163,
"predicted_H": 0.32,
"predicted_BB": 0.119,
"predicted_SO": 0.307,
"predicted_HR": 0.048,
"predicted_ERA": 4.4103,
"predicted_WHIP": 1.3159
}
}{
"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.163,
"final": 0.038,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.32,
"final": 0.8416,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.119,
"final": 0.0277,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.307,
"final": 0.8385,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.048,
"final": 0.0112,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4103,
"final": 4.4103,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3159,
"final": 1.3159,
"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.234 | 0.000 | 0.000 | Hitting_2B | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.590 | 5.000 | 4.000 | Hitting_AB | 3.609 | 5.000 | 1.391 | 0.000 |
| predicted_AVG | 0.257 | 0.400 | 0.250 | Hitting_AVG | 0.263 | 0.200 | 0.137 | 0.200 |
| predicted_BB | 0.404 | 0.000 | 0.000 | Hitting_BB | 0.377 | 0.000 | -0.377 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_H | 0.920 | 2.000 | 1.000 | Hitting_H | 0.949 | 1.000 | 1.051 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.116 | 1.000 | -0.116 | -1.000 |
| predicted_OBP | 0.351 | 0.400 | 0.250 | Hitting_OBP | 0.333 | 0.200 | 0.067 | 0.200 |
| predicted_R | 0.511 | 0.000 | 1.000 | Hitting_R | 0.551 | 1.000 | -0.551 | -1.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.565 | 1.000 | -0.565 | -1.000 |
| predicted_SLG | 0.460 | 0.400 | 0.250 | Hitting_SLG | 0.424 | 0.800 | -0.024 | -0.400 |
| predicted_SO | 0.723 | 0.000 | 1.000 | Hitting_SO | 0.833 | 1.000 | -0.833 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.5900 -> 5.0000 (boost 1.4100, better) |
| Biggest Deboost | predicted_SO: 0.7230 -> 0.0000 (deboost -0.7230, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4600 -> 0.4733 (boost 0.0133, better) | - | Final model input calibrated with local 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.3582 -> 0.3422 (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 | 2 | 6 | predicted_AB: 3.5777 -> 4.0000 (boost 0.4223, better) | predicted_RBI: 0.4437 -> 0.0000 (deboost -0.4437, worse) | AB rounded to 4 (raw=3.59), rates preserved: AVG=0.263 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5046 -> 1.0000 (boost 0.4954, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4726 -> 0.2500 (deboost -0.2226, 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_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4726 (boost 0.2226, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672515",
"player_name": "Gabriel Moreno",
"position": "C",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.234,
"predicted_3B": 0.0,
"predicted_AB": 3.59,
"predicted_AVG": 0.257,
"predicted_BB": 0.404,
"predicted_H": 0.92,
"predicted_HR": 0.16,
"predicted_OBP": 0.351,
"predicted_R": 0.511,
"predicted_RBI": 0.45,
"predicted_SLG": 0.46,
"predicted_SO": 0.723
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2475,
"predicted_3B": 0.0008,
"predicted_AB": 3.5777,
"predicted_AVG": 0.2637,
"predicted_BB": 0.4257,
"predicted_H": 0.9417,
"predicted_HBP": 0.105,
"predicted_HR": 0.1641,
"predicted_OBP": 0.3582,
"predicted_R": 0.5028,
"predicted_RBI": 0.4422,
"predicted_SLG": 0.4733,
"predicted_SO": 0.7275
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.2475,
"delta": 0.0135,
"percent_delta": 0.0577,
"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": 3.59,
"after": 3.5777,
"delta": -0.0123,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2637,
"delta": 0.0067,
"percent_delta": 0.0261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.4257,
"delta": 0.0217,
"percent_delta": 0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9417,
"delta": 0.0217,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1641,
"delta": 0.0041,
"percent_delta": 0.0256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3582,
"delta": 0.0072,
"percent_delta": 0.0205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.511,
"after": 0.5028,
"delta": -0.0082,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4422,
"delta": -0.0078,
"percent_delta": -0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4733,
"delta": 0.0133,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.723,
"after": 0.7275,
"delta": 0.0045,
"percent_delta": 0.0062,
"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.46,
"after": 0.4733,
"delta": 0.0133,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2475,
"predicted_3B": 0.0008,
"predicted_AB": 3.5777,
"predicted_AVG": 0.2639,
"predicted_BB": 0.426,
"predicted_H": 0.9441,
"predicted_HBP": 0.105,
"predicted_HR": 0.1659,
"predicted_OBP": 0.3422,
"predicted_R": 0.5046,
"predicted_RBI": 0.4437,
"predicted_SLG": 0.4726,
"predicted_SO": 0.7269
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2475,
"after": 0.2475,
"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.5777,
"after": 3.5777,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2637,
"after": 0.2639,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4257,
"after": 0.426,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9417,
"after": 0.9441,
"delta": 0.0024,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.105,
"after": 0.105,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1641,
"after": 0.1659,
"delta": 0.0018,
"percent_delta": 0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3582,
"after": 0.3422,
"delta": -0.016,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5028,
"after": 0.5046,
"delta": 0.0018,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4422,
"after": 0.4437,
"delta": 0.0015,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4733,
"after": 0.4726,
"delta": -0.0007,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7275,
"after": 0.7269,
"delta": -0.0006,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3582,
"after": 0.3422,
"delta": -0.016,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.59), rates preserved: AVG=0.263 HR/AB=0.046",
"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.2475,
"after": 0.0,
"delta": -0.2475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5777,
"after": 4.0,
"delta": 0.4223,
"percent_delta": 0.118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9441,
"after": 1.0,
"delta": 0.0559,
"percent_delta": 0.0592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1659,
"after": 0.0,
"delta": -0.1659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4437,
"after": 0.0,
"delta": -0.4437,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7269,
"after": 1.0,
"delta": 0.2731,
"percent_delta": 0.3757,
"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": 3.5777,
"after": 4.0,
"delta": 0.4223,
"percent_delta": 0.118,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4437,
"after": 0.0,
"delta": -0.4437,
"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.5046,
"after": 1.0,
"delta": 0.4954,
"percent_delta": 0.9818,
"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.5046,
"after": 1.0,
"delta": 0.4954,
"percent_delta": 0.9818,
"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.2639,
"after": 0.25,
"delta": -0.0139,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3422,
"after": 0.25,
"delta": -0.0922,
"percent_delta": -0.2694,
"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.4726,
"after": 0.25,
"delta": -0.2226,
"percent_delta": -0.471,
"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.4726,
"after": 0.25,
"delta": -0.2226,
"percent_delta": -0.471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2639,
"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.3422,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4726,
"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.2639,
"delta": 0.0139,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3422,
"delta": 0.0922,
"percent_delta": 0.3688,
"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.4726,
"delta": 0.2226,
"percent_delta": 0.8903,
"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.4726,
"delta": 0.2226,
"percent_delta": 0.8903,
"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.59,
"after": 5.0,
"delta": 1.41,
"percent_delta": 0.3928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2639,
"delta": 0.0069,
"percent_delta": 0.0268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.0,
"delta": -0.404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 2.0,
"delta": 1.08,
"percent_delta": 1.1739,
"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.351,
"after": 0.3422,
"delta": -0.0088,
"percent_delta": -0.0251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.511,
"after": 0.0,
"delta": -0.511,
"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.46,
"after": 0.4726,
"delta": 0.0126,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.723,
"after": 0.0,
"delta": -0.723,
"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.59,
"after": 5.0,
"delta": 1.41,
"percent_delta": 0.3928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.723,
"after": 0.0,
"delta": -0.723,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.234 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.590 | - |
| predicted_AVG | 0.257 | - |
| predicted_BB | 0.404 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.511 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.460 | - |
| predicted_SO | 0.723 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.013 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.578 | -0.012 |
| predicted_AVG | 0.264 | 0.007 |
| predicted_BB | 0.426 | 0.022 |
| predicted_H | 0.942 | 0.022 |
| predicted_HBP | 0.105 | - |
| predicted_HR | 0.164 | 0.004 |
| predicted_OBP | 0.358 | 0.007 |
| predicted_R | 0.503 | -0.008 |
| predicted_RBI | 0.442 | -0.008 |
| predicted_SLG | 0.473 | 0.013 |
| predicted_SO | 0.728 | 0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.578 | 0.000 |
| predicted_AVG | 0.264 | 0.000 |
| predicted_BB | 0.426 | 0.000 |
| predicted_H | 0.944 | 0.002 |
| predicted_HBP | 0.105 | 0.000 |
| predicted_HR | 0.166 | 0.002 |
| predicted_OBP | 0.342 | -0.016 |
| predicted_R | 0.505 | 0.002 |
| predicted_RBI | 0.444 | 0.002 |
| predicted_SLG | 0.473 | -0.001 |
| predicted_SO | 0.727 | -0.001 |
AB rounded to 4 (raw=3.59), rates preserved: AVG=0.263 HR/AB=0.046
| 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.247 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.422 |
| predicted_AVG | 0.250 | -0.014 |
| predicted_BB | 0.000 | -0.426 |
| predicted_H | 1.000 | 0.056 |
| predicted_HR | 0.000 | -0.166 |
| predicted_OBP | 0.250 | -0.092 |
| predicted_R | 1.000 | 0.495 |
| predicted_RBI | 0.000 | -0.444 |
| predicted_SLG | 0.250 | -0.223 |
| predicted_SO | 1.000 | 0.273 |
Attached 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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 2.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 4.000 | 0.3158 | 0.4348 | 0.5789 | 0.3158 | 0.0526 | 0.0526 | 0.1579 | 0.2105 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 3.000 | 0.000 | 3.000 | 4.000 | 5.000 | 6.000 | 6.000 | 0.2778 | 0.4091 | 0.6111 | 0.2778 | 0.0833 | 0.1111 | 0.1667 | 0.1667 |
| season | 0.60 | 47 | - | 159.000 | 42.000 | 11.000 | 0.000 | 6.000 | 23.000 | 24.000 | 19.000 | 34.000 | 0.2642 | 0.3478 | 0.4465 | 0.2641 | 0.0377 | 0.1447 | 0.1195 | 0.2138 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2670 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5600 |
| predicted_AVG | 0.2735 |
| predicted_BB | 0.4570 |
| predicted_H | 0.9730 |
| predicted_HBP | 0.1050 |
| predicted_HR | 0.1700 |
| predicted_OBP | 0.3685 |
| predicted_R | 0.4910 |
| predicted_RBI | 0.4310 |
| predicted_SLG | 0.4924 |
| predicted_SO | 0.7340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 0.2670 | 0.2475 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.5900 | 3.5600 | 3.5777 | model_form_blend |
| predicted_AVG | 0.2570 | 0.2735 | 0.2637 | model_form_blend |
| predicted_BB | 0.4040 | 0.4570 | 0.4257 | model_form_blend |
| predicted_H | 0.9200 | 0.9730 | 0.9417 | model_form_blend |
| predicted_HBP | - | 0.1050 | 0.1050 | form_only |
| predicted_HR | 0.1600 | 0.1700 | 0.1641 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3685 | 0.3582 | model_form_blend |
| predicted_R | 0.5110 | 0.4910 | 0.5028 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4310 | 0.4422 | model_form_blend |
| predicted_SLG | 0.4600 | 0.4924 | 0.4733 | model_form_blend |
| predicted_SO | 0.7230 | 0.7340 | 0.7275 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 138 |
| Season rows before report date | 138 |
| Report year | 2026 |
| Profile rows used | 47 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| 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 | C |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 672515 |
| playerID | 672515 |
| playerName | Gabriel Moreno |
| pos | C |
| started | True |
| startingPosition | C |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-14 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.347 |
| sl_xwoba | 0.371 |
| sl_xba | 0.275 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 40.3 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 17.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.212 | 0.000 | 0.000 | Hitting_2B | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_3B | 0.030 | 0.000 | 0.000 | Hitting_3B | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_AB | 4.630 | 5.000 | 5.000 | Hitting_AB | 4.222 | 4.000 | 0.778 | 1.000 |
| predicted_AVG | 0.239 | 0.400 | 0.200 | Hitting_AVG | 0.274 | 0.500 | 0.126 | -0.100 |
| predicted_BB | 0.318 | 0.000 | 0.000 | Hitting_BB | 0.301 | 1.000 | -0.301 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 2.000 | 1.000 | Hitting_H | 1.155 | 2.000 | 0.845 | 0.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_OBP | 0.306 | 0.400 | 0.200 | Hitting_OBP | 0.320 | 0.600 | 0.080 | -0.200 |
| predicted_R | 0.576 | 0.000 | 1.000 | Hitting_R | 0.644 | 0.000 | -0.644 | 0.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.649 | 1.000 | -0.649 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.420 | 0.400 | 0.200 | Hitting_SLG | 0.465 | 0.500 | -0.065 | -0.100 |
| predicted_SO | 0.682 | 1.000 | 1.000 | Hitting_SO | 0.699 | 0.000 | 0.301 | 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: 1.1000 -> 2.0000 (boost 0.9000, better) |
| Biggest Deboost | predicted_R: 0.5760 -> 0.0000 (deboost -0.5760, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2390 -> 0.2451 (boost 0.0061, better) | predicted_AB: 4.6300 -> 4.4367 (deboost -0.1933, 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.4168 -> 0.4027 (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: 4.4367 -> 5.0000 (boost 0.5633, better) | predicted_BB: 0.3149 -> 0.0000 (deboost -0.3149, worse) | AB rounded to 5 (raw=4.63), rates preserved: AVG=0.234 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5194 -> 1.0000 (boost 0.4806, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4027 -> 0.2000 (deboost -0.2027, 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_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4027 (boost 0.2027, 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.212,
"predicted_3B": 0.03,
"predicted_AB": 4.63,
"predicted_AVG": 0.239,
"predicted_BB": 0.318,
"predicted_H": 1.1,
"predicted_HR": 0.15,
"predicted_OBP": 0.306,
"predicted_R": 0.576,
"predicted_RBI": 0.54,
"predicted_SLG": 0.42,
"predicted_SO": 0.682
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2315,
"predicted_3B": 0.0249,
"predicted_AB": 4.4367,
"predicted_AVG": 0.2451,
"predicted_BB": 0.3146,
"predicted_H": 1.0822,
"predicted_HBP": 0.004,
"predicted_HR": 0.1386,
"predicted_OBP": 0.3052,
"predicted_R": 0.5176,
"predicted_RBI": 0.5303,
"predicted_SLG": 0.4168,
"predicted_SO": 0.6922
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.212,
"after": 0.2315,
"delta": 0.0195,
"percent_delta": 0.092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.03,
"after": 0.0249,
"delta": -0.0051,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.63,
"after": 4.4367,
"delta": -0.1933,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2451,
"delta": 0.0061,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 0.3146,
"delta": -0.0034,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0822,
"delta": -0.0178,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1386,
"delta": -0.0114,
"percent_delta": -0.076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3052,
"delta": -0.0008,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.5176,
"delta": -0.0584,
"percent_delta": -0.1014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5303,
"delta": -0.0097,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4168,
"delta": -0.0032,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 0.6922,
"delta": 0.0102,
"percent_delta": 0.015,
"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.239,
"after": 0.2451,
"delta": 0.0061,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.63,
"after": 4.4367,
"delta": -0.1933,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2315,
"predicted_3B": 0.0249,
"predicted_AB": 4.4367,
"predicted_AVG": 0.2445,
"predicted_BB": 0.3149,
"predicted_H": 1.0849,
"predicted_HBP": 0.004,
"predicted_HR": 0.1401,
"predicted_OBP": 0.2946,
"predicted_R": 0.5194,
"predicted_RBI": 0.5322,
"predicted_SLG": 0.4027,
"predicted_SO": 0.6916
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2315,
"after": 0.2315,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0249,
"after": 0.0249,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4367,
"after": 4.4367,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2451,
"after": 0.2445,
"delta": -0.0006,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3146,
"after": 0.3149,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0822,
"after": 1.0849,
"delta": 0.0027,
"percent_delta": 0.0025,
"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.1386,
"after": 0.1401,
"delta": 0.0015,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3052,
"after": 0.2946,
"delta": -0.0106,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5176,
"after": 0.5194,
"delta": 0.0018,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5303,
"after": 0.5322,
"delta": 0.0019,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4168,
"after": 0.4027,
"delta": -0.0141,
"percent_delta": -0.0338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6922,
"after": 0.6916,
"delta": -0.0006,
"percent_delta": -0.0009,
"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.4168,
"after": 0.4027,
"delta": -0.0141,
"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 5 (raw=4.63), rates preserved: AVG=0.234 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.2315,
"after": 0.0,
"delta": -0.2315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0249,
"after": 0.0,
"delta": -0.0249,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4367,
"after": 5.0,
"delta": 0.5633,
"percent_delta": 0.127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3149,
"after": 0.0,
"delta": -0.3149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0849,
"after": 1.0,
"delta": -0.0849,
"percent_delta": -0.0783,
"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.1401,
"after": 0.0,
"delta": -0.1401,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5322,
"after": 1.0,
"delta": 0.4678,
"percent_delta": 0.879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6916,
"after": 1.0,
"delta": 0.3084,
"percent_delta": 0.4459,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.4367,
"after": 5.0,
"delta": 0.5633,
"percent_delta": 0.127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3149,
"after": 0.0,
"delta": -0.3149,
"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.5194,
"after": 1.0,
"delta": 0.4806,
"percent_delta": 0.9253,
"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.5194,
"after": 1.0,
"delta": 0.4806,
"percent_delta": 0.9253,
"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.2445,
"after": 0.2,
"delta": -0.0445,
"percent_delta": -0.182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2946,
"after": 0.2,
"delta": -0.0946,
"percent_delta": -0.3211,
"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.4027,
"after": 0.2,
"delta": -0.2027,
"percent_delta": -0.5034,
"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.4027,
"after": 0.2,
"delta": -0.2027,
"percent_delta": -0.5034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2445,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2946,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4027,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2445,
"delta": 0.0445,
"percent_delta": 0.2226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2946,
"delta": 0.0946,
"percent_delta": 0.4729,
"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.4027,
"delta": 0.2027,
"percent_delta": 1.0133,
"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.4027,
"delta": 0.2027,
"percent_delta": 1.0133,
"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.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.63,
"after": 5.0,
"delta": 0.37,
"percent_delta": 0.0799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2445,
"delta": 0.0055,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 0.0,
"delta": -0.318,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 2.0,
"delta": 0.9,
"percent_delta": 0.8182,
"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.306,
"after": 0.2946,
"delta": -0.0114,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.576,
"after": 0.0,
"delta": -0.576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4027,
"delta": -0.0173,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 1.0,
"delta": 0.318,
"percent_delta": 0.4663,
"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": 1.1,
"after": 2.0,
"delta": 0.9,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.576,
"after": 0.0,
"delta": -0.576,
"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.030 | - |
| predicted_AB | 4.630 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.318 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.576 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.682 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.232 | 0.020 |
| predicted_3B | 0.025 | -0.005 |
| predicted_AB | 4.437 | -0.193 |
| predicted_AVG | 0.245 | 0.006 |
| predicted_BB | 0.315 | -0.003 |
| predicted_H | 1.082 | -0.018 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.139 | -0.011 |
| predicted_OBP | 0.305 | -0.001 |
| predicted_R | 0.518 | -0.058 |
| predicted_RBI | 0.530 | -0.010 |
| predicted_SLG | 0.417 | -0.003 |
| predicted_SO | 0.692 | 0.010 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.232 | 0.000 |
| predicted_3B | 0.025 | 0.000 |
| predicted_AB | 4.437 | 0.000 |
| predicted_AVG | 0.244 | -0.001 |
| predicted_BB | 0.315 | 0.000 |
| predicted_H | 1.085 | 0.003 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.140 | 0.002 |
| predicted_OBP | 0.295 | -0.011 |
| predicted_R | 0.519 | 0.002 |
| predicted_RBI | 0.532 | 0.002 |
| predicted_SLG | 0.403 | -0.014 |
| predicted_SO | 0.692 | -0.001 |
AB rounded to 5 (raw=4.63), rates preserved: AVG=0.234 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.232 |
| predicted_3B | 0.000 | -0.025 |
| predicted_AB | 5.000 | 0.563 |
| predicted_AVG | 0.200 | -0.044 |
| predicted_BB | 0.000 | -0.315 |
| predicted_H | 1.000 | -0.085 |
| predicted_HR | 0.000 | -0.140 |
| predicted_OBP | 0.200 | -0.095 |
| predicted_R | 1.000 | 0.481 |
| predicted_RBI | 1.000 | 0.468 |
| predicted_SLG | 0.200 | -0.203 |
| 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 | 5.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 | 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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 0.2727 | 0.3333 | 0.3636 | 0.2727 | 0.0000 | 0.0454 | 0.0909 | 0.1364 |
| last_10 | 0.20 | 10 | - | 43.000 | 10.000 | 3.000 | 0.000 | 1.000 | 5.000 | 2.000 | 2.000 | 8.000 | 0.2326 | 0.2667 | 0.3721 | 0.2326 | 0.0233 | 0.1163 | 0.0465 | 0.1860 |
| season | 0.60 | 66 | - | 271.000 | 69.000 | 14.000 | 2.000 | 11.000 | 41.000 | 38.000 | 21.000 | 45.000 | 0.2546 | 0.3051 | 0.4428 | 0.2546 | 0.0406 | 0.1513 | 0.0775 | 0.1661 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2580 |
| predicted_3B | 0.0180 |
| predicted_AB | 4.1730 |
| predicted_AVG | 0.2535 |
| predicted_BB | 0.3100 |
| predicted_H | 1.0580 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1230 |
| predicted_OBP | 0.3040 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.5170 |
| predicted_SLG | 0.4125 |
| predicted_SO | 0.7060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2120 | 0.2580 | 0.2315 | model_form_blend |
| predicted_3B | 0.0300 | 0.0180 | 0.0249 | model_form_blend |
| predicted_AB | 4.6300 | 4.1730 | 4.4367 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2535 | 0.2451 | model_form_blend |
| predicted_BB | 0.3180 | 0.3100 | 0.3146 | model_form_blend |
| predicted_H | 1.1000 | 1.0580 | 1.0822 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1500 | 0.1230 | 0.1386 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3040 | 0.3052 | model_form_blend |
| predicted_R | 0.5760 | 0.4380 | 0.5176 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5170 | 0.5303 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4125 | 0.4168 | model_form_blend |
| predicted_SO | 0.6820 | 0.7060 | 0.6922 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 239 |
| Season rows before report date | 239 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.255 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 606466 |
| playerID | 606466 |
| playerName | Ketel Marte |
| pos | 2B |
| started | True |
| startingPosition | DH |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-14 |
| sl_k_percent | 15.5 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.324 |
| sl_xwoba | 0.369 |
| sl_xba | 0.299 |
| sl_xslg | 0.506 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 21.6 |
| 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.221 | 0.000 | 0.000 | Hitting_2B | 0.244 | 0.000 | -0.244 | 0.000 |
| predicted_3B | 0.118 | 0.000 | 0.000 | Hitting_3B | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_AB | 4.030 | 4.000 | 4.000 | Hitting_AB | 3.710 | 4.000 | 0.290 | 0.000 |
| predicted_AVG | 0.244 | 0.500 | 0.250 | Hitting_AVG | 0.294 | 0.000 | 0.206 | 0.500 |
| predicted_BB | 0.500 | 1.000 | 0.000 | Hitting_BB | 0.588 | 1.000 | 0.412 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 0.990 | 2.000 | 1.000 | Hitting_H | 1.092 | 0.000 | 0.908 | 2.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.155 | 0.000 | -0.155 | 0.000 |
| predicted_OBP | 0.343 | 0.600 | 0.250 | Hitting_OBP | 0.393 | 0.200 | 0.207 | 0.400 |
| predicted_R | 0.632 | 1.000 | 1.000 | Hitting_R | 0.693 | 0.000 | 0.307 | 1.000 |
| predicted_RBI | 0.490 | 1.000 | 0.000 | Hitting_RBI | 0.563 | 0.000 | 0.437 | 1.000 |
| predicted_SLG | 0.471 | 0.500 | 0.250 | Hitting_SLG | 0.565 | 0.000 | -0.065 | 0.500 |
| predicted_SO | 0.926 | 2.000 | 1.000 | Hitting_SO | 0.979 | 1.000 | 1.021 | 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_SO: 0.9260 -> 2.0000 (boost 1.0740, worse) |
| Biggest Deboost | predicted_2B: 0.2210 -> 0.0000 (deboost -0.2210, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4710 -> 0.4869 (boost 0.0159, better) | predicted_AB: 4.0300 -> 3.9061 (deboost -0.1239, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4869 -> 0.5107 (boost 0.0238, better) | predicted_OBP: 0.3488 -> 0.3324 (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 | 8 | 2 | 6 | 1 | 7 | predicted_AB: 3.9061 -> 4.0000 (boost 0.0939, better) | predicted_BB: 0.4776 -> 0.0000 (deboost -0.4776, worse) | AB rounded to 4 (raw=4.03), rates preserved: AVG=0.243 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5862 -> 1.0000 (boost 0.4138, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5107 -> 0.2500 (deboost -0.2607, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.5107 (boost 0.2607, better) | - | 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.221,
"predicted_3B": 0.118,
"predicted_AB": 4.03,
"predicted_AVG": 0.244,
"predicted_BB": 0.5,
"predicted_H": 0.99,
"predicted_HR": 0.2,
"predicted_OBP": 0.343,
"predicted_R": 0.632,
"predicted_RBI": 0.49,
"predicted_SLG": 0.471,
"predicted_SO": 0.926
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1935,
"predicted_3B": 0.096,
"predicted_AB": 3.9061,
"predicted_AVG": 0.2494,
"predicted_BB": 0.4772,
"predicted_H": 0.9773,
"predicted_HBP": 0.143,
"predicted_HR": 0.2076,
"predicted_OBP": 0.3488,
"predicted_R": 0.5842,
"predicted_RBI": 0.4718,
"predicted_SLG": 0.4869,
"predicted_SO": 0.912
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.221,
"after": 0.1935,
"delta": -0.0275,
"percent_delta": -0.1244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.118,
"after": 0.096,
"delta": -0.022,
"percent_delta": -0.1864,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9061,
"delta": -0.1239,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2494,
"delta": 0.0054,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4772,
"delta": -0.0228,
"percent_delta": -0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9773,
"delta": -0.0127,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2076,
"delta": 0.0076,
"percent_delta": 0.038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3488,
"delta": 0.0058,
"percent_delta": 0.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.632,
"after": 0.5842,
"delta": -0.0478,
"percent_delta": -0.0756,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.4718,
"delta": -0.0182,
"percent_delta": -0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4869,
"delta": 0.0159,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.912,
"delta": -0.014,
"percent_delta": -0.0151,
"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_SLG",
"before": 0.471,
"after": 0.4869,
"delta": 0.0159,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9061,
"delta": -0.1239,
"percent_delta": -0.0307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1935,
"predicted_3B": 0.096,
"predicted_AB": 3.9061,
"predicted_AVG": 0.2508,
"predicted_BB": 0.4776,
"predicted_H": 0.9797,
"predicted_HBP": 0.143,
"predicted_HR": 0.2098,
"predicted_OBP": 0.3324,
"predicted_R": 0.5862,
"predicted_RBI": 0.4735,
"predicted_SLG": 0.5107,
"predicted_SO": 0.9113
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1935,
"after": 0.1935,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.096,
"after": 0.096,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9061,
"after": 3.9061,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2494,
"after": 0.2508,
"delta": 0.0014,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4772,
"after": 0.4776,
"delta": 0.0004,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9773,
"after": 0.9797,
"delta": 0.0024,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2076,
"after": 0.2098,
"delta": 0.0022,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3488,
"after": 0.3324,
"delta": -0.0164,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5842,
"after": 0.5862,
"delta": 0.002,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4718,
"after": 0.4735,
"delta": 0.0017,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4869,
"after": 0.5107,
"delta": 0.0238,
"percent_delta": 0.0489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.912,
"after": 0.9113,
"delta": -0.0007,
"percent_delta": -0.0008,
"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.4869,
"after": 0.5107,
"delta": 0.0238,
"percent_delta": 0.0489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3488,
"after": 0.3324,
"delta": -0.0164,
"percent_delta": -0.047,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.03), rates preserved: AVG=0.243 HR/AB=0.052",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1935,
"after": 0.0,
"delta": -0.1935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.096,
"after": 0.0,
"delta": -0.096,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.9061,
"after": 4.0,
"delta": 0.0939,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4776,
"after": 0.0,
"delta": -0.4776,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9797,
"after": 1.0,
"delta": 0.0203,
"percent_delta": 0.0207,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2098,
"after": 0.0,
"delta": -0.2098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4735,
"after": 0.0,
"delta": -0.4735,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9113,
"after": 1.0,
"delta": 0.0887,
"percent_delta": 0.0973,
"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.9061,
"after": 4.0,
"delta": 0.0939,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4776,
"after": 0.0,
"delta": -0.4776,
"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.5862,
"after": 1.0,
"delta": 0.4138,
"percent_delta": 0.7059,
"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.5862,
"after": 1.0,
"delta": 0.4138,
"percent_delta": 0.7059,
"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.2508,
"after": 0.25,
"delta": -0.0008,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3324,
"after": 0.25,
"delta": -0.0824,
"percent_delta": -0.2479,
"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.5107,
"after": 0.25,
"delta": -0.2607,
"percent_delta": -0.5105,
"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.5107,
"after": 0.25,
"delta": -0.2607,
"percent_delta": -0.5105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"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": 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.2508,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3324,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5107,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2508,
"delta": 0.0008,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3324,
"delta": 0.0824,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.5107,
"delta": 0.2607,
"percent_delta": 1.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5107,
"delta": 0.2607,
"percent_delta": 1.0427,
"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.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 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.244,
"after": 0.2508,
"delta": 0.0068,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"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.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3324,
"delta": -0.0106,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.632,
"after": 1.0,
"delta": 0.368,
"percent_delta": 0.5823,
"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.471,
"after": 0.5107,
"delta": 0.0397,
"percent_delta": 0.0843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 2.0,
"delta": 1.074,
"percent_delta": 1.1598,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.926,
"after": 2.0,
"delta": 1.074,
"percent_delta": 1.1598,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"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.221 | - |
| predicted_3B | 0.118 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.632 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.926 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.194 | -0.027 |
| predicted_3B | 0.096 | -0.022 |
| predicted_AB | 3.906 | -0.124 |
| predicted_AVG | 0.249 | 0.005 |
| predicted_BB | 0.477 | -0.023 |
| predicted_H | 0.977 | -0.013 |
| predicted_HBP | 0.143 | - |
| predicted_HR | 0.208 | 0.008 |
| predicted_OBP | 0.349 | 0.006 |
| predicted_R | 0.584 | -0.048 |
| predicted_RBI | 0.472 | -0.018 |
| predicted_SLG | 0.487 | 0.016 |
| predicted_SO | 0.912 | -0.014 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.194 | 0.000 |
| predicted_3B | 0.096 | 0.000 |
| predicted_AB | 3.906 | 0.000 |
| predicted_AVG | 0.251 | 0.001 |
| predicted_BB | 0.478 | 0.000 |
| predicted_H | 0.980 | 0.002 |
| predicted_HBP | 0.143 | 0.000 |
| predicted_HR | 0.210 | 0.002 |
| predicted_OBP | 0.332 | -0.016 |
| predicted_R | 0.586 | 0.002 |
| predicted_RBI | 0.473 | 0.002 |
| predicted_SLG | 0.511 | 0.024 |
| predicted_SO | 0.911 | -0.001 |
AB rounded to 4 (raw=4.03), rates preserved: AVG=0.243 HR/AB=0.052
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.194 |
| predicted_3B | 0.000 | -0.096 |
| predicted_AB | 4.000 | 0.094 |
| predicted_AVG | 0.250 | -0.001 |
| predicted_BB | 0.000 | -0.478 |
| predicted_H | 1.000 | 0.020 |
| predicted_HR | 0.000 | -0.210 |
| predicted_OBP | 0.250 | -0.082 |
| predicted_R | 1.000 | 0.414 |
| predicted_RBI | 0.000 | -0.473 |
| predicted_SLG | 0.250 | -0.261 |
| 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 | 0.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 | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 4.000 | 0.2105 | 0.3478 | 0.3684 | 0.2105 | 0.0526 | 0.0526 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 1.000 | 0.000 | 4.000 | 5.000 | 5.000 | 4.000 | 9.000 | 0.2432 | 0.3488 | 0.5946 | 0.2432 | 0.1081 | 0.1351 | 0.1081 | 0.2432 |
| season | 0.60 | 68 | - | 252.000 | 70.000 | 15.000 | 8.000 | 12.000 | 34.000 | 43.000 | 34.000 | 63.000 | 0.2778 | 0.3699 | 0.5437 | 0.2778 | 0.0476 | 0.1349 | 0.1349 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1560 |
| predicted_3B | 0.0660 |
| predicted_AB | 3.7370 |
| predicted_AVG | 0.2568 |
| predicted_BB | 0.4460 |
| predicted_H | 0.9600 |
| predicted_HBP | 0.1430 |
| predicted_HR | 0.2180 |
| predicted_OBP | 0.3568 |
| predicted_R | 0.5190 |
| predicted_RBI | 0.4470 |
| predicted_SLG | 0.5086 |
| predicted_SO | 0.8930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2210 | 0.1560 | 0.1935 | model_form_blend |
| predicted_3B | 0.1180 | 0.0660 | 0.0960 | model_form_blend |
| predicted_AB | 4.0300 | 3.7370 | 3.9061 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2568 | 0.2494 | model_form_blend |
| predicted_BB | 0.5000 | 0.4460 | 0.4772 | model_form_blend |
| predicted_H | 0.9900 | 0.9600 | 0.9773 | model_form_blend |
| predicted_HBP | - | 0.1430 | 0.1430 | form_only |
| predicted_HR | 0.2000 | 0.2180 | 0.2076 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3568 | 0.3488 | model_form_blend |
| predicted_R | 0.6320 | 0.5190 | 0.5842 | model_form_blend |
| predicted_RBI | 0.4900 | 0.4470 | 0.4718 | model_form_blend |
| predicted_SLG | 0.4710 | 0.5086 | 0.4869 | model_form_blend |
| predicted_SO | 0.9260 | 0.8930 | 0.9120 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| 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.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 | RF |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 682998 |
| playerID | 682998 |
| playerName | Corbin Carroll |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.396 |
| sl_xwoba | 0.369 |
| sl_xba | 0.268 |
| sl_xslg | 0.491 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 13.4 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 45.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.132 | 0.000 | 0.000 | Hitting_2B | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_3B | 0.044 | 0.000 | 0.000 | Hitting_3B | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_AB | 3.850 | 2.000 | 4.000 | Hitting_AB | 3.511 | 3.000 | -1.511 | -1.000 |
| predicted_AVG | 0.249 | 0.000 | 0.250 | Hitting_AVG | 0.230 | 0.667 | -0.230 | -0.667 |
| predicted_BB | 0.574 | 2.000 | 1.000 | Hitting_BB | 0.639 | 1.000 | 1.361 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.060 | 1.000 | -0.060 | -1.000 |
| predicted_H | 0.960 | 0.000 | 1.000 | Hitting_H | 0.807 | 2.000 | -0.807 | -2.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.047 | 1.000 | -0.047 | -1.000 |
| predicted_OBP | 0.355 | 0.600 | 0.400 | Hitting_OBP | 0.345 | 0.750 | 0.255 | -0.150 |
| predicted_R | 0.441 | 0.000 | 0.000 | Hitting_R | 0.472 | 1.000 | -0.472 | -1.000 |
| predicted_RBI | 0.420 | 0.000 | 0.000 | Hitting_RBI | 0.356 | 2.000 | -0.356 | -2.000 |
| predicted_SLG | 0.383 | 0.000 | 0.250 | Hitting_SLG | 0.344 | 1.667 | -0.344 | -1.667 |
| predicted_SO | 0.500 | 1.000 | 1.000 | Hitting_SO | 0.549 | 0.000 | 0.451 | 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_BB: 0.5740 -> 2.0000 (boost 1.4260, better) |
| Biggest Deboost | predicted_AB: 3.8500 -> 2.0000 (deboost -1.8500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3550 -> 0.3624 (boost 0.0074, better) | predicted_AB: 3.8500 -> 3.6885 (deboost -0.1615, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3852 -> 0.3922 (boost 0.0070, better) | predicted_OBP: 0.3624 -> 0.3547 (deboost -0.0077, 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: 0.5051 -> 1.0000 (boost 0.4949, worse) | predicted_RBI: 0.3986 -> 0.0000 (deboost -0.3986, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.244 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4307 -> 0.0000 (deboost -0.4307, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3547 -> 0.4000 (boost 0.0453, better) | predicted_SLG: 0.3922 -> 0.2500 (deboost -0.1422, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 2 | 2 | predicted_BB: 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3922 (boost 0.1422, better) | predicted_OBP: 0.4000 -> 0.3547 (deboost -0.0453, 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.132,
"predicted_3B": 0.044,
"predicted_AB": 3.85,
"predicted_AVG": 0.249,
"predicted_BB": 0.574,
"predicted_H": 0.96,
"predicted_HR": 0.11,
"predicted_OBP": 0.355,
"predicted_R": 0.441,
"predicted_RBI": 0.42,
"predicted_SLG": 0.383,
"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.1139,
"predicted_3B": 0.036,
"predicted_AB": 3.6885,
"predicted_AVG": 0.2547,
"predicted_BB": 0.5681,
"predicted_H": 0.9389,
"predicted_HBP": 0.074,
"predicted_HR": 0.1054,
"predicted_OBP": 0.3624,
"predicted_R": 0.4292,
"predicted_RBI": 0.3972,
"predicted_SLG": 0.3852,
"predicted_SO": 0.5055
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1139,
"delta": -0.0181,
"percent_delta": -0.1371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.044,
"after": 0.036,
"delta": -0.008,
"percent_delta": -0.1818,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 3.6885,
"delta": -0.1615,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2547,
"delta": 0.0057,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 0.5681,
"delta": -0.0059,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 0.9389,
"delta": -0.0211,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1054,
"delta": -0.0046,
"percent_delta": -0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3624,
"delta": 0.0074,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.4292,
"delta": -0.0118,
"percent_delta": -0.0268,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.3972,
"delta": -0.0228,
"percent_delta": -0.0543,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3852,
"delta": 0.0022,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.5055,
"delta": 0.0055,
"percent_delta": 0.011,
"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.355,
"after": 0.3624,
"delta": 0.0074,
"percent_delta": 0.0208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 3.6885,
"delta": -0.1615,
"percent_delta": -0.0419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_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.036,
"predicted_AB": 3.6885,
"predicted_AVG": 0.2552,
"predicted_BB": 0.5686,
"predicted_H": 0.9412,
"predicted_HBP": 0.074,
"predicted_HR": 0.1065,
"predicted_OBP": 0.3547,
"predicted_R": 0.4307,
"predicted_RBI": 0.3986,
"predicted_SLG": 0.3922,
"predicted_SO": 0.5051
},
"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.036,
"after": 0.036,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6885,
"after": 3.6885,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2547,
"after": 0.2552,
"delta": 0.0005,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5681,
"after": 0.5686,
"delta": 0.0005,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9389,
"after": 0.9412,
"delta": 0.0023,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.074,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1054,
"after": 0.1065,
"delta": 0.0011,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3624,
"after": 0.3547,
"delta": -0.0077,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4292,
"after": 0.4307,
"delta": 0.0015,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3972,
"after": 0.3986,
"delta": 0.0014,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3852,
"after": 0.3922,
"delta": 0.007,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5055,
"after": 0.5051,
"delta": -0.0004,
"percent_delta": -0.0008,
"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.3852,
"after": 0.3922,
"delta": 0.007,
"percent_delta": 0.0182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3624,
"after": 0.3547,
"delta": -0.0077,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.85), rates preserved: AVG=0.244 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1139,
"after": 0.0,
"delta": -0.1139,
"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.6885,
"after": 4.0,
"delta": 0.3115,
"percent_delta": 0.0845,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5686,
"after": 1.0,
"delta": 0.4314,
"percent_delta": 0.7587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9412,
"after": 1.0,
"delta": 0.0588,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.074,
"after": 0.0,
"delta": -0.074,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1065,
"after": 0.0,
"delta": -0.1065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3986,
"after": 0.0,
"delta": -0.3986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5051,
"after": 1.0,
"delta": 0.4949,
"percent_delta": 0.9798,
"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.5051,
"after": 1.0,
"delta": 0.4949,
"percent_delta": 0.9798,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3986,
"after": 0.0,
"delta": -0.3986,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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": 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.4307,
"after": 0.0,
"delta": -0.4307,
"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.4307,
"after": 0.0,
"delta": -0.4307,
"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": 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.2552,
"after": 0.25,
"delta": -0.0052,
"percent_delta": -0.0204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3547,
"after": 0.4,
"delta": 0.0453,
"percent_delta": 0.1277,
"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.3922,
"after": 0.25,
"delta": -0.1422,
"percent_delta": -0.3626,
"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.3547,
"after": 0.4,
"delta": 0.0453,
"percent_delta": 0.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3922,
"after": 0.25,
"delta": -0.1422,
"percent_delta": -0.3626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2552,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3547,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3922,
"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": 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.2552,
"delta": 0.0052,
"percent_delta": 0.0207,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3547,
"delta": -0.0453,
"percent_delta": -0.1134,
"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.3922,
"delta": 0.1422,
"percent_delta": 0.5689,
"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.3922,
"delta": 0.1422,
"percent_delta": 0.5689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3547,
"delta": -0.0453,
"percent_delta": -0.1134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.044,
"after": 0.0,
"delta": -0.044,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 2.0,
"delta": -1.85,
"percent_delta": -0.4805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2552,
"delta": 0.0062,
"percent_delta": 0.0249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 2.0,
"delta": 1.426,
"percent_delta": 2.4843,
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.355,
"after": 0.3547,
"delta": -0.0003,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.0,
"delta": -0.441,
"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.383,
"after": 0.3922,
"delta": 0.0092,
"percent_delta": 0.024,
"direction": "boost",
"projection_effect": "better",
"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": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.574,
"after": 2.0,
"delta": 1.426,
"percent_delta": 2.4843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.85,
"after": 2.0,
"delta": -1.85,
"percent_delta": -0.4805,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.132 | - |
| predicted_3B | 0.044 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.574 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.355 | - |
| predicted_R | 0.441 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.383 | - |
| 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.114 | -0.018 |
| predicted_3B | 0.036 | -0.008 |
| predicted_AB | 3.688 | -0.162 |
| predicted_AVG | 0.255 | 0.006 |
| predicted_BB | 0.568 | -0.006 |
| predicted_H | 0.939 | -0.021 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.105 | -0.005 |
| predicted_OBP | 0.362 | 0.007 |
| predicted_R | 0.429 | -0.012 |
| predicted_RBI | 0.397 | -0.023 |
| predicted_SLG | 0.385 | 0.002 |
| predicted_SO | 0.505 | 0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | 0.000 |
| predicted_3B | 0.036 | 0.000 |
| predicted_AB | 3.688 | 0.000 |
| predicted_AVG | 0.255 | 0.001 |
| predicted_BB | 0.569 | 0.000 |
| predicted_H | 0.941 | 0.002 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.106 | 0.001 |
| predicted_OBP | 0.355 | -0.008 |
| predicted_R | 0.431 | 0.002 |
| predicted_RBI | 0.399 | 0.001 |
| predicted_SLG | 0.392 | 0.007 |
| predicted_SO | 0.505 | -0.000 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.244 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.036 |
| predicted_AB | 4.000 | 0.312 |
| predicted_AVG | 0.250 | -0.005 |
| predicted_BB | 1.000 | 0.431 |
| predicted_H | 1.000 | 0.059 |
| predicted_HR | 0.000 | -0.106 |
| predicted_OBP | 0.400 | 0.045 |
| predicted_R | 0.000 | -0.431 |
| predicted_RBI | 0.000 | -0.399 |
| predicted_SLG | 0.250 | -0.142 |
| predicted_SO | 1.000 | 0.495 |
Attached 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 | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 3.000 | 3.000 | 0.2353 | 0.3810 | 0.4118 | 0.2353 | 0.0588 | 0.1177 | 0.1765 | 0.1765 |
| last_10 | 0.20 | 10 | - | 34.000 | 12.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 6.000 | 3.000 | 0.3529 | 0.4634 | 0.4412 | 0.3529 | 0.0294 | 0.0882 | 0.1765 | 0.0882 |
| season | 0.60 | 68 | - | 234.000 | 57.000 | 9.000 | 3.000 | 4.000 | 24.000 | 30.000 | 39.000 | 34.000 | 0.2436 | 0.3500 | 0.3590 | 0.2436 | 0.0171 | 0.1026 | 0.1667 | 0.1453 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0890 |
| predicted_3B | 0.0250 |
| predicted_AB | 3.4670 |
| predicted_AVG | 0.2625 |
| predicted_BB | 0.5600 |
| predicted_H | 0.9100 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.0990 |
| predicted_OBP | 0.3726 |
| predicted_R | 0.4130 |
| predicted_RBI | 0.3660 |
| predicted_SLG | 0.3883 |
| predicted_SO | 0.5130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.0890 | 0.1139 | model_form_blend |
| predicted_3B | 0.0440 | 0.0250 | 0.0360 | model_form_blend |
| predicted_AB | 3.8500 | 3.4670 | 3.6885 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2625 | 0.2547 | model_form_blend |
| predicted_BB | 0.5740 | 0.5600 | 0.5681 | model_form_blend |
| predicted_H | 0.9600 | 0.9100 | 0.9389 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.1100 | 0.0990 | 0.1054 | model_form_blend |
| predicted_OBP | 0.3550 | 0.3726 | 0.3624 | model_form_blend |
| predicted_R | 0.4410 | 0.4130 | 0.4292 | model_form_blend |
| predicted_RBI | 0.4200 | 0.3660 | 0.3972 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3883 | 0.3852 | model_form_blend |
| predicted_SO | 0.5000 | 0.5130 | 0.5055 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.244 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| 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 | SS |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 672695 |
| playerID | 672695 |
| playerName | Geraldo Perdomo |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-14 |
| sl_k_percent | 12.1 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.313 |
| sl_xwoba | 0.333 |
| sl_xba | 0.265 |
| sl_xslg | 0.345 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 31.2 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 11.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.167 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.970 | 3.000 | 4.000 | Hitting_AB | 3.825 | 4.000 | -0.825 | -1.000 |
| predicted_AVG | 0.233 | 0.000 | 0.250 | Hitting_AVG | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_BB | 0.333 | 1.000 | 0.000 | Hitting_BB | 0.351 | 0.000 | 0.649 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 0.000 | 1.000 | Hitting_H | 0.876 | 0.000 | -0.876 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.290 | 0.250 | 0.250 | Hitting_OBP | 0.290 | 0.000 | -0.040 | 0.250 |
| predicted_R | 0.292 | 0.000 | 0.000 | Hitting_R | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_SLG | 0.364 | 0.000 | 0.250 | Hitting_SLG | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_SO | 0.792 | 0.000 | 1.000 | Hitting_SO | 0.742 | 1.000 | -0.742 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.3330 -> 1.0000 (boost 0.6670, better) |
| Biggest Deboost | predicted_AB: 3.9700 -> 3.0000 (deboost -0.9700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 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 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3604 -> 0.3541 (deboost -0.0063, 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: 0.8315 -> 1.0000 (boost 0.1685, worse) | predicted_RBI: 0.4373 -> 0.0000 (deboost -0.4373, worse) | AB rounded to 4 (raw=3.97), rates preserved: AVG=0.233 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3180 -> 0.0000 (deboost -0.3180, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2347 -> 0.2500 (boost 0.0153, better) | predicted_SLG: 0.3541 -> 0.2500 (deboost -0.1041, 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_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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3541 (boost 0.1041, better) | predicted_AVG: 0.2500 -> 0.2347 (deboost -0.0153, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666971",
"player_name": "Lourdes Gurriel Jr.",
"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.167,
"predicted_3B": 0.0,
"predicted_AB": 3.97,
"predicted_AVG": 0.233,
"predicted_BB": 0.333,
"predicted_H": 0.93,
"predicted_HR": 0.1,
"predicted_OBP": 0.29,
"predicted_R": 0.292,
"predicted_RBI": 0.44,
"predicted_SLG": 0.364,
"predicted_SO": 0.792
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1727,
"predicted_3B": 0.0011,
"predicted_AB": 3.9448,
"predicted_AVG": 0.2334,
"predicted_BB": 0.3043,
"predicted_H": 0.9235,
"predicted_HBP": 0.008,
"predicted_HR": 0.0977,
"predicted_OBP": 0.2867,
"predicted_R": 0.3169,
"predicted_RBI": 0.4358,
"predicted_SLG": 0.3604,
"predicted_SO": 0.8322
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1727,
"delta": 0.0057,
"percent_delta": 0.0341,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0011,
"delta": 0.0011,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.97,
"after": 3.9448,
"delta": -0.0252,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2334,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3043,
"delta": -0.0287,
"percent_delta": -0.0862,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9235,
"delta": -0.0065,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0977,
"delta": -0.0023,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2867,
"delta": -0.0033,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 0.3169,
"delta": 0.0249,
"percent_delta": 0.0853,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4358,
"delta": -0.0042,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3604,
"delta": -0.0036,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 0.8322,
"delta": 0.0402,
"percent_delta": 0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 5,
"last_10": 10,
"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.1727,
"predicted_3B": 0.0011,
"predicted_AB": 3.9448,
"predicted_AVG": 0.2347,
"predicted_BB": 0.3045,
"predicted_H": 0.9258,
"predicted_HBP": 0.008,
"predicted_HR": 0.0987,
"predicted_OBP": 0.2895,
"predicted_R": 0.318,
"predicted_RBI": 0.4373,
"predicted_SLG": 0.3541,
"predicted_SO": 0.8315
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1727,
"after": 0.1727,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9448,
"after": 3.9448,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2334,
"after": 0.2347,
"delta": 0.0013,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3043,
"after": 0.3045,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9235,
"after": 0.9258,
"delta": 0.0023,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0977,
"after": 0.0987,
"delta": 0.001,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2867,
"after": 0.2895,
"delta": 0.0028,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3169,
"after": 0.318,
"delta": 0.0011,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4358,
"after": 0.4373,
"delta": 0.0015,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3604,
"after": 0.3541,
"delta": -0.0063,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8322,
"after": 0.8315,
"delta": -0.0007,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3604,
"after": 0.3541,
"delta": -0.0063,
"percent_delta": -0.0175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.97), rates preserved: AVG=0.233 HR/AB=0.025",
"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.1727,
"after": 0.0,
"delta": -0.1727,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0,
"delta": -0.0011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9448,
"after": 4.0,
"delta": 0.0552,
"percent_delta": 0.014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3045,
"after": 0.0,
"delta": -0.3045,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9258,
"after": 1.0,
"delta": 0.0742,
"percent_delta": 0.0801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0987,
"after": 0.0,
"delta": -0.0987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4373,
"after": 0.0,
"delta": -0.4373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8315,
"after": 1.0,
"delta": 0.1685,
"percent_delta": 0.2026,
"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": 0.8315,
"after": 1.0,
"delta": 0.1685,
"percent_delta": 0.2026,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4373,
"after": 0.0,
"delta": -0.4373,
"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.318,
"after": 0.0,
"delta": -0.318,
"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.318,
"after": 0.0,
"delta": -0.318,
"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.2347,
"after": 0.25,
"delta": 0.0153,
"percent_delta": 0.0652,
"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.2895,
"after": 0.25,
"delta": -0.0395,
"percent_delta": -0.1364,
"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.3541,
"after": 0.25,
"delta": -0.1041,
"percent_delta": -0.294,
"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.2347,
"after": 0.25,
"delta": 0.0153,
"percent_delta": 0.0652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3541,
"after": 0.25,
"delta": -0.1041,
"percent_delta": -0.294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 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.2347,
"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.2895,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3541,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2347,
"delta": -0.0153,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2895,
"delta": 0.0395,
"percent_delta": 0.1582,
"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.3541,
"delta": 0.1041,
"percent_delta": 0.4165,
"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.3541,
"delta": 0.1041,
"percent_delta": 0.4165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2347,
"delta": -0.0153,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.97,
"after": 3.0,
"delta": -0.97,
"percent_delta": -0.2443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2347,
"delta": 0.0017,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2895,
"delta": -0.0005,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"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.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3541,
"delta": -0.0099,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 0.0,
"delta": -0.792,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.97,
"after": 3.0,
"delta": -0.97,
"percent_delta": -0.2443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.292 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.364 | - |
| predicted_SO | 0.792 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | 0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.945 | -0.025 |
| predicted_AVG | 0.233 | 0.000 |
| predicted_BB | 0.304 | -0.029 |
| predicted_H | 0.923 | -0.007 |
| predicted_HBP | 0.008 | - |
| predicted_HR | 0.098 | -0.002 |
| predicted_OBP | 0.287 | -0.003 |
| predicted_R | 0.317 | 0.025 |
| predicted_RBI | 0.436 | -0.004 |
| predicted_SLG | 0.360 | -0.004 |
| predicted_SO | 0.832 | 0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.945 | 0.000 |
| predicted_AVG | 0.235 | 0.001 |
| predicted_BB | 0.304 | 0.000 |
| predicted_H | 0.926 | 0.002 |
| predicted_HBP | 0.008 | 0.000 |
| predicted_HR | 0.099 | 0.001 |
| predicted_OBP | 0.289 | 0.003 |
| predicted_R | 0.318 | 0.001 |
| predicted_RBI | 0.437 | 0.002 |
| predicted_SLG | 0.354 | -0.006 |
| predicted_SO | 0.832 | -0.001 |
AB rounded to 4 (raw=3.97), rates preserved: AVG=0.233 HR/AB=0.025
| 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.173 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.055 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 0.000 | -0.304 |
| predicted_H | 1.000 | 0.074 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.250 | -0.039 |
| predicted_R | 0.000 | -0.318 |
| predicted_RBI | 0.000 | -0.437 |
| predicted_SLG | 0.250 | -0.104 |
| predicted_SO | 1.000 | 0.168 |
Attached 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 6.000 | 0.2857 | 0.2857 | 0.4762 | 0.2857 | 0.0476 | 0.0952 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 10 | - | 40.000 | 8.000 | 2.000 | 0.000 | 1.000 | 5.000 | 3.000 | 2.000 | 10.000 | 0.2000 | 0.2326 | 0.3250 | 0.2000 | 0.0250 | 0.1250 | 0.0500 | 0.2500 |
| season | 0.60 | 24 | - | 91.000 | 20.000 | 4.000 | 0.000 | 1.000 | 9.000 | 7.000 | 8.000 | 19.000 | 0.2198 | 0.2800 | 0.2967 | 0.2198 | 0.0110 | 0.0989 | 0.0879 | 0.2088 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.9040 |
| predicted_AVG | 0.2340 |
| predicted_BB | 0.2580 |
| predicted_H | 0.9130 |
| predicted_HBP | 0.0080 |
| predicted_HR | 0.0940 |
| predicted_OBP | 0.2813 |
| predicted_R | 0.3570 |
| predicted_RBI | 0.4290 |
| predicted_SLG | 0.3547 |
| predicted_SO | 0.8970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1820 | 0.1727 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 3.9700 | 3.9040 | 3.9448 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2340 | 0.2334 | model_form_blend |
| predicted_BB | 0.3330 | 0.2580 | 0.3043 | model_form_blend |
| predicted_H | 0.9300 | 0.9130 | 0.9235 | model_form_blend |
| predicted_HBP | - | 0.0080 | 0.0080 | form_only |
| predicted_HR | 0.1000 | 0.0940 | 0.0977 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2813 | 0.2867 | model_form_blend |
| predicted_R | 0.2920 | 0.3570 | 0.3169 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4290 | 0.4358 | model_form_blend |
| predicted_SLG | 0.3640 | 0.3547 | 0.3604 | model_form_blend |
| predicted_SO | 0.7920 | 0.8970 | 0.8322 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 24 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260521_COL@ARI |
| game_type | full |
| mlbID | 666971 |
| playerID | 666971 |
| playerName | Lourdes Gurriel Jr. |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-05-21 |
| game_pk | 825083.0 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.265 |
| sl_xwoba | 0.29 |
| sl_xba | 0.232 |
| sl_xslg | 0.326 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 52.6 |
| at_bat_number | 64.0 |
| ab_pitcher | 678020.0 |
| ab_pitcher_name | Halvorsen, Seth |
| ab_home_team | AZ |
| ab_away_team | COL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 545121.0 |
| ab_on_2b_start | 571448.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 1.0 |
| ab_event | strikeout |
| ab_event_description | Lourdes Gurriel Jr. strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FS |
| ab_pitch_name_last | Split-Finger |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 78.9 |
| ab_launch_angle_last | 33.0 |
| ab_hit_distance_last | 241.0 |
| ab_estimated_woba_last | 0.0 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 1.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 93.16666666666669 |
| ab_release_spin_rate_avg | 2240.333333333333 |
| ab_effective_speed_avg | 93.96666666666664 |
| ab_launch_speed_avg | 74.9 |
| ab_launch_angle_avg | 1.5 |
| ab_delta_run_exp_avg | -0.094 |
| ab_delta_home_win_exp_avg | -0.0303333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.094 |
| ab_bat_speed_avg | 71.66666666666667 |
| ab_swing_length_avg | 7.666666666666667 |
| ab_launch_speed_max | 78.9 |
| ab_hit_distance_sc_max | 241.0 |
| ab_release_speed_max | 100.2 |
| ab_release_spin_rate_max | 2665.0 |
| ab_release_speed_min | 87.3 |
| ab_release_spin_rate_min | 1684.0 |
| ab_delta_run_exp_sum | -0.282 |
| ab_delta_home_win_exp_sum | -0.091 |
| ab_delta_pitcher_run_exp_sum | 0.282 |
| 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.182 | 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.410 | 4.000 | 3.000 | Hitting_AB | 3.474 | 4.000 | 0.526 | 0.000 |
| predicted_AVG | 0.230 | 0.000 | 0.333 | Hitting_AVG | 0.269 | 0.250 | -0.269 | -0.250 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.790 | 0.000 | 1.000 | Hitting_H | 0.933 | 1.000 | -0.933 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.144 | 0.000 | -0.144 | 0.000 |
| predicted_OBP | 0.288 | 0.000 | 0.333 | Hitting_OBP | 0.352 | 0.250 | -0.352 | -0.250 |
| predicted_R | 0.455 | 0.000 | 0.000 | Hitting_R | 0.555 | 0.000 | -0.555 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.569 | 0.000 | -0.569 | 0.000 |
| predicted_SLG | 0.339 | 0.000 | 0.333 | Hitting_SLG | 0.460 | 0.250 | -0.460 | -0.250 |
| predicted_SO | 0.803 | 1.000 | 1.000 | Hitting_SO | 0.737 | 1.000 | 0.263 | 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: 3.4100 -> 4.0000 (boost 0.5900, better) |
| Biggest Deboost | predicted_H: 0.7900 -> 0.0000 (deboost -0.7900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 1 | 4 | predicted_SO: 0.8030 -> 0.8910 (boost 0.0880, worse) | predicted_R: 0.4550 -> 0.3993 (deboost -0.0557, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3245 -> 0.3398 (boost 0.0153, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_H: 0.7584 -> 1.0000 (boost 0.2416, better) | predicted_AB: 3.4632 -> 3.0000 (deboost -0.4632, worse) | AB rounded to 3 (raw=3.46), rates preserved: AVG=0.219 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4007 -> 0.0000 (deboost -0.4007, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2190 -> 0.3330 (boost 0.1140, better) | predicted_SLG: 0.3398 -> 0.3330 (deboost -0.0068, 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3398 (boost 0.0068, better) | predicted_AVG: 0.3330 -> 0.2190 (deboost -0.1140, 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.182,
"predicted_3B": 0.0,
"predicted_AB": 3.41,
"predicted_AVG": 0.23,
"predicted_BB": 0.333,
"predicted_H": 0.79,
"predicted_HR": 0.09,
"predicted_OBP": 0.288,
"predicted_R": 0.455,
"predicted_RBI": 0.39,
"predicted_SLG": 0.339,
"predicted_SO": 0.803
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1564,
"predicted_3B": 0.0004,
"predicted_AB": 3.4632,
"predicted_AVG": 0.2177,
"predicted_BB": 0.3343,
"predicted_H": 0.7565,
"predicted_HBP": 0.072,
"predicted_HR": 0.0862,
"predicted_OBP": 0.2841,
"predicted_R": 0.3993,
"predicted_RBI": 0.3795,
"predicted_SLG": 0.3245,
"predicted_SO": 0.891
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1564,
"delta": -0.0256,
"percent_delta": -0.1407,
"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.41,
"after": 3.4632,
"delta": 0.0532,
"percent_delta": 0.0156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2177,
"delta": -0.0123,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3343,
"delta": 0.0013,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.7565,
"delta": -0.0335,
"percent_delta": -0.0424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0862,
"delta": -0.0038,
"percent_delta": -0.0422,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2841,
"delta": -0.0039,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.3993,
"delta": -0.0557,
"percent_delta": -0.1224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3795,
"delta": -0.0105,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3245,
"delta": -0.0145,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.803,
"after": 0.891,
"delta": 0.088,
"percent_delta": 0.1096,
"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.803,
"after": 0.891,
"delta": 0.088,
"percent_delta": 0.1096,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.455,
"after": 0.3993,
"delta": -0.0557,
"percent_delta": -0.1224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1564,
"predicted_3B": 0.0004,
"predicted_AB": 3.4632,
"predicted_AVG": 0.219,
"predicted_BB": 0.3346,
"predicted_H": 0.7584,
"predicted_HBP": 0.072,
"predicted_HR": 0.0871,
"predicted_OBP": 0.2878,
"predicted_R": 0.4007,
"predicted_RBI": 0.3808,
"predicted_SLG": 0.3398,
"predicted_SO": 0.8903
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1564,
"after": 0.1564,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4632,
"after": 3.4632,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2177,
"after": 0.219,
"delta": 0.0013,
"percent_delta": 0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3343,
"after": 0.3346,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7565,
"after": 0.7584,
"delta": 0.0019,
"percent_delta": 0.0025,
"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.0862,
"after": 0.0871,
"delta": 0.0009,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2841,
"after": 0.2878,
"delta": 0.0037,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3993,
"after": 0.4007,
"delta": 0.0014,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3795,
"after": 0.3808,
"delta": 0.0013,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3245,
"after": 0.3398,
"delta": 0.0153,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.891,
"after": 0.8903,
"delta": -0.0007,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_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.3245,
"after": 0.3398,
"delta": 0.0153,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.46), rates preserved: AVG=0.219 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.1564,
"after": 0.0,
"delta": -0.1564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4632,
"after": 3.0,
"delta": -0.4632,
"percent_delta": -0.1337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3346,
"after": 0.0,
"delta": -0.3346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7584,
"after": 1.0,
"delta": 0.2416,
"percent_delta": 0.3186,
"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.0871,
"after": 0.0,
"delta": -0.0871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3808,
"after": 0.0,
"delta": -0.3808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8903,
"after": 1.0,
"delta": 0.1097,
"percent_delta": 0.1232,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7584,
"after": 1.0,
"delta": 0.2416,
"percent_delta": 0.3186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4632,
"after": 3.0,
"delta": -0.4632,
"percent_delta": -0.1337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.4007,
"after": 0.0,
"delta": -0.4007,
"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.4007,
"after": 0.0,
"delta": -0.4007,
"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.219,
"after": 0.333,
"delta": 0.114,
"percent_delta": 0.5205,
"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.2878,
"after": 0.333,
"delta": 0.0452,
"percent_delta": 0.1571,
"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.3398,
"after": 0.333,
"delta": -0.0068,
"percent_delta": -0.02,
"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.219,
"after": 0.333,
"delta": 0.114,
"percent_delta": 0.5205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3398,
"after": 0.333,
"delta": -0.0068,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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_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.219,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2878,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3398,
"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.333,
"after": 0.219,
"delta": -0.114,
"percent_delta": -0.3424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2878,
"delta": -0.0452,
"percent_delta": -0.1358,
"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.3398,
"delta": 0.0068,
"percent_delta": 0.0206,
"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.3398,
"delta": 0.0068,
"percent_delta": 0.0206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.219,
"delta": -0.114,
"percent_delta": -0.3424,
"direction": "deboost",
"projection_effect": "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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.41,
"after": 4.0,
"delta": 0.59,
"percent_delta": 0.173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.219,
"delta": -0.011,
"percent_delta": -0.0478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2878,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3398,
"delta": 0.0008,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.41,
"after": 4.0,
"delta": 0.59,
"percent_delta": 0.173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.79,
"after": 0.0,
"delta": -0.79,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.410 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.790 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.339 | - |
| predicted_SO | 0.803 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | -0.026 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.463 | 0.053 |
| predicted_AVG | 0.218 | -0.012 |
| predicted_BB | 0.334 | 0.001 |
| predicted_H | 0.756 | -0.034 |
| predicted_HBP | 0.072 | - |
| predicted_HR | 0.086 | -0.004 |
| predicted_OBP | 0.284 | -0.004 |
| predicted_R | 0.399 | -0.056 |
| predicted_RBI | 0.380 | -0.011 |
| predicted_SLG | 0.325 | -0.015 |
| predicted_SO | 0.891 | 0.088 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.463 | 0.000 |
| predicted_AVG | 0.219 | 0.001 |
| predicted_BB | 0.335 | 0.000 |
| predicted_H | 0.758 | 0.002 |
| predicted_HBP | 0.072 | 0.000 |
| predicted_HR | 0.087 | 0.001 |
| predicted_OBP | 0.288 | 0.004 |
| predicted_R | 0.401 | 0.001 |
| predicted_RBI | 0.381 | 0.001 |
| predicted_SLG | 0.340 | 0.015 |
| predicted_SO | 0.890 | -0.001 |
AB rounded to 3 (raw=3.46), rates preserved: AVG=0.219 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 | - |
Enforced H<=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.156 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.463 |
| predicted_AVG | 0.333 | 0.114 |
| predicted_BB | 0.000 | -0.335 |
| predicted_H | 1.000 | 0.242 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.333 | 0.045 |
| predicted_R | 0.000 | -0.401 |
| predicted_RBI | 0.000 | -0.381 |
| predicted_SLG | 0.333 | -0.007 |
| predicted_SO | 1.000 | 0.110 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 8.000 | 0.1053 | 0.1818 | 0.1053 | 0.1053 | 0.0000 | 0.0526 | 0.1053 | 0.4210 |
| last_10 | 0.20 | 10 | - | 36.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 12.000 | 0.1389 | 0.2195 | 0.1389 | 0.1389 | 0.0000 | 0.0278 | 0.0833 | 0.3333 |
| season | 0.60 | 66 | - | 222.000 | 54.000 | 12.000 | 0.000 | 8.000 | 31.000 | 30.000 | 22.000 | 53.000 | 0.2432 | 0.3241 | 0.4054 | 0.2432 | 0.0360 | 0.1396 | 0.0991 | 0.2387 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5370 |
| predicted_AVG | 0.2007 |
| predicted_BB | 0.3360 |
| predicted_H | 0.7100 |
| predicted_HBP | 0.0720 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.2788 |
| predicted_R | 0.3220 |
| predicted_RBI | 0.3650 |
| predicted_SLG | 0.3045 |
| predicted_SO | 1.0130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1210 | 0.1564 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4100 | 3.5370 | 3.4632 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2007 | 0.2177 | model_form_blend |
| predicted_BB | 0.3330 | 0.3360 | 0.3343 | model_form_blend |
| predicted_H | 0.7900 | 0.7100 | 0.7565 | model_form_blend |
| predicted_HBP | - | 0.0720 | 0.0720 | form_only |
| predicted_HR | 0.0900 | 0.0810 | 0.0862 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2788 | 0.2841 | model_form_blend |
| predicted_R | 0.4550 | 0.3220 | 0.3993 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3650 | 0.3795 | model_form_blend |
| predicted_SLG | 0.3390 | 0.3045 | 0.3245 | model_form_blend |
| predicted_SO | 0.8030 | 1.0130 | 0.8910 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 209 |
| Season rows before report date | 209 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.243 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 571448 |
| playerID | 571448 |
| playerName | Nolan Arenado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.324 |
| sl_xwoba | 0.308 |
| sl_xba | 0.242 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 30.8 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 24.4 |
| 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.143 | 1.000 | 0.000 | Hitting_2B | 0.143 | 0.000 | 0.857 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.143 | 4.000 | 3.000 | Hitting_AB | 3.095 | 4.000 | 0.905 | 0.000 |
| predicted_AVG | 0.293 | 0.500 | 0.333 | Hitting_AVG | 0.338 | 0.500 | 0.162 | 0.000 |
| predicted_BB | 0.143 | 0.000 | 0.000 | Hitting_BB | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.900 | 2.000 | 1.000 | Hitting_H | 1.048 | 2.000 | 0.952 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.379 | 0.500 | 0.333 | Hitting_OBP | 0.411 | 0.600 | 0.089 | -0.100 |
| predicted_R | 0.571 | 1.000 | 1.000 | Hitting_R | 0.524 | 1.000 | 0.476 | 0.000 |
| predicted_RBI | 0.530 | 1.000 | 1.000 | Hitting_RBI | 0.429 | 2.000 | 0.571 | -1.000 |
| predicted_SLG | 0.474 | 0.750 | 0.333 | Hitting_SLG | 0.523 | 0.500 | 0.227 | 0.250 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.9000 -> 2.0000 (boost 1.1000, better) |
| Biggest Deboost | predicted_SO: 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 | 5 | 5 | 0 | 5 | 0 | predicted_AB: 3.1430 -> 3.2441 (boost 0.1011, better) | - | Final model input calibrated with local 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.3876 -> 0.3376 (deboost -0.0500, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_RBI: 0.5625 -> 1.0000 (boost 0.4375, better) | predicted_AB: 3.2441 -> 3.0000 (deboost -0.2441, worse) | AB rounded to 3 (raw=3.24), rates preserved: AVG=0.302 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5902 -> 1.0000 (boost 0.4098, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.3024 -> 0.3330 (boost 0.0306, better) | predicted_SLG: 0.4751 -> 0.3330 (deboost -0.1421, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4751 (boost 0.1421, better) | predicted_AVG: 0.3330 -> 0.3024 (deboost -0.0306, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691783",
"player_name": "Jordan Lawlar",
"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.143,
"predicted_3B": 0.0,
"predicted_AB": 3.143,
"predicted_AVG": 0.293,
"predicted_BB": 0.143,
"predicted_H": 0.9,
"predicted_HR": 0.13,
"predicted_OBP": 0.379,
"predicted_R": 0.571,
"predicted_RBI": 0.53,
"predicted_SLG": 0.474,
"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.1346,
"predicted_3B": 0.002,
"predicted_AB": 3.2441,
"predicted_AVG": 0.3053,
"predicted_BB": 0.172,
"predicted_H": 0.9787,
"predicted_HBP": 0.21,
"predicted_HR": 0.139,
"predicted_OBP": 0.3876,
"predicted_R": 0.5881,
"predicted_RBI": 0.5605,
"predicted_SLG": 0.4847,
"predicted_SO": 0.9611
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1346,
"delta": -0.0084,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.002,
"delta": 0.002,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.143,
"after": 3.2441,
"delta": 0.1011,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.293,
"after": 0.3053,
"delta": 0.0123,
"percent_delta": 0.042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.172,
"delta": 0.029,
"percent_delta": 0.2028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9787,
"delta": 0.0787,
"percent_delta": 0.0874,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.139,
"delta": 0.009,
"percent_delta": 0.0692,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.379,
"after": 0.3876,
"delta": 0.0086,
"percent_delta": 0.0227,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 0.5881,
"delta": 0.0171,
"percent_delta": 0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5605,
"delta": 0.0305,
"percent_delta": 0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.4847,
"delta": 0.0107,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9611,
"delta": -0.0389,
"percent_delta": -0.0389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.143,
"after": 3.2441,
"delta": 0.1011,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 7,
"season": 7
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1346,
"predicted_3B": 0.002,
"predicted_AB": 3.2441,
"predicted_AVG": 0.3024,
"predicted_BB": 0.1721,
"predicted_H": 0.9811,
"predicted_HBP": 0.21,
"predicted_HR": 0.1405,
"predicted_OBP": 0.3376,
"predicted_R": 0.5902,
"predicted_RBI": 0.5625,
"predicted_SLG": 0.4751,
"predicted_SO": 0.9603
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1346,
"after": 0.1346,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2441,
"after": 3.2441,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3053,
"after": 0.3024,
"delta": -0.0029,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 0.1721,
"delta": 0.0001,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9787,
"after": 0.9811,
"delta": 0.0024,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.21,
"after": 0.21,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.139,
"after": 0.1405,
"delta": 0.0015,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3876,
"after": 0.3376,
"delta": -0.05,
"percent_delta": -0.129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5881,
"after": 0.5902,
"delta": 0.0021,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5605,
"after": 0.5625,
"delta": 0.002,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4847,
"after": 0.4751,
"delta": -0.0096,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9611,
"after": 0.9603,
"delta": -0.0008,
"percent_delta": -0.0008,
"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.3876,
"after": 0.3376,
"delta": -0.05,
"percent_delta": -0.129,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.24), rates preserved: AVG=0.302 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1346,
"after": 0.0,
"delta": -0.1346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2441,
"after": 3.0,
"delta": -0.2441,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1721,
"after": 0.0,
"delta": -0.1721,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9811,
"after": 1.0,
"delta": 0.0189,
"percent_delta": 0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1405,
"after": 0.0,
"delta": -0.1405,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5625,
"after": 1.0,
"delta": 0.4375,
"percent_delta": 0.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9603,
"after": 1.0,
"delta": 0.0397,
"percent_delta": 0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5625,
"after": 1.0,
"delta": 0.4375,
"percent_delta": 0.7778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.2441,
"after": 3.0,
"delta": -0.2441,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5902,
"after": 1.0,
"delta": 0.4098,
"percent_delta": 0.6943,
"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.5902,
"after": 1.0,
"delta": 0.4098,
"percent_delta": 0.6943,
"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": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3024,
"after": 0.333,
"delta": 0.0306,
"percent_delta": 0.1012,
"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.3376,
"after": 0.333,
"delta": -0.0046,
"percent_delta": -0.0136,
"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.4751,
"after": 0.333,
"delta": -0.1421,
"percent_delta": -0.2991,
"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.3024,
"after": 0.333,
"delta": 0.0306,
"percent_delta": 0.1012,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4751,
"after": 0.333,
"delta": -0.1421,
"percent_delta": -0.2991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3024,
"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.3376,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4751,
"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.333,
"after": 0.3024,
"delta": -0.0306,
"percent_delta": -0.0918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3376,
"delta": 0.0046,
"percent_delta": 0.0138,
"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.333,
"after": 0.4751,
"delta": 0.1421,
"percent_delta": 0.4267,
"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.333,
"after": 0.4751,
"delta": 0.1421,
"percent_delta": 0.4267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3024,
"delta": -0.0306,
"percent_delta": -0.0918,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.857,
"percent_delta": 5.993,
"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.143,
"after": 4.0,
"delta": 0.857,
"percent_delta": 0.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.293,
"after": 0.3024,
"delta": 0.0094,
"percent_delta": 0.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"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.379,
"after": 0.3376,
"delta": -0.0414,
"percent_delta": -0.1092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.571,
"after": 1.0,
"delta": 0.429,
"percent_delta": 0.7513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.0,
"delta": 0.47,
"percent_delta": 0.8868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.4751,
"delta": 0.0011,
"percent_delta": 0.0023,
"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": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9,
"after": 2.0,
"delta": 1.1,
"percent_delta": 1.2222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.143 | - |
| predicted_AVG | 0.293 | - |
| predicted_BB | 0.143 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.379 | - |
| predicted_R | 0.571 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.474 | - |
| 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.135 | -0.008 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.244 | 0.101 |
| predicted_AVG | 0.305 | 0.012 |
| predicted_BB | 0.172 | 0.029 |
| predicted_H | 0.979 | 0.079 |
| predicted_HBP | 0.210 | - |
| predicted_HR | 0.139 | 0.009 |
| predicted_OBP | 0.388 | 0.009 |
| predicted_R | 0.588 | 0.017 |
| predicted_RBI | 0.560 | 0.030 |
| predicted_SLG | 0.485 | 0.011 |
| predicted_SO | 0.961 | -0.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.135 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.244 | 0.000 |
| predicted_AVG | 0.302 | -0.003 |
| predicted_BB | 0.172 | 0.000 |
| predicted_H | 0.981 | 0.002 |
| predicted_HBP | 0.210 | 0.000 |
| predicted_HR | 0.141 | 0.002 |
| predicted_OBP | 0.338 | -0.050 |
| predicted_R | 0.590 | 0.002 |
| predicted_RBI | 0.562 | 0.002 |
| predicted_SLG | 0.475 | -0.010 |
| predicted_SO | 0.960 | -0.001 |
AB rounded to 3 (raw=3.24), rates preserved: AVG=0.302 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.135 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.244 |
| predicted_AVG | 0.333 | 0.031 |
| predicted_BB | 0.000 | -0.172 |
| predicted_H | 1.000 | 0.019 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.333 | -0.005 |
| predicted_R | 1.000 | 0.410 |
| predicted_RBI | 1.000 | 0.438 |
| predicted_SLG | 0.333 | -0.142 |
| predicted_SO | 1.000 | 0.040 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 7.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 4.000 | 0.4667 | 0.5556 | 0.6667 | 0.4667 | 0.0667 | 0.2667 | 0.0667 | 0.2667 |
| last_10 | 0.20 | 7 | - | 22.000 | 8.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 7.000 | 0.3636 | 0.4400 | 0.5455 | 0.3636 | 0.0454 | 0.1818 | 0.0454 | 0.3182 |
| season | 0.60 | 7 | - | 22.000 | 8.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 7.000 | 0.3636 | 0.4400 | 0.5455 | 0.3636 | 0.0454 | 0.1818 | 0.0454 | 0.3182 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1140 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.4910 |
| predicted_AVG | 0.3354 |
| predicted_BB | 0.2430 |
| predicted_H | 1.1710 |
| predicted_HBP | 0.2100 |
| predicted_HR | 0.1610 |
| predicted_OBP | 0.4085 |
| predicted_R | 0.6300 |
| predicted_RBI | 0.6350 |
| predicted_SLG | 0.5107 |
| predicted_SO | 0.8660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1140 | 0.1346 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0020 | model_form_blend |
| predicted_AB | 3.1430 | 3.4910 | 3.2441 | model_form_blend |
| predicted_AVG | 0.2930 | 0.3354 | 0.3053 | model_form_blend |
| predicted_BB | 0.1430 | 0.2430 | 0.1720 | model_form_blend |
| predicted_H | 0.9000 | 1.1710 | 0.9787 | model_form_blend |
| predicted_HBP | - | 0.2100 | 0.2100 | form_only |
| predicted_HR | 0.1300 | 0.1610 | 0.1390 | model_form_blend |
| predicted_OBP | 0.3790 | 0.4085 | 0.3876 | model_form_blend |
| predicted_R | 0.5710 | 0.6300 | 0.5881 | model_form_blend |
| predicted_RBI | 0.5300 | 0.6350 | 0.5605 | model_form_blend |
| predicted_SLG | 0.4740 | 0.5107 | 0.4847 | model_form_blend |
| predicted_SO | 1.0000 | 0.8660 | 0.9611 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 7 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.364 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 2 |
| 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 | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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-LF |
| gameID | 20260612_ARI@CIN |
| game_type | full |
| mlbID | 691783 |
| playerID | 691783 |
| playerName | Jordan Lawlar |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-12 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 4.0 |
| sl_woba | 0.435 |
| sl_xwoba | 0.386 |
| sl_xba | 0.311 |
| sl_xslg | 0.479 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 20.6 |
| sl_whiff_percent | 27.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.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.611 | 4.000 | 1.389 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.333 | Hitting_AVG | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_BB | 0.517 | 0.000 | 1.000 | Hitting_BB | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.530 | 0.000 | 1.000 | Hitting_H | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.500 | Hitting_OBP | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_R | 0.172 | 0.000 | 0.000 | Hitting_R | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SLG | 0.283 | 0.000 | 0.333 | Hitting_SLG | 0.128 | 0.000 | -0.128 | 0.000 |
| predicted_SO | 0.776 | 1.000 | 1.000 | Hitting_SO | 0.833 | 0.000 | 0.167 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_H: 0.5300 -> 0.0000 (deboost -0.5300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.5000 -> 2.6985 (boost 0.1985, better) | predicted_AVG: 0.2370 -> 0.2163 (deboost -0.0207, 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.2830 -> 0.3222 (boost 0.0392, better) | predicted_AVG: 0.2163 -> 0.1977 (deboost -0.0186, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.4958 -> 1.0000 (boost 0.5042, better) | predicted_RBI: 0.3222 -> 0.0000 (deboost -0.3222, worse) | AB rounded to 3 (raw=2.70), rates preserved: AVG=0.198 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2107 -> 0.0000 (deboost -0.2107, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3222 -> 0.5000 (boost 0.1778, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 1 | 2 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_BB: 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_OBP: 0.5000 -> 0.3222 (deboost -0.1778, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656976",
"player_name": "Pavin Smith",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.237,
"predicted_BB": 0.517,
"predicted_H": 0.53,
"predicted_HR": 0.06,
"predicted_OBP": 0.286,
"predicted_R": 0.172,
"predicted_RBI": 0.31,
"predicted_SLG": 0.283,
"predicted_SO": 0.776
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0219,
"predicted_3B": 0.0019,
"predicted_AB": 2.6985,
"predicted_AVG": 0.2163,
"predicted_BB": 0.4954,
"predicted_H": 0.5322,
"predicted_HBP": 0.013,
"predicted_HR": 0.0562,
"predicted_OBP": 0.283,
"predicted_R": 0.21,
"predicted_RBI": 0.3211,
"predicted_SLG": 0.2706,
"predicted_SO": 0.7919
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0219,
"delta": 0.0219,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0019,
"delta": 0.0019,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6985,
"delta": 0.1985,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2163,
"delta": -0.0207,
"percent_delta": -0.0873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.517,
"after": 0.4954,
"delta": -0.0216,
"percent_delta": -0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 0.5322,
"delta": 0.0022,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0562,
"delta": -0.0038,
"percent_delta": -0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.283,
"delta": -0.003,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.172,
"after": 0.21,
"delta": 0.038,
"percent_delta": 0.2209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.3211,
"delta": 0.0111,
"percent_delta": 0.0358,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.283,
"after": 0.2706,
"delta": -0.0124,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 0.7919,
"delta": 0.0159,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6985,
"delta": 0.1985,
"percent_delta": 0.0794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2163,
"delta": -0.0207,
"percent_delta": -0.0873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 12
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0219,
"predicted_3B": 0.0019,
"predicted_AB": 2.6985,
"predicted_AVG": 0.1977,
"predicted_BB": 0.4958,
"predicted_H": 0.5335,
"predicted_HBP": 0.013,
"predicted_HR": 0.0568,
"predicted_OBP": 0.3222,
"predicted_R": 0.2107,
"predicted_RBI": 0.3222,
"predicted_SLG": 0.2704,
"predicted_SO": 0.7913
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0219,
"after": 0.0219,
"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": 2.6985,
"after": 2.6985,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2163,
"after": 0.1977,
"delta": -0.0186,
"percent_delta": -0.086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4954,
"after": 0.4958,
"delta": 0.0004,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5322,
"after": 0.5335,
"delta": 0.0013,
"percent_delta": 0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0562,
"after": 0.0568,
"delta": 0.0006,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.3222,
"delta": 0.0392,
"percent_delta": 0.1385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.21,
"after": 0.2107,
"delta": 0.0007,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3211,
"after": 0.3222,
"delta": 0.0011,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2706,
"after": 0.2704,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7919,
"after": 0.7913,
"delta": -0.0006,
"percent_delta": -0.0008,
"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.283,
"after": 0.3222,
"delta": 0.0392,
"percent_delta": 0.1385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2163,
"after": 0.1977,
"delta": -0.0186,
"percent_delta": -0.086,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.70), rates preserved: AVG=0.198 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0219,
"after": 0.0,
"delta": -0.0219,
"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": 2.6985,
"after": 3.0,
"delta": 0.3015,
"percent_delta": 0.1117,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4958,
"after": 1.0,
"delta": 0.5042,
"percent_delta": 1.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5335,
"after": 1.0,
"delta": 0.4665,
"percent_delta": 0.8744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0568,
"after": 0.0,
"delta": -0.0568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3222,
"after": 0.0,
"delta": -0.3222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7913,
"after": 1.0,
"delta": 0.2087,
"percent_delta": 0.2637,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4958,
"after": 1.0,
"delta": 0.5042,
"percent_delta": 1.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3222,
"after": 0.0,
"delta": -0.3222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2107,
"after": 0.0,
"delta": -0.2107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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.2107,
"after": 0.0,
"delta": -0.2107,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"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.1977,
"after": 0.333,
"delta": 0.1353,
"percent_delta": 0.6844,
"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.3222,
"after": 0.5,
"delta": 0.1778,
"percent_delta": 0.5518,
"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.2704,
"after": 0.333,
"delta": 0.0626,
"percent_delta": 0.2315,
"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.3222,
"after": 0.5,
"delta": 0.1778,
"percent_delta": 0.5518,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1977,
"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.3222,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2704,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1977,
"delta": -0.1353,
"percent_delta": -0.4063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3222,
"delta": -0.1778,
"percent_delta": -0.3555,
"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.2704,
"delta": -0.0626,
"percent_delta": -0.188,
"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.5,
"after": 0.3222,
"delta": -0.1778,
"percent_delta": -0.3555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.1977,
"delta": -0.0393,
"percent_delta": -0.1658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.517,
"after": 0.0,
"delta": -0.517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.3222,
"delta": 0.0362,
"percent_delta": 0.1266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.172,
"after": 0.0,
"delta": -0.172,
"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.283,
"after": 0.2704,
"delta": -0.0126,
"percent_delta": -0.0445,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.776,
"after": 1.0,
"delta": 0.224,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.517 | - |
| predicted_H | 0.530 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.172 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.283 | - |
| predicted_SO | 0.776 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.022 | 0.022 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.699 | 0.199 |
| predicted_AVG | 0.216 | -0.021 |
| predicted_BB | 0.495 | -0.022 |
| predicted_H | 0.532 | 0.002 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.056 | -0.004 |
| predicted_OBP | 0.283 | -0.003 |
| predicted_R | 0.210 | 0.038 |
| predicted_RBI | 0.321 | 0.011 |
| predicted_SLG | 0.271 | -0.012 |
| predicted_SO | 0.792 | 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.022 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.699 | 0.000 |
| predicted_AVG | 0.198 | -0.019 |
| predicted_BB | 0.496 | 0.000 |
| predicted_H | 0.533 | 0.001 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.057 | 0.001 |
| predicted_OBP | 0.322 | 0.039 |
| predicted_R | 0.211 | 0.001 |
| predicted_RBI | 0.322 | 0.001 |
| predicted_SLG | 0.270 | -0.000 |
| predicted_SO | 0.791 | -0.001 |
AB rounded to 3 (raw=2.70), rates preserved: AVG=0.198 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.022 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.301 |
| predicted_AVG | 0.333 | 0.135 |
| predicted_BB | 1.000 | 0.504 |
| predicted_H | 1.000 | 0.467 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.500 | 0.178 |
| predicted_R | 0.000 | -0.211 |
| predicted_RBI | 0.000 | -0.322 |
| predicted_SLG | 0.333 | 0.063 |
| predicted_SO | 1.000 | 0.209 |
Attached 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 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 4.000 | 0.1333 | 0.2632 | 0.1333 | 0.1333 | 0.0000 | 0.0667 | 0.2000 | 0.2667 |
| last_10 | 0.20 | 10 | - | 23.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 4.000 | 7.000 | 0.0870 | 0.2143 | 0.0870 | 0.0870 | 0.0000 | 0.0870 | 0.1739 | 0.3044 |
| season | 0.60 | 12 | - | 29.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 6.000 | 9.000 | 0.1034 | 0.2500 | 0.1034 | 0.1035 | 0.0000 | 0.1035 | 0.2069 | 0.3103 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0690 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.1260 |
| predicted_AVG | 0.1717 |
| predicted_BB | 0.4490 |
| predicted_H | 0.5370 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.2764 |
| predicted_R | 0.2920 |
| predicted_RBI | 0.3450 |
| predicted_SLG | 0.2440 |
| predicted_SO | 0.8260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0690 | 0.0219 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 2.5000 | 3.1260 | 2.6985 | model_form_blend |
| predicted_AVG | 0.2370 | 0.1717 | 0.2163 | model_form_blend |
| predicted_BB | 0.5170 | 0.4490 | 0.4954 | model_form_blend |
| predicted_H | 0.5300 | 0.5370 | 0.5322 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0600 | 0.0480 | 0.0562 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2764 | 0.2830 | model_form_blend |
| predicted_R | 0.1720 | 0.2920 | 0.2100 | model_form_blend |
| predicted_RBI | 0.3100 | 0.3450 | 0.3211 | model_form_blend |
| predicted_SLG | 0.2830 | 0.2440 | 0.2706 | model_form_blend |
| predicted_SO | 0.7760 | 0.8260 | 0.7919 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.103 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260613_ARI@CIN |
| game_type | full |
| mlbID | 656976 |
| playerID | 656976 |
| playerName | Pavin Smith |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-13 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 16.7 |
| sl_woba | 0.191 |
| sl_xwoba | 0.25 |
| sl_xba | 0.141 |
| sl_xslg | 0.172 |
| sl_sweet_spot_percent | 19.0 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 18.5 |
| sl_swing_percent | 43.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.111 | 0.000 | 0.000 | Hitting_2B | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.167 | 4.000 | 3.000 | Hitting_AB | 3.034 | 3.000 | 0.966 | 1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.333 | Hitting_AVG | 0.295 | 0.333 | -0.295 | -0.333 |
| predicted_BB | 0.444 | 0.000 | 0.000 | Hitting_BB | 0.448 | 0.000 | -0.448 | 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.897 | 1.000 | -0.897 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.069 | 1.000 | -0.069 | -1.000 |
| predicted_OBP | 0.301 | 0.000 | 0.333 | Hitting_OBP | 0.386 | 0.333 | -0.386 | -0.333 |
| predicted_R | 0.611 | 0.000 | 1.000 | Hitting_R | 0.828 | 1.000 | -0.828 | -1.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.069 | 1.000 | -0.069 | -1.000 |
| predicted_SLG | 0.363 | 0.000 | 0.333 | Hitting_SLG | 0.455 | 1.333 | -0.455 | -1.333 |
| predicted_SO | 0.722 | 1.000 | 1.000 | Hitting_SO | 0.517 | 1.000 | 0.483 | 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_AB: 3.1670 -> 4.0000 (boost 0.8330, 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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.1670 -> 3.2539 (boost 0.0869, better) | predicted_AVG: 0.2410 -> 0.2302 (deboost -0.0108, 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.2302 -> 0.2079 (deboost -0.0223, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.6764 -> 1.0000 (boost 0.3236, better) | predicted_BB: 0.4321 -> 0.0000 (deboost -0.4321, worse) | AB rounded to 3 (raw=3.25), rates preserved: AVG=0.208 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5920 -> 1.0000 (boost 0.4080, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2079 -> 0.3330 (boost 0.1251, better) | predicted_SLG: 0.3444 -> 0.3330 (deboost -0.0114, 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3444 (boost 0.0114, better) | predicted_AVG: 0.3330 -> 0.2079 (deboost -0.1251, 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.111,
"predicted_3B": 0.0,
"predicted_AB": 3.167,
"predicted_AVG": 0.241,
"predicted_BB": 0.444,
"predicted_H": 0.65,
"predicted_HR": 0.1,
"predicted_OBP": 0.301,
"predicted_R": 0.611,
"predicted_RBI": 0.27,
"predicted_SLG": 0.363,
"predicted_SO": 0.722
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1078,
"predicted_3B": 0.0014,
"predicted_AB": 3.2539,
"predicted_AVG": 0.2302,
"predicted_BB": 0.4318,
"predicted_H": 0.6747,
"predicted_HBP": 0.01,
"predicted_HR": 0.11,
"predicted_OBP": 0.3001,
"predicted_R": 0.5899,
"predicted_RBI": 0.2568,
"predicted_SLG": 0.3605,
"predicted_SO": 0.7703
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1078,
"delta": -0.0032,
"percent_delta": -0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.167,
"after": 3.2539,
"delta": 0.0869,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2302,
"delta": -0.0108,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.4318,
"delta": -0.0122,
"percent_delta": -0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.6747,
"delta": 0.0247,
"percent_delta": 0.038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.11,
"delta": 0.01,
"percent_delta": 0.1,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.3001,
"delta": -0.0009,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.611,
"after": 0.5899,
"delta": -0.0211,
"percent_delta": -0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2568,
"delta": -0.0132,
"percent_delta": -0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3605,
"delta": -0.0025,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 0.7703,
"delta": 0.0483,
"percent_delta": 0.0669,
"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_AB",
"before": 3.167,
"after": 3.2539,
"delta": 0.0869,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2302,
"delta": -0.0108,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1078,
"predicted_3B": 0.0014,
"predicted_AB": 3.2539,
"predicted_AVG": 0.2079,
"predicted_BB": 0.4321,
"predicted_H": 0.6764,
"predicted_HBP": 0.01,
"predicted_HR": 0.1112,
"predicted_OBP": 0.3007,
"predicted_R": 0.592,
"predicted_RBI": 0.2577,
"predicted_SLG": 0.3444,
"predicted_SO": 0.7697
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1078,
"after": 0.1078,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2539,
"after": 3.2539,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.2079,
"delta": -0.0223,
"percent_delta": -0.0969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4318,
"after": 0.4321,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6747,
"after": 0.6764,
"delta": 0.0017,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.01,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1112,
"delta": 0.0012,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3001,
"after": 0.3007,
"delta": 0.0006,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5899,
"after": 0.592,
"delta": 0.0021,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2568,
"after": 0.2577,
"delta": 0.0009,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3605,
"after": 0.3444,
"delta": -0.0161,
"percent_delta": -0.0447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7703,
"after": 0.7697,
"delta": -0.0006,
"percent_delta": -0.0008,
"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.2302,
"after": 0.2079,
"delta": -0.0223,
"percent_delta": -0.0969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.25), rates preserved: AVG=0.208 HR/AB=0.034",
"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.1078,
"after": 0.0,
"delta": -0.1078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2539,
"after": 3.0,
"delta": -0.2539,
"percent_delta": -0.078,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4321,
"after": 0.0,
"delta": -0.4321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6764,
"after": 1.0,
"delta": 0.3236,
"percent_delta": 0.4784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1112,
"after": 0.0,
"delta": -0.1112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2577,
"after": 0.0,
"delta": -0.2577,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7697,
"after": 1.0,
"delta": 0.2303,
"percent_delta": 0.2992,
"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_H",
"before": 0.6764,
"after": 1.0,
"delta": 0.3236,
"percent_delta": 0.4784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4321,
"after": 0.0,
"delta": -0.4321,
"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.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"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.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"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.2079,
"after": 0.333,
"delta": 0.1251,
"percent_delta": 0.6017,
"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.3007,
"after": 0.333,
"delta": 0.0323,
"percent_delta": 0.1074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3444,
"after": 0.333,
"delta": -0.0114,
"percent_delta": -0.0331,
"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.2079,
"after": 0.333,
"delta": 0.1251,
"percent_delta": 0.6017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3444,
"after": 0.333,
"delta": -0.0114,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 1,
"deboosted_metrics": 2,
"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.2079,
"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.3007,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3444,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2079,
"delta": -0.1251,
"percent_delta": -0.3758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3007,
"delta": -0.0323,
"percent_delta": -0.0969,
"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.3444,
"delta": 0.0114,
"percent_delta": 0.0341,
"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.3444,
"delta": 0.0114,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2079,
"delta": -0.1251,
"percent_delta": -0.3758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"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.167,
"after": 4.0,
"delta": 0.833,
"percent_delta": 0.263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2079,
"delta": -0.0331,
"percent_delta": -0.1373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"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.301,
"after": 0.3007,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.611,
"after": 0.0,
"delta": -0.611,
"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.363,
"after": 0.3444,
"delta": -0.0186,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.722,
"after": 1.0,
"delta": 0.278,
"percent_delta": 0.385,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.167,
"after": 4.0,
"delta": 0.833,
"percent_delta": 0.263,
"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.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.167 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.444 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.611 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.363 | - |
| predicted_SO | 0.722 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | -0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.254 | 0.087 |
| predicted_AVG | 0.230 | -0.011 |
| predicted_BB | 0.432 | -0.012 |
| predicted_H | 0.675 | 0.025 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.110 | 0.010 |
| predicted_OBP | 0.300 | -0.001 |
| predicted_R | 0.590 | -0.021 |
| predicted_RBI | 0.257 | -0.013 |
| predicted_SLG | 0.360 | -0.003 |
| predicted_SO | 0.770 | 0.048 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.254 | 0.000 |
| predicted_AVG | 0.208 | -0.022 |
| predicted_BB | 0.432 | 0.000 |
| predicted_H | 0.676 | 0.002 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.111 | 0.001 |
| predicted_OBP | 0.301 | 0.001 |
| predicted_R | 0.592 | 0.002 |
| predicted_RBI | 0.258 | 0.001 |
| predicted_SLG | 0.344 | -0.016 |
| predicted_SO | 0.770 | -0.001 |
AB rounded to 3 (raw=3.25), rates preserved: AVG=0.208 HR/AB=0.034
| 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.108 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.254 |
| predicted_AVG | 0.333 | 0.125 |
| predicted_BB | 0.000 | -0.432 |
| predicted_H | 1.000 | 0.324 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.333 | 0.032 |
| predicted_R | 1.000 | 0.408 |
| predicted_RBI | 0.000 | -0.258 |
| predicted_SLG | 0.333 | -0.011 |
| predicted_SO | 1.000 | 0.230 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 6.000 | 0.1176 | 0.2105 | 0.2941 | 0.1177 | 0.0588 | 0.0588 | 0.1177 | 0.3529 |
| last_10 | 0.20 | 10 | - | 31.000 | 5.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 5.000 | 9.000 | 0.1613 | 0.2778 | 0.2581 | 0.1613 | 0.0323 | 0.0323 | 0.1613 | 0.2903 |
| season | 0.60 | 18 | - | 57.000 | 13.000 | 2.000 | 0.000 | 2.000 | 2.000 | 11.000 | 8.000 | 13.000 | 0.2281 | 0.3231 | 0.3684 | 0.2281 | 0.0351 | 0.0351 | 0.1404 | 0.2281 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.4100 |
| predicted_AVG | 0.2109 |
| predicted_BB | 0.4100 |
| predicted_H | 0.7190 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.1280 |
| predicted_OBP | 0.2985 |
| predicted_R | 0.5520 |
| predicted_RBI | 0.2330 |
| predicted_SLG | 0.3561 |
| predicted_SO | 0.8570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1020 | 0.1078 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 3.1670 | 3.4100 | 3.2539 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2109 | 0.2302 | model_form_blend |
| predicted_BB | 0.4440 | 0.4100 | 0.4318 | model_form_blend |
| predicted_H | 0.6500 | 0.7190 | 0.6747 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1000 | 0.1280 | 0.1100 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2985 | 0.3001 | model_form_blend |
| predicted_R | 0.6110 | 0.5520 | 0.5899 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2330 | 0.2568 | model_form_blend |
| predicted_SLG | 0.3630 | 0.3561 | 0.3605 | model_form_blend |
| predicted_SO | 0.7220 | 0.8570 | 0.7703 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 18 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.228 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 694371 |
| playerID | 694371 |
| playerName | Tommy Troy |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-14 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.295 |
| sl_xwoba | 0.312 |
| sl_xba | 0.227 |
| sl_xslg | 0.369 |
| sl_sweet_spot_percent | 23.8 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 26.2 |
| sl_exit_velocity_avg | 85.0 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 28.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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.571 | 1.000 | 1.429 | 2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 3.143 | 7.000 | -1.143 | -5.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.143 | 8.000 | 0.857 | -2.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.236 | 4.000 | -0.136 | 1.100 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 4.071 | 2.000 | -1.071 | 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: 8.0000 -> 5.1000 (deboost -2.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 8.0000 -> 5.1000 (deboost -2.9000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669194",
"player_name": "Ryne Nelson",
"position": "Starter",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 8.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 8.0,
"after": 5.1,
"delta": -2.9,
"percent_delta": -0.3625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 8.0,
"after": 5.1,
"delta": -2.9,
"percent_delta": -0.3625,
"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": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_R": 2.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.1,
"after": 5.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 8.0,
"after": 5.1,
"delta": -2.9,
"percent_delta": -0.3625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 8.0,
"after": 5.1,
"delta": -2.9,
"percent_delta": -0.3625,
"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 | 2.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 8.000 | - |
| predicted_SO | 3.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.100 | -2.900 |
| predicted_SO | 3.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 31.100 | 17.000 | 34.000 | 8.000 | 14.000 | 8.000 | 4.8830 | 1.3404 | 0.5425 | 1.0851 | 0.2553 | 0.4468 | 0.2553 |
| last_10 | 0.35 | 10 | 56.000 | 36.000 | 59.000 | 14.000 | 38.000 | 13.000 | 5.7857 | 1.3036 | 0.6429 | 1.0536 | 0.2500 | 0.6786 | 0.2321 |
| season | 0.20 | 14 | 76.100 | 44.000 | 72.000 | 22.000 | 57.000 | 17.000 | 5.1878 | 1.2314 | 0.5764 | 0.9432 | 0.2882 | 0.7467 | 0.2227 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8490 |
| predicted_ER | 3.6220 |
| predicted_ERA | 5.0516 |
| predicted_H | 6.6230 |
| predicted_HR | 1.3910 |
| predicted_IP | 6.1000 |
| predicted_SO | 4.3810 |
| predicted_WHIP | 1.3130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.8490 | 2.3798 | model_form_blend |
| predicted_ER | 2.0000 | 3.6220 | 2.8739 | model_form_blend |
| predicted_ERA | - | 5.0516 | 5.0516 | form_only |
| predicted_H | 6.0000 | 6.6230 | 6.3357 | model_form_blend |
| predicted_HR | 1.0000 | 1.3910 | 1.2107 | model_form_blend |
| predicted_IP | 8.0000 | 6.1000 | 7.1000 | model_form_blend |
| predicted_SO | 3.0000 | 4.3810 | 3.7441 | model_form_blend |
| predicted_WHIP | - | 1.3130 | 1.3130 | 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 | 5.1 |
| H | 6 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 3 |
| HR | 1 |
| BF | 25 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 22 |
| Pitching_ER | 7 |
| Pitching_ERA | 5.19 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 3 |
| Pitching_H | 8 |
| Pitching_HBP | 2 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 82 |
| Pitching_R | 7 |
| Pitching_SO | 2 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260610_ARI@MIA |
| game_type | full |
| mlbID | 669194 |
| playerID | 669194 |
| playerName | Ryne Nelson |
| pos | P |
| started | True |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-06-10 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.335 |
| sl_xwoba | 0.357 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 43.8 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 53.6 |
| sl_avg_best_speed | 80.415544876 |
| sl_avg_hyper_speed | 94.759938672 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.050 | 1.000 | -0.050 | 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 | 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": "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": 1.0,
"predicted_H": 1.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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.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 | 1.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 | 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.1380 |
| predicted_ER | 0.1900 |
| predicted_ERA | 4.0903 |
| predicted_H | 0.3870 |
| predicted_HR | 0.0560 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3880 |
| predicted_WHIP | 1.2567 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1380 | 0.0363 | model_form_blend |
| predicted_ER | 1.0000 | 0.1900 | 0.7868 | model_form_blend |
| predicted_ERA | - | 4.0903 | 4.0903 | form_only |
| predicted_H | 1.0000 | 0.3870 | 0.8386 | model_form_blend |
| predicted_HR | 1.0000 | 0.0560 | 0.7515 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3880 | 0.8389 | model_form_blend |
| predicted_WHIP | - | 1.2567 | 1.2567 | 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.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 | 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 | 16.0 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.286 |
| sl_xwoba | 0.301 |
| sl_sweet_spot_percent | 27.2 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 51.7 |
| 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 | 76.07635641 |
| sl_avg_hyper_speed | 93.959975385 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.000 | 2.000 | 0.000 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.000 | 1.000 | 1.000 | 1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.600 | 0.200 | -0.400 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.500 | 0.000 | 0.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_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": "666661",
"player_name": "Juan Morillo",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 0.2,
"delta": 0.1,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 2 | 1.200 | 2.000 | 2.000 | 2.000 | 1.000 | 1.000 | 10.8000 | 2.4000 | 1.2000 | 1.2000 | 1.2000 | 0.6000 | 0.6000 |
| last_10 | 0.35 | 2 | 1.200 | 2.000 | 2.000 | 2.000 | 1.000 | 1.000 | 10.8000 | 2.4000 | 1.2000 | 1.2000 | 1.2000 | 0.6000 | 0.6000 |
| season | 0.20 | 2 | 1.200 | 2.000 | 2.000 | 2.000 | 1.000 | 1.000 | 10.8000 | 2.4000 | 1.2000 | 1.2000 | 1.2000 | 0.6000 | 0.6000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1460 |
| predicted_ER | 0.1910 |
| predicted_ERA | 4.8603 |
| predicted_H | 0.3490 |
| predicted_HR | 0.0610 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3230 |
| predicted_WHIP | 1.3992 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1460 | 0.0370 | model_form_blend |
| predicted_ER | 1.0000 | 0.1910 | 0.7948 | model_form_blend |
| predicted_ERA | - | 4.8603 | 4.8603 | form_only |
| predicted_H | 2.0000 | 0.3490 | 1.5812 | model_form_blend |
| predicted_HR | 0.0000 | 0.0610 | 0.0155 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3230 | 0.8283 | model_form_blend |
| predicted_WHIP | - | 1.3992 | 1.3992 | 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 | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 10.80 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260328_ARI@LAD |
| game_type | full |
| mlbID | 666661 |
| playerID | 666661 |
| playerName | Juan Morillo |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-28 |
| game_pk | 823973.0 |
| sl_k_percent | 32.7 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.259 |
| sl_xwoba | 0.241 |
| sl_sweet_spot_percent | 30.2 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 31.7 |
| sl_whiff_percent | 36.2 |
| sl_swing_percent | 49.0 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 95.87727272727274 |
| sv_release_spin_rate | 2291.681818181818 |
| sv_effective_speed | 95.80454545454543 |
| sv_launch_speed | 82.35000000000001 |
| sv_launch_angle | 11.0 |
| sv_woba_value | 2.7 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 2.038 |
| sv_delta_home_win_exp | 0.535 |
| sl_avg_best_speed | 75.341756452 |
| sl_avg_hyper_speed | 93.640937097 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 2.000 | 2.000 | -2.000 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.000 | 0.000 | 0.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | 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": "656464",
"player_name": "Kevin Ginkel",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.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 | 1.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.35 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.20 | 1 | 1.000 | 1.000 | 2.000 | 0.000 | 0.000 | 0.000 | 9.0000 | 2.0000 | 1.0000 | 2.0000 | 0.0000 | 0.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1250 |
| predicted_ER | 0.1850 |
| predicted_ERA | 4.6410 |
| predicted_H | 0.3630 |
| predicted_HR | 0.0500 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3220 |
| predicted_WHIP | 1.3586 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1250 | 0.0304 | model_form_blend |
| predicted_ER | 1.0000 | 0.1850 | 0.8015 | model_form_blend |
| predicted_ERA | - | 4.6410 | 4.6410 | form_only |
| predicted_H | 0.0000 | 0.3630 | 0.0884 | model_form_blend |
| predicted_HR | 0.0000 | 0.0500 | 0.0122 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.3220 | 0.0784 | model_form_blend |
| predicted_WHIP | - | 1.3586 | 1.3586 | 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 | 0 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 7 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 9.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 21 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260327_ARI@LAD |
| game_type | full |
| mlbID | 656464 |
| playerID | 656464 |
| playerName | Kevin Ginkel |
| pos | P |
| started | False |
| startingPosition | P |
| team | ARI |
| teamID | 1 |
| game_date | 2026-03-27 |
| game_pk | 823971.0 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.272 |
| sl_xwoba | 0.264 |
| sl_sweet_spot_percent | 25.7 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 42.9 |
| sl_whiff_percent | 31.0 |
| sl_swing_percent | 48.6 |
| sv_pitch_count | 21.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.71428571428571 |
| sv_release_spin_rate | 2369.5238095238096 |
| sv_effective_speed | 89.54285714285714 |
| sv_launch_speed | 84.74444444444445 |
| sv_launch_angle | 17.555555555555557 |
| sv_woba_value | 2.15 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.421 |
| sv_delta_home_win_exp | 0.227 |
| sl_avg_best_speed | 79.769977941 |
| sl_avg_hyper_speed | 94.263942794 |
| 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 | 1.000 | 1.000 | 1.000 | Pitching_H | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.100 | 0.100 | 0.900 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.000 | 0.000 | 1.000 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.1000 -> 1.0000 (boost 0.9000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623149",
"player_name": "Paul Sewald",
"position": "Middle Reliever",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.1,
"after": 1.0,
"delta": 0.9,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 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 | 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.1190 |
| predicted_ER | 0.1630 |
| predicted_ERA | 4.4103 |
| predicted_H | 0.3200 |
| predicted_HR | 0.0480 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3070 |
| predicted_WHIP | 1.3159 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1190 | 0.0277 | model_form_blend |
| predicted_ER | 0.0000 | 0.1630 | 0.0380 | model_form_blend |
| predicted_ERA | - | 4.4103 | 4.4103 | form_only |
| predicted_H | 1.0000 | 0.3200 | 0.8416 | model_form_blend |
| predicted_HR | 0.0000 | 0.0480 | 0.0112 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3070 | 0.8385 | model_form_blend |
| predicted_WHIP | - | 1.3159 | 1.3159 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 1 |
| Season rows before report date | 1 |
| Report year | 2026 |
| Profile rows used | 1 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 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.5 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.232 |
| sl_xwoba | 0.25 |
| sl_sweet_spot_percent | 36.7 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 40.0 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 52.3 |
| 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 | 80.49566 |
| sl_avg_hyper_speed | 93.90452 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIA 1 - 3 PHI | PHI | 0.574 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | MIA 1 - 4 PHI | PHI | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5742 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.663 | 6.228 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 6 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 3 | 0.5742 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 3 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 1 | 3 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 1 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46613562231759664,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.050684978540772585,
"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": 4,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 5,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 35,
"near_bucket_sample_size": 35,
"medium_bucket_sample_size": 130,
"wide_bucket_sample_size": 214,
"global_sample_size": 214,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5714,
"bayesian_hit_rate": 0.5472,
"sample_weight": 0.5613,
"prior_strength": 18.0,
"reliability": 0.6604,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.5742,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "PHI",
"games": 71,
"wins": 38,
"losses": 33,
"win_pct": 0.5352112676056338,
"runs_scored": 285,
"runs_allowed": 308,
"run_differential": -23,
"run_differential_per_game": -0.323943661971831,
"available": true
},
"away": {
"team": "MIA",
"games": 72,
"wins": 36,
"losses": 36,
"win_pct": 0.5,
"runs_scored": 310,
"runs_allowed": 310,
"run_differential": 0,
"run_differential_per_game": 0.0,
"available": true
},
"run_differential_edge_per_game": -0.3239,
"win_pct_edge": 0.0352,
"quality_edge": -0.2711,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "PHI",
"guardrail_predicted_team": "PHI",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "PHI",
"output_opponent_team": "MIA",
"final_score_winner": "PHI",
"pre_simulation_winner": "PHI",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "MIA 1 - 3 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "MIA 1 - 4 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "PHI",
"games": 71,
"wins": 38,
"losses": 33,
"win_pct": 0.5352112676056338,
"runs_scored": 285,
"runs_allowed": 308,
"run_differential": -23,
"run_differential_per_game": -0.323943661971831,
"available": true
},
"away": {
"team": "MIA",
"games": 72,
"wins": 36,
"losses": 36,
"win_pct": 0.5,
"runs_scored": 310,
"runs_allowed": 310,
"run_differential": 0,
"run_differential_per_game": 0.0,
"available": true
}
}
}{
"applied": true,
"raw_margin": 2.0919,
"final_margin": 1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.2711,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 1.318,
"home_runs": 2.818
}
}{
"applied": false,
"raw_confidence": 0.574168,
"final_confidence": 0.574168,
"confidence_cap": 0.63,
"score_gap": 1.5,
"calibration_sample_size": 35,
"calibration_empirical_hit_rate": 0.5714,
"calibration_bayesian_hit_rate": 0.5472,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.2711,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"local calibration sample has at least 30 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 3,
"score_text": "MIA 1 - 3 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "MIA 1 - 4 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 1,
"home_runs": 3,
"confidence": 0.574168,
"home_win_probability": 0.574168,
"away_win_probability": 0.425832,
"predicted_score_text": "MIA 1 - 3 PHI",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "MIA",
"original_runs": 1,
"run_delta": -0.2268,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.021648545345190343,
"contact": 0.08395772117212491,
"power": -0.09056405069878695,
"discipline": 0.12032688749971879,
"xwoba": 0.3150322580645161,
"recent_xwoba": 0.3150322580645161,
"barrel": 6.551612903225807,
"ab_hard_contact": -0.025966113822123115,
"ab_bat_speed": 70.20400427076409,
"ab_strikeout_rate": 0.20104347388762067,
"available_players": 9,
"top_players": [
{
"player_id": "805300",
"player_name": "Jakob Marsee",
"position": "CF",
"weight": 3.0,
"quality": -0.43784924756254895,
"contact": -0.40100099406549367,
"power": -0.9142696851385369,
"discipline": 0.776343130553657,
"xwoba": 0.309,
"recent_xwoba": 0.309,
"barrel": 3.5,
"ab_hard_contact": -0.9341556075326426,
"ab_bat_speed": 68.07094100091827,
"ab_strikeout_rate": 0.24636363636363637,
"available": 1.0
},
{
"player_id": "691594",
"player_name": "Javier Sanoja",
"position": "3B",
"weight": 3.0,
"quality": -0.36119990650293327,
"contact": -0.557993895520521,
"power": -1.1329917438184594,
"discipline": 0.5500877192982457,
"xwoba": 0.264,
"recent_xwoba": 0.264,
"barrel": 1.5,
"ab_hard_contact": -0.6293586858929733,
"ab_bat_speed": 68.79073688271605,
"ab_strikeout_rate": 0.09583333333333334,
"available": 1.0
},
{
"player_id": "672640",
"player_name": "Otto Lopez",
"position": "SS",
"weight": 4.0,
"quality": 0.5211748241871207,
"contact": 0.9721313981422985,
"power": 0.48423352133806746,
"discipline": -0.26848154477101827,
"xwoba": 0.341,
"recent_xwoba": 0.341,
"barrel": 7.2,
"ab_hard_contact": 0.32200376009468157,
"ab_bat_speed": 70.77178737373738,
"ab_strikeout_rate": 0.15454545454545454,
"available": 1.0
},
{
"player_id": "681715",
"player_name": "Heriberto Hernández",
"position": "LF",
"weight": 3.0,
"quality": 0.3261217364518178,
"contact": 0.8369366027086993,
"power": 0.7922634359323248,
"discipline": -0.24632856334384354,
"xwoba": 0.358,
"recent_xwoba": 0.358,
"barrel": 8.4,
"ab_hard_contact": 0.9614591948369877,
"ab_bat_speed": 73.6025358422939,
"ab_strikeout_rate": 0.21989247311827956,
"available": 1.0
},
{
"player_id": "689414",
"player_name": "Liam Hicks",
"position": "DH",
"weight": 4.0,
"quality": -0.12213876841185332,
"contact": 0.061209958315458814,
"power": -0.6022550990054257,
"discipline": 1.057712157752873,
"xwoba": 0.321,
"recent_xwoba": 0.321,
"barrel": 4.8,
"ab_hard_contact": -0.007768646775178439,
"ab_bat_speed": 66.52861635220127,
"ab_strikeout_rate": 0.09056603773584905,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "554430",
"player_name": "Zack Wheeler",
"quality": 0.19454621414277226,
"contact": 0.4486709859741273,
"command": 0.3675714285714285,
"movement": 0.4778337902203639,
"xwoba": 0.284,
"whiff": 26.6,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "PHI",
"original_runs": 3,
"run_delta": 0.1037,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.22470602240742618,
"contact": 0.10171319087369102,
"power": 0.11206708373929683,
"discipline": -0.10728493256047317,
"xwoba": 0.32763636363636367,
"recent_xwoba": 0.32763636363636367,
"barrel": 8.666666666666666,
"ab_hard_contact": 0.09487125631551813,
"ab_bat_speed": 71.00720523853883,
"ab_strikeout_rate": 0.22018790970029242,
"available_players": 8,
"top_players": [
{
"player_id": "547180",
"player_name": "Bryce Harper",
"position": "1B",
"weight": 4.0,
"quality": 1.2619482949126544,
"contact": 1.2961943242433809,
"power": 1.4262126791329741,
"discipline": 0.6991044907867152,
"xwoba": 0.409,
"recent_xwoba": 0.409,
"barrel": 13.1,
"ab_hard_contact": 1.5326345350404305,
"ab_bat_speed": 72.87975995807128,
"ab_strikeout_rate": 0.18731656184486373,
"available": 1.0
},
{
"player_id": "656941",
"player_name": "Kyle Schwarber",
"position": "DH",
"weight": 4.0,
"quality": 0.9917287881954014,
"contact": 0.7103759749516001,
"power": 1.8796363766359556,
"discipline": -0.09079689608636982,
"xwoba": 0.378,
"recent_xwoba": 0.378,
"barrel": 21.3,
"ab_hard_contact": 0.7144418184334017,
"ab_bat_speed": 74.57395451770452,
"ab_strikeout_rate": 0.33621794871794874,
"available": 1.0
},
{
"player_id": "702222",
"player_name": "Justin Crawford",
"position": "CF",
"weight": 3.0,
"quality": -0.6295146208730771,
"contact": -0.740825731188914,
"power": -1.1509717748637465,
"discipline": -0.08161636233440729,
"xwoba": 0.262,
"recent_xwoba": 0.262,
"barrel": 1.3,
"ab_hard_contact": -0.7885783544177908,
"ab_bat_speed": 66.64708616780045,
"ab_strikeout_rate": 0.19353741496598637,
"available": 1.0
},
{
"player_id": "687282",
"player_name": "Gabriel Rincones Jr.",
"position": "RF",
"weight": 3.0,
"quality": 0.0,
"contact": -1.7999999999999998,
"power": -2.0,
"discipline": 0.14999999999999986,
"xwoba": 0.314,
"recent_xwoba": 0.314,
"barrel": 7.8,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.2222222222222222,
"available": 0.0
},
{
"player_id": "607208",
"player_name": "Trea Turner",
"position": "SS",
"weight": 5.0,
"quality": -0.3768811085366692,
"contact": -0.43892923933411326,
"power": -0.4170404789290265,
"discipline": -0.4010691793586531,
"xwoba": 0.28,
"recent_xwoba": 0.28,
"barrel": 5.1,
"ab_hard_contact": 0.04052375475280008,
"ab_bat_speed": 70.81053472222222,
"ab_strikeout_rate": 0.21591880341880343,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "687473",
"player_name": "Ryan Gusto",
"quality": -0.004049073475534182,
"contact": -0.4946972418231746,
"command": -0.193857142857143,
"movement": 0.014934020383201796,
"xwoba": 0.323,
"whiff": 16.4,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"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": "MIA 1 - 3 PHI",
"confidence": 0.574168,
"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": "MIA 1 - 3 PHI",
"winner": "PHI"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 4,
"score_text": "MIA 1 - 4 PHI",
"winner": "PHI"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 1,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away MIA | True | 1.0065 | 1.0065 | 1 | 9 | 0 |
| Home PHI | True | 1.0286 | 1.0286 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Xavier Edwards | 28 | 1.0298 | 0.3967 | neutral | 0.3420 | 0.2780 | 0.4120 | 5.70 | 32 | 87.20 | 11.30 | 14.20 | 12 | 12.30 | -0.5714 |
| DH | Liam Hicks | 33 | 0.9877 | -0.1642 | negative_batter_regression | 0.3210 | 0.2530 | 0.3710 | 4.80 | 31.10 | 85.50 | 15.20 | 10.70 | 9.10 | 9.80 | -1.1714 |
| SS | Otto Lopez | 11 | 1.0441 | 0.5875 | negative_batter_regression | 0.3410 | 0.2990 | 0.4560 | 7.20 | 46 | 90.50 | 6 | 20.70 | 15.20 | 3.70 | -0.9714 |
| LF | Heriberto Hernández | 225 | 1.0387 | 0.5160 | positive_batter_regression | 0.3580 | 0.2710 | 0.4740 | 8.40 | 48.40 | 91.60 | 12.30 | 32.20 | 23.20 | 9.20 | 1.4571 |
| RF | Owen Caissie | 538 | 1.0088 | 0.1177 | neutral | 0.2910 | 0.2060 | 0.3890 | 13.30 | 45.90 | 91.70 | 15.70 | 35.50 | 39.70 | 7.40 | 0.1143 |
| 1B | Kyle Stowers | 472 | 1.0143 | 0.1909 | neutral | 0.3140 | 0.2280 | 0.3970 | 8.40 | 49.60 | 90.60 | 14.70 | 34.30 | 29.40 | 9.50 | 0.3143 |
| CF | Jakob Marsee | 362 | 0.9810 | -0.2535 | neutral | 0.3090 | 0.2210 | 0.3110 | 3.50 | 35.80 | 86.70 | 19.20 | 19.40 | 22.80 | 14 | 0.2571 |
| C | Joe Mack | 258 | 0.9895 | -0.1401 | neutral | 0.2760 | 0.2260 | 0.3540 | 6.20 | 38.50 | 90.20 | 11.30 | 23.90 | 29.70 | 5.90 | 0.2286 |
| 3B | Javier Sanoja | 213 | 0.9643 | -0.4755 | negative_batter_regression | 0.2640 | 0.2350 | 0.3010 | 1.50 | 30.90 | 87.10 | 10.70 | 12.70 | 10.90 | 6.70 | -1 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Kyle Schwarber | 55 | 1.1055 | 1.4072 | neutral | 0.3780 | 0.2400 | 0.5280 | 21.30 | 50.30 | 93.20 | 21.80 | 34.10 | 34.40 | 14.20 | -0.6286 |
| 1B | Bryce Harper | 90 | 1.1269 | 1.6919 | positive_batter_regression | 0.4090 | 0.2870 | 0.5530 | 13.10 | 45.50 | 90.20 | 12.20 | 30.60 | 19 | 15.20 | 0.9143 |
| SS | Trea Turner | 444 | 0.9769 | -0.3079 | neutral | 0.2800 | 0.2330 | 0.3480 | 5.10 | 38.40 | 88.90 | 9.90 | 27.80 | 22.60 | 6.60 | 0.2571 |
| LF | Brandon Marsh | 56 | 1.0400 | 0.5329 | negative_batter_regression | 0.3360 | 0.2940 | 0.4500 | 7.40 | 47.20 | 90.10 | 13 | 24.20 | 23.70 | 4.80 | -1.0571 |
| 2B | Bryson Stott | 401 | 1.0194 | 0.2592 | neutral | 0.3120 | 0.2570 | 0.4020 | 7.20 | 41.40 | 89.80 | 15.80 | 17.40 | 17.80 | 6.60 | 0.4286 |
| RF | Gabriel Rincones Jr. | 394 | 1.0069 | 0.0918 | neutral | 0.3140 | 0.2460 | 0.3940 | 7.80 | 40 | 89.20 | 14 | 24.90 | 21.80 | 8.80 | 0 |
| C | J.T. Realmuto | 208 | 1.0137 | 0.1832 | positive_batter_regression | 0.3200 | 0.2510 | 0.3850 | 4.80 | 38.70 | 88.80 | 10.70 | 23.80 | 19.20 | 7.90 | 1.2000 |
| CF | Justin Crawford | 496 | 0.9480 | -0.6936 | neutral | 0.2620 | 0.2280 | 0.2900 | 1.30 | 34 | 87.40 | 1.70 | 20.70 | 21 | 6.70 | -0.3714 |
| 3B | Edmundo Sosa | 326 | 1.0205 | 0.2740 | positive_batter_regression | 0.3280 | 0.2800 | 0.4480 | 7.60 | 38 | 86.60 | 9.70 | 25.60 | 23.40 | 2.70 | 1.4857 |
{
"home": {
"applied": true,
"offense_factor": 1.0286,
"raw_average_factor": 1.0286,
"team_espn_average_rank": 274.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "656941",
"player_name": "Kyle Schwarber",
"offense_factor": 1.1055,
"quality_score": 1.4072,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656941",
"espn_id": 33712,
"player_name": "Kyle Schwarber",
"team": "PHI",
"role": "batter",
"espn_rank": 55,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 55,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 259.0,
"ab_rank": 41,
"r_value": 42.0,
"r_rank": 34,
"h_value": 64.0,
"h_rank": 68,
"avg_value": 0.2471042,
"avg_rank": 92.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 24.0,
"hr_rank": 1,
"rbi_value": 42.0,
"rbi_rank": 24,
"tb_value": 147.0,
"tb_rank": 350,
"bb_value": 43.0,
"bb_rank": 13,
"so_value": 104.0,
"so_rank": 1,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.362745,
"obp_rank": "37",
"slg_value": 0.5675675,
"slg_rank": "5",
"ops_value": 0.9303125,
"ops_rank": 32.0,
"war_value": 1.87,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 34.4,
"bb_percent": 14.2,
"woba": 0.4,
"xwoba": 0.378,
"xba": 0.24,
"xslg": 0.528,
"sweet_spot_percent": 39.7,
"barrel_batted_rate": 21.3,
"hard_hit_percent": 50.3,
"exit_velocity_avg": 93.2,
"launch_angle_avg": 21.8,
"whiff_percent": 34.1,
"swing_percent": 43.7
},
"components": {
"expected_quality": 1.7386,
"regression_edge": -0.6286,
"xwoba_edge": 2.0857,
"xba_edge": 0.0571,
"xslg_edge": 2.1857,
"barrel_edge": 2.5,
"hard_hit_edge": 1.6714,
"exit_velocity_edge": 1.76,
"sweet_spot_edge": 1.0667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "547180",
"player_name": "Bryce Harper",
"offense_factor": 1.1269,
"quality_score": 1.6919,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "547180",
"espn_id": 30951,
"player_name": "Bryce Harper",
"team": "PHI",
"role": "batter",
"espn_rank": 90,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 90,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 246.0,
"ab_rank": 83,
"r_value": 46.0,
"r_rank": 13,
"h_value": 63.0,
"h_rank": 75,
"avg_value": 0.2560975,
"avg_rank": 75.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 15.0,
"hr_rank": 22,
"rbi_value": 39.0,
"rbi_rank": 40,
"tb_value": 122.0,
"tb_rank": 351,
"bb_value": 44.0,
"bb_rank": 11,
"so_value": 56.0,
"so_rank": 91,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3639455,
"obp_rank": "35",
"slg_value": 0.4959349,
"slg_rank": "29",
"ops_value": 0.8598804,
"ops_rank": 64.0,
"war_value": 1.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 19.0,
"bb_percent": 15.2,
"woba": 0.377,
"xwoba": 0.409,
"xba": 0.287,
"xslg": 0.553,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 45.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 12.2,
"whiff_percent": 30.6,
"swing_percent": 50.9
},
"components": {
"expected_quality": 1.8185,
"regression_edge": 0.9143,
"xwoba_edge": 2.5,
"xba_edge": 1.4,
"xslg_edge": 2.5,
"barrel_edge": 1.3778,
"hard_hit_edge": 0.9857,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "607208",
"player_name": "Trea Turner",
"offense_factor": 0.9769,
"quality_score": -0.3079,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607208",
"espn_id": 33710,
"player_name": "Trea Turner",
"team": "PHI",
"role": "batter",
"espn_rank": 444,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 444,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 288.0,
"ab_rank": 3,
"r_value": 41.0,
"r_rank": 42,
"h_value": 63.0,
"h_rank": 75,
"avg_value": 0.21875,
"avg_rank": 138.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 21.0,
"rbi_rank": 190,
"tb_value": 95.0,
"tb_rank": 893,
"bb_value": 20.0,
"bb_rank": 142,
"so_value": 71.0,
"so_rank": 37,
"sb_value": 14.0,
"sb_rank": 12,
"obp_value": 0.2686084,
"obp_rank": "156",
"slg_value": 0.3298611,
"slg_rank": "144",
"ops_value": 0.5984695,
"ops_rank": 12.0,
"war_value": -0.21,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 239.0,
"k_percent": 22.6,
"bb_percent": 6.6,
"woba": 0.271,
"xwoba": 0.28,
"xba": 0.233,
"xslg": 0.348,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 38.4,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 9.9,
"whiff_percent": 27.8,
"swing_percent": 51.5
},
"components": {
"expected_quality": -0.3998,
"regression_edge": 0.2571,
"xwoba_edge": -0.7143,
"xba_edge": -0.1429,
"xslg_edge": -0.3857,
"barrel_edge": -0.4,
"hard_hit_edge": -0.0286,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "669016",
"player_name": "Brandon Marsh",
"offense_factor": 1.04,
"quality_score": 0.5329,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669016",
"espn_id": 40803,
"player_name": "Brandon Marsh",
"team": "PHI",
"role": "batter",
"espn_rank": 56,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 56,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 236.0,
"ab_rank": 101,
"r_value": 36.0,
"r_rank": 62,
"h_value": 76.0,
"h_rank": 13,
"avg_value": 0.3220338,
"avg_rank": 4.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 32.0,
"rbi_rank": 87,
"tb_value": 116.0,
"tb_rank": 398,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 60.0,
"so_rank": 74,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.3557312,
"obp_rank": "44",
"slg_value": 0.4915254,
"slg_rank": "31",
"ops_value": 0.8472566,
"ops_rank": 13.0,
"war_value": 1.87,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 188.0,
"k_percent": 23.7,
"bb_percent": 4.8,
"woba": 0.373,
"xwoba": 0.336,
"xba": 0.294,
"xslg": 0.45,
"sweet_spot_percent": 46.0,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 13.0,
"whiff_percent": 24.2,
"swing_percent": 53.6
},
"components": {
"expected_quality": 0.8972,
"regression_edge": -1.0571,
"xwoba_edge": 0.8857,
"xba_edge": 1.6,
"xslg_edge": 1.0714,
"barrel_edge": 0.1111,
"hard_hit_edge": 1.2286,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 2.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "681082",
"player_name": "Bryson Stott",
"offense_factor": 1.0194,
"quality_score": 0.2592,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681082",
"espn_id": 42417,
"player_name": "Bryson Stott",
"team": "PHI",
"role": "batter",
"espn_rank": 401,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 401,
"gp_value": 65.0,
"gp_rank": 120,
"ab_value": 224.0,
"ab_rank": 118,
"r_value": 20.0,
"r_rank": 207,
"h_value": 52.0,
"h_rank": 124,
"avg_value": 0.2321428,
"avg_rank": 116.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 33.0,
"rbi_rank": 77,
"tb_value": 87.0,
"tb_rank": 646,
"bb_value": 16.0,
"bb_rank": 186,
"so_value": 43.0,
"so_rank": 166,
"sb_value": 12.0,
"sb_rank": 20,
"obp_value": 0.2851239,
"obp_rank": "144",
"slg_value": 0.3883928,
"slg_rank": "112",
"ops_value": 0.6735167,
"ops_rank": 256.0,
"war_value": -0.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 182.0,
"k_percent": 17.8,
"bb_percent": 6.6,
"woba": 0.297,
"xwoba": 0.312,
"xba": 0.257,
"xslg": 0.402,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 41.4,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 15.8,
"whiff_percent": 17.4,
"swing_percent": 43.4
},
"components": {
"expected_quality": 0.2945,
"regression_edge": 0.4286,
"xwoba_edge": 0.2,
"xba_edge": 0.5429,
"xslg_edge": 0.3857,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.4,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "687282",
"player_name": "Gabriel Rincones Jr.",
"offense_factor": 1.0069,
"quality_score": 0.0918,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687282",
"espn_id": 5131884,
"player_name": "Gabriel Rincones Jr.",
"team": "PHI",
"role": "batter",
"espn_rank": 394,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 394,
"gp_value": 1.0,
"gp_rank": 556,
"ab_value": 3.0,
"ab_rank": 550,
"r_value": 0.0,
"r_rank": 533,
"h_value": 0.0,
"h_rank": 546,
"avg_value": 0.0,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 482,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 0.0,
"rbi_rank": 515,
"tb_value": 0.0,
"tb_rank": 2719,
"bb_value": 0.0,
"bb_rank": 517,
"so_value": 2.0,
"so_rank": 531,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.0,
"obp_rank": "-",
"slg_value": 0.0,
"slg_rank": "-",
"ops_value": 0.0,
"ops_rank": null,
"war_value": -0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 21.8,
"bb_percent": 8.8,
"woba": 0.314,
"xwoba": 0.314,
"xba": 0.246,
"xslg": 0.394,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 14.0,
"whiff_percent": 24.9,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.2371,
"regression_edge": 0.0,
"xwoba_edge": 0.2571,
"xba_edge": 0.2286,
"xslg_edge": 0.2714,
"barrel_edge": 0.2,
"hard_hit_edge": 0.2,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "592663",
"player_name": "J.T. Realmuto",
"offense_factor": 1.0137,
"quality_score": 0.1832,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "592663",
"espn_id": 32177,
"player_name": "J.T. Realmuto",
"team": "PHI",
"role": "batter",
"espn_rank": 208,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 208,
"gp_value": 48.0,
"gp_rank": 237,
"ab_value": 157.0,
"ab_rank": 219,
"r_value": 15.0,
"r_rank": 259,
"h_value": 33.0,
"h_rank": 238,
"avg_value": 0.210191,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 15.0,
"rbi_rank": 254,
"tb_value": 49.0,
"tb_rank": 1507,
"bb_value": 14.0,
"bb_rank": 208,
"so_value": 34.0,
"so_rank": 233,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.2937853,
"obp_rank": "-",
"slg_value": 0.3121019,
"slg_rank": "-",
"ops_value": 0.6058872,
"ops_rank": null,
"war_value": 0.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 130.0,
"k_percent": 19.2,
"bb_percent": 7.9,
"woba": 0.278,
"xwoba": 0.32,
"xba": 0.251,
"xslg": 0.385,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 38.7,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 10.7,
"whiff_percent": 23.8,
"swing_percent": 46.8
},
"components": {
"expected_quality": 0.1652,
"regression_edge": 1.2,
"xwoba_edge": 0.4286,
"xba_edge": 0.3714,
"xslg_edge": 0.1429,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.0143,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "702222",
"player_name": "Justin Crawford",
"offense_factor": 0.948,
"quality_score": -0.6936,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702222",
"espn_id": 5080642,
"player_name": "Justin Crawford",
"team": "PHI",
"role": "batter",
"espn_rank": 496,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 496,
"gp_value": 65.0,
"gp_rank": 120,
"ab_value": 195.0,
"ab_rank": 154,
"r_value": 18.0,
"r_rank": 227,
"h_value": 45.0,
"h_rank": 170,
"avg_value": 0.2307692,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 13.0,
"rbi_rank": 279,
"tb_value": 64.0,
"tb_rank": 1224,
"bb_value": 14.0,
"bb_rank": 208,
"so_value": 44.0,
"so_rank": 158,
"sb_value": 8.0,
"sb_rank": 52,
"obp_value": 0.2890995,
"obp_rank": "-",
"slg_value": 0.3282051,
"slg_rank": "-",
"ops_value": 0.6173046,
"ops_rank": null,
"war_value": -0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 173.0,
"k_percent": 21.0,
"bb_percent": 6.7,
"woba": 0.275,
"xwoba": 0.262,
"xba": 0.228,
"xslg": 0.29,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 1.3,
"hard_hit_percent": 34.0,
"exit_velocity_avg": 87.4,
"launch_angle_avg": 1.7,
"whiff_percent": 20.7,
"swing_percent": 52.3
},
"components": {
"expected_quality": -0.9652,
"regression_edge": -0.3714,
"xwoba_edge": -1.2286,
"xba_edge": -0.2857,
"xslg_edge": -1.2143,
"barrel_edge": -1.2444,
"hard_hit_edge": -0.6571,
"exit_velocity_edge": -0.56,
"sweet_spot_edge": -1.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "624641",
"player_name": "Edmundo Sosa",
"offense_factor": 1.0205,
"quality_score": 0.274,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "624641",
"espn_id": 33809,
"player_name": "Edmundo Sosa",
"team": "PHI",
"role": "batter",
"espn_rank": 326,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 326,
"gp_value": 39.0,
"gp_rank": 307,
"ab_value": 104.0,
"ab_rank": 303,
"r_value": 13.0,
"r_rank": 295,
"h_value": 23.0,
"h_rank": 305,
"avg_value": 0.2211538,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 18.0,
"rbi_rank": 222,
"tb_value": 39.0,
"tb_rank": 1574,
"bb_value": 3.0,
"bb_rank": 418,
"so_value": 26.0,
"so_rank": 295,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.2589285,
"obp_rank": "-",
"slg_value": 0.375,
"slg_rank": "-",
"ops_value": 0.6339285,
"ops_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 89.0,
"k_percent": 23.4,
"bb_percent": 2.7,
"woba": 0.276,
"xwoba": 0.328,
"xba": 0.28,
"xslg": 0.448,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 9.7,
"whiff_percent": 25.6,
"swing_percent": 60.9
},
"components": {
"expected_quality": 0.4661,
"regression_edge": 1.4857,
"xwoba_edge": 0.6571,
"xba_edge": 1.2,
"xslg_edge": 1.0429,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.0857,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0065,
"raw_average_factor": 1.0065,
"team_espn_average_rank": 237.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "669364",
"player_name": "Xavier Edwards",
"offense_factor": 1.0298,
"quality_score": 0.3967,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669364",
"espn_id": 41326,
"player_name": "Xavier Edwards",
"team": "MIA",
"role": "batter",
"espn_rank": 28,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 28,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 264.0,
"ab_rank": 33,
"r_value": 43.0,
"r_rank": 29,
"h_value": 79.0,
"h_rank": 8,
"avg_value": 0.2992424,
"avg_rank": 15.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 4.0,
"3b_rank": 3,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 25.0,
"rbi_rank": 152,
"tb_value": 116.0,
"tb_rank": 551,
"bb_value": 37.0,
"bb_rank": 26,
"so_value": 37.0,
"so_rank": 206,
"sb_value": 11.0,
"sb_rank": 27,
"obp_value": 0.3815789,
"obp_rank": "16",
"slg_value": 0.4393939,
"slg_rank": "66",
"ops_value": 0.8209728,
"ops_rank": 82.0,
"war_value": 2.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 235.0,
"k_percent": 12.0,
"bb_percent": 12.3,
"woba": 0.362,
"xwoba": 0.342,
"xba": 0.278,
"xslg": 0.412,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 32.0,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 11.3,
"whiff_percent": 14.2,
"swing_percent": 40.2
},
"components": {
"expected_quality": 0.5543,
"regression_edge": -0.5714,
"xwoba_edge": 1.0571,
"xba_edge": 1.1429,
"xslg_edge": 0.5286,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.9429,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": 1.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "689414",
"player_name": "Liam Hicks",
"offense_factor": 0.9877,
"quality_score": -0.1642,
"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": 33,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 33,
"gp_value": 69.0,
"gp_rank": 44,
"ab_value": 231.0,
"ab_rank": 109,
"r_value": 39.0,
"r_rank": 49,
"h_value": 64.0,
"h_rank": 68,
"avg_value": 0.2770562,
"avg_rank": 40.0,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 13.0,
"hr_rank": 35,
"rbi_value": 51.0,
"rbi_rank": 7,
"tb_value": 112.0,
"tb_rank": 509,
"bb_value": 28.0,
"bb_rank": 63,
"so_value": 24.0,
"so_rank": 309,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3605947,
"obp_rank": "39",
"slg_value": 0.4848484,
"slg_rank": "34",
"ops_value": 0.8454431,
"ops_rank": 5.0,
"war_value": 2.34,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 199.0,
"k_percent": 9.1,
"bb_percent": 9.8,
"woba": 0.362,
"xwoba": 0.321,
"xba": 0.253,
"xslg": 0.371,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 31.1,
"exit_velocity_avg": 85.5,
"launch_angle_avg": 15.2,
"whiff_percent": 10.7,
"swing_percent": 42.7
},
"components": {
"expected_quality": -0.0204,
"regression_edge": -1.1714,
"xwoba_edge": 0.4571,
"xba_edge": 0.4286,
"xslg_edge": -0.0571,
"barrel_edge": -0.4667,
"hard_hit_edge": -1.0714,
"exit_velocity_edge": -1.32,
"sweet_spot_edge": -1.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "672640",
"player_name": "Otto Lopez",
"offense_factor": 1.0441,
"quality_score": 0.5875,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "672640",
"espn_id": 41917,
"player_name": "Otto Lopez",
"team": "MIA",
"role": "batter",
"espn_rank": 11,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 11,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 283.0,
"ab_rank": 7,
"r_value": 44.0,
"r_rank": 25,
"h_value": 97.0,
"h_rank": 1,
"avg_value": 0.3427561,
"avg_rank": 1.0,
"2b_value": 18.0,
"2b_rank": 7,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 31.0,
"rbi_rank": 97,
"tb_value": 136.0,
"tb_rank": 544,
"bb_value": 11.0,
"bb_rank": 262,
"so_value": 46.0,
"so_rank": 144,
"sb_value": 13.0,
"sb_rank": 16,
"obp_value": 0.3708609,
"obp_rank": "29",
"slg_value": 0.4805653,
"slg_rank": "37",
"ops_value": 0.8514262,
"ops_rank": 8.0,
"war_value": 3.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 15.2,
"bb_percent": 3.7,
"woba": 0.375,
"xwoba": 0.341,
"xba": 0.299,
"xslg": 0.456,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 46.0,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 6.0,
"whiff_percent": 20.7,
"swing_percent": 48.7
},
"components": {
"expected_quality": 0.8412,
"regression_edge": -0.9714,
"xwoba_edge": 1.0286,
"xba_edge": 1.7429,
"xslg_edge": 1.1571,
"barrel_edge": 0.0667,
"hard_hit_edge": 1.0571,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "681715",
"player_name": "Heriberto Hernández",
"offense_factor": 1.0387,
"quality_score": 0.516,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "681715",
"espn_id": 42455,
"player_name": "Heriberto Hernandez",
"team": "MIA",
"role": "batter",
"espn_rank": 225,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 225,
"gp_value": 45.0,
"gp_rank": 256,
"ab_value": 131.0,
"ab_rank": 260,
"r_value": 14.0,
"r_rank": 276,
"h_value": 31.0,
"h_rank": 256,
"avg_value": 0.2366412,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 52.0,
"tb_rank": 1255,
"bb_value": 13.0,
"bb_rank": 228,
"so_value": 35.0,
"so_rank": 226,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3082191,
"obp_rank": "-",
"slg_value": 0.3969465,
"slg_rank": "-",
"ops_value": 0.7051656,
"ops_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 99.0,
"k_percent": 23.2,
"bb_percent": 9.2,
"woba": 0.307,
"xwoba": 0.358,
"xba": 0.271,
"xslg": 0.474,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 48.4,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 12.3,
"whiff_percent": 32.2,
"swing_percent": 46.0
},
"components": {
"expected_quality": 1.096,
"regression_edge": 1.4571,
"xwoba_edge": 1.5143,
"xba_edge": 0.9429,
"xslg_edge": 1.4143,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.4,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "683357",
"player_name": "Owen Caissie",
"offense_factor": 1.0088,
"quality_score": 0.1177,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683357",
"espn_id": 4917685,
"player_name": "Owen Caissie",
"team": "MIA",
"role": "batter",
"espn_rank": 538,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 538,
"gp_value": 61.0,
"gp_rank": 155,
"ab_value": 170.0,
"ab_rank": 198,
"r_value": 19.0,
"r_rank": 216,
"h_value": 36.0,
"h_rank": 219,
"avg_value": 0.2117647,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 35.0,
"rbi_rank": 58,
"tb_value": 64.0,
"tb_rank": 1158,
"bb_value": 14.0,
"bb_rank": 208,
"so_value": 77.0,
"so_rank": 20,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.2722513,
"obp_rank": "-",
"slg_value": 0.3764705,
"slg_rank": "-",
"ops_value": 0.6487218,
"ops_rank": null,
"war_value": -0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 147.0,
"k_percent": 39.7,
"bb_percent": 7.4,
"woba": 0.287,
"xwoba": 0.291,
"xba": 0.206,
"xslg": 0.389,
"sweet_spot_percent": 45.9,
"barrel_batted_rate": 13.3,
"hard_hit_percent": 45.9,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 15.7,
"whiff_percent": 35.5,
"swing_percent": 46.4
},
"components": {
"expected_quality": 0.1862,
"regression_edge": 0.1143,
"xwoba_edge": -0.4,
"xba_edge": -0.9143,
"xslg_edge": 0.2,
"barrel_edge": 1.4222,
"hard_hit_edge": 1.0429,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 2.1,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "669065",
"player_name": "Kyle Stowers",
"offense_factor": 1.0143,
"quality_score": 0.1909,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669065",
"espn_id": 42796,
"player_name": "Kyle Stowers",
"team": "MIA",
"role": "batter",
"espn_rank": 472,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 472,
"gp_value": 49.0,
"gp_rank": 231,
"ab_value": 181.0,
"ab_rank": 178,
"r_value": 21.0,
"r_rank": 194,
"h_value": 39.0,
"h_rank": 205,
"avg_value": 0.2154696,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 22.0,
"rbi_rank": 182,
"tb_value": 67.0,
"tb_rank": 963,
"bb_value": 19.0,
"bb_rank": 153,
"so_value": 61.0,
"so_rank": 70,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.302439,
"obp_rank": "-",
"slg_value": 0.3701657,
"slg_rank": "-",
"ops_value": 0.6726047,
"ops_rank": null,
"war_value": -0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 138.0,
"k_percent": 29.4,
"bb_percent": 9.5,
"woba": 0.303,
"xwoba": 0.314,
"xba": 0.228,
"xslg": 0.397,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 49.6,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 14.7,
"whiff_percent": 34.3,
"swing_percent": 52.9
},
"components": {
"expected_quality": 0.3027,
"regression_edge": 0.3143,
"xwoba_edge": 0.2571,
"xba_edge": -0.2857,
"xslg_edge": 0.3143,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.5714,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "805300",
"player_name": "Jakob Marsee",
"offense_factor": 0.981,
"quality_score": -0.2535,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805300",
"espn_id": 4866735,
"player_name": "Jakob Marsee",
"team": "MIA",
"role": "batter",
"espn_rank": 362,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 362,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 240.0,
"ab_rank": 92,
"r_value": 37.0,
"r_rank": 59,
"h_value": 48.0,
"h_rank": 151,
"avg_value": 0.2,
"avg_rank": 156.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 3.0,
"3b_rank": 5,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 17.0,
"rbi_rank": 236,
"tb_value": 72.0,
"tb_rank": 1002,
"bb_value": 40.0,
"bb_rank": 22,
"so_value": 67.0,
"so_rank": 46,
"sb_value": 17.0,
"sb_rank": 7,
"obp_value": 0.3298611,
"obp_rank": "87",
"slg_value": 0.3,
"slg_rank": "159",
"ops_value": 0.6298611,
"ops_rank": 72.0,
"war_value": -0.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 22.8,
"bb_percent": 14.0,
"woba": 0.3,
"xwoba": 0.309,
"xba": 0.221,
"xslg": 0.311,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 3.5,
"hard_hit_percent": 35.8,
"exit_velocity_avg": 86.7,
"launch_angle_avg": 19.2,
"whiff_percent": 19.4,
"swing_percent": 39.1
},
"components": {
"expected_quality": -0.3367,
"regression_edge": 0.2571,
"xwoba_edge": 0.1143,
"xba_edge": -0.4857,
"xslg_edge": -0.9143,
"barrel_edge": -0.7556,
"hard_hit_edge": -0.4,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -0.7333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "691788",
"player_name": "Joe Mack",
"offense_factor": 0.9895,
"quality_score": -0.1401,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691788",
"espn_id": 4872695,
"player_name": "Joe Mack",
"team": "MIA",
"role": "batter",
"espn_rank": 258,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 258,
"gp_value": 31.0,
"gp_rank": 345,
"ab_value": 96.0,
"ab_rank": 321,
"r_value": 12.0,
"r_rank": 304,
"h_value": 23.0,
"h_rank": 305,
"avg_value": 0.2395833,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 14.0,
"rbi_rank": 261,
"tb_value": 33.0,
"tb_rank": 1859,
"bb_value": 7.0,
"bb_rank": 327,
"so_value": 30.0,
"so_rank": 264,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2912621,
"obp_rank": "-",
"slg_value": 0.34375,
"slg_rank": "-",
"ops_value": 0.6350121,
"ops_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 61.0,
"k_percent": 29.7,
"bb_percent": 5.9,
"woba": 0.268,
"xwoba": 0.276,
"xba": 0.226,
"xslg": 0.354,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 11.3,
"whiff_percent": 23.9,
"swing_percent": 48.3
},
"components": {
"expected_quality": -0.3993,
"regression_edge": 0.2286,
"xwoba_edge": -0.8286,
"xba_edge": -0.3429,
"xslg_edge": -0.3,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.0143,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691594",
"player_name": "Javier Sanoja",
"offense_factor": 0.9643,
"quality_score": -0.4755,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691594",
"espn_id": 5073992,
"player_name": "Javier Sanoja",
"team": "MIA",
"role": "batter",
"espn_rank": 213,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 213,
"gp_value": 55.0,
"gp_rank": 196,
"ab_value": 154.0,
"ab_rank": 227,
"r_value": 12.0,
"r_rank": 304,
"h_value": 39.0,
"h_rank": 205,
"avg_value": 0.2532467,
"avg_rank": null,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 24.0,
"rbi_rank": 163,
"tb_value": 56.0,
"tb_rank": 1560,
"bb_value": 11.0,
"bb_rank": 262,
"so_value": 18.0,
"so_rank": 365,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3030303,
"obp_rank": "-",
"slg_value": 0.3636363,
"slg_rank": "-",
"ops_value": 0.6666666,
"ops_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 10.9,
"bb_percent": 6.7,
"woba": 0.299,
"xwoba": 0.264,
"xba": 0.235,
"xslg": 0.301,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 1.5,
"hard_hit_percent": 30.9,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 10.7,
"whiff_percent": 12.7,
"swing_percent": 51.4
},
"components": {
"expected_quality": -0.8595,
"regression_edge": -1.0,
"xwoba_edge": -1.1714,
"xba_edge": -0.0857,
"xslg_edge": -1.0571,
"barrel_edge": -1.2,
"hard_hit_edge": -1.1,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": -0.5333,
"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 | 478 | -0.1311 | 0.4500 | 1.0111 | 0.9761 | 0.9631 | 1.0520 | neutral | 0.3230 | 0.3080 | 22.50 | 5 | 16.40 | 10.30 | 48.30 | |
| Home PHI | True | 6 | 0.1999 | 0.5600 | 0.9830 | 1.0106 | 0.9608 | 0.9900 | neutral | 0.2840 | 0.2540 | 24.90 | 5.60 | 26.60 | 8.30 | 37 |
| 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 | 12 | 90.83 | 2462 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0619 | |
| Home PHI | True | None | 94 | 90.38 | 2359 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0366 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9905 |
| home_runs_vs_away_pitcher | 1.0050 |
| home_pitcher_quality_edge | 0.3310 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "554430",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 140.0,
"k_percent": 24.9,
"bb_percent": 5.6,
"woba": 0.254,
"xwoba": 0.284,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.0,
"avg_best_speed": 76.4591,
"avg_hyper_speed": 93.5396,
"whiff_percent": 26.6,
"swing_percent": 51.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6127,
"command_and_miss": 0.3714,
"regression_edge": -0.8571,
"xwoba_edge": 0.8857,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.2286,
"whiff_edge": 0.1571,
"bb_edge": 0.875,
"pitch_design_score": 0.0366
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "554430",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.381,
"release_spin_rate": 2359.0459,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0366,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2612,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1999,
"sample_weight": 0.56,
"run_prevention_factor": 0.983,
"strikeout_factor": 1.0106,
"walk_factor": 0.9608,
"homer_factor": 0.99,
"woba_minus_xwoba": -0.03,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "554430",
"espn_id": 31267,
"player_name": "Zack Wheeler",
"team": "PHI",
"role": "pitcher",
"espn_rank": 6,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 6,
"gp_value": 9.0,
"gp_rank": 398,
"gs_value": 9.0,
"gs_rank": 120,
"qs_value": 7.0,
"qs_rank": 23,
"era_value": 2.2235,
"era_rank": null,
"w_value": 5.0,
"w_rank": 34,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 56.2,
"ip_rank": 115,
"h_value": 36.0,
"h_rank": 158,
"er_value": 14.0,
"er_rank": 222,
"hr_value": 7.0,
"hr_rank": 101,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 53.0,
"k_rank": 93,
"k_per_9_value": 8.417647,
"k_per_9_rank": 21,
"whip_value": 0.847,
"whip_rank": null,
"war_value": 2.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "687473",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 3.0,
"k_percent": 22.5,
"bb_percent": 5.0,
"woba": 0.308,
"xwoba": 0.323,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 48.3,
"avg_best_speed": 76.2371,
"avg_hyper_speed": 95.1562,
"whiff_percent": 16.4,
"swing_percent": 48.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3306,
"command_and_miss": -0.2629,
"regression_edge": -0.4286,
"xwoba_edge": -0.2286,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.3857,
"whiff_edge": -1.3,
"bb_edge": 1.025,
"pitch_design_score": 0.0619
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687473",
"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.83333333333331,
"release_spin_rate": 2461.5,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.83333333333331,
"release_spin_rate": 2461.5,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8333,
"release_spin_rate": 2461.5,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0619,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4421,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1311,
"sample_weight": 0.45,
"run_prevention_factor": 1.0111,
"strikeout_factor": 0.9761,
"walk_factor": 0.9631,
"homer_factor": 1.052,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687473",
"espn_id": 5131986,
"player_name": "Ryan Gusto",
"team": "MIA",
"role": "pitcher",
"espn_rank": 478,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 478,
"gp_value": 4.0,
"gp_rank": 503,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 6.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 1.0,
"hld_rank": 193,
"ip_value": 9.0,
"ip_rank": 491,
"h_value": 11.0,
"h_rank": 465,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 0.0,
"hr_rank": 568,
"bb_value": 2.0,
"bb_rank": 563,
"k_value": 9.0,
"k_rank": 470,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 1.4444,
"whip_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9905,
"home_runs_vs_away_pitcher": 1.005,
"home_pitcher_quality_edge": 0.331
},
"score_before": {
"away_runs": 1.032,
"home_runs": 3.0986
},
"score_after": {
"away_runs": 1.0222,
"home_runs": 3.1141,
"home_win_probability": 0.6838
},
"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 | 19-43 | 0.306 | 1.10 | 3 | -118 | cold | strong | |
| Home PHI | 17-46 | 0.270 | 1 | 3.10 | -135 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIA | 36-36 | 0.500 | 0 | 0 | True |
| Home PHI | 38-33 | 0.535 | -23 | -0.324 | True |
| Signal | - | - | -0.324 | -0.271 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIA | - | - | 1 | - | - | - | - |
| Game target PHI | - | - | 3 | - | - | - | - |
| Player finalized MIA | 31 | 9 | 4 | 0 | 4 | 1 | 7 |
| Player finalized PHI | 33 | 9 | 4 | 0 | 3 | 2 | 10 |
| Player model fractional MIA | 31.49 | 7.89 | 4.22 | 0.94 | 4.53 | 2.97 | 7.13 |
| Player model fractional PHI | 31.90 | 7.21 | 3.62 | 1.06 | 3.61 | 2.55 | 9.25 |
| Simulation box MIA | 30 | 3 | 1 | 1 | 1 | 0 | 6 |
| Simulation box PHI | 32 | 8 | 4 | 0 | 4 | 4 | 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 MIA | Starter | Ryan Gusto | 3 | 2 | 4 | 3 | 2 | 4.87 | 1.36 | True |
| Away MIA | Middle Reliever | Anthony Bender | 2 | 2 | 0 | 3 | 2 | 3.16 | 1.16 | True |
| Away MIA | Middle Reliever | Michael Petersen | 1.20 | 0 | 2 | 0 | 0 | 3.07 | 1.10 | True |
| Away MIA | Middle Reliever | Pete Fairbanks | 1.10 | 0 | 0 | 2 | 0 | 4.86 | 1.48 | True |
| Home PHI | Starter | Zack Wheeler | 6.10 | 1 | 6 | 3 | 0 | 2.92 | 0.99 | True |
| Home PHI | Middle Reliever | Brad Keller | 1 | 0 | 0 | 0 | 0 | 5.27 | 1.67 | True |
| Home PHI | Middle Reliever | Jhoan Duran | 1 | 0 | 0 | 0 | 0 | 2.42 | 0.99 | True |
| Home PHI | Middle Reliever | Orion Kerkering | 0.20 | 0 | 0 | 0 | 0 | 2.71 | 1.22 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | PHI | batter | 2B | Bryson Stott | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 2.4400 | boost | better |
| home | PHI | batter | DH | Kyle Schwarber | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -2.3500 | deboost | worse |
| home | PHI | pitcher | Starter | Zack Wheeler | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 2.0000 | boost | better |
| home | PHI | batter | 3B | Edmundo Sosa | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.3160 | boost | worse |
| home | PHI | batter | C | J.T. Realmuto | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 1.2200 | boost | better |
| away | MIA | batter | LF | Heriberto Hernández | worse | 7 | 0 | 7 | 1 | 6 | predicted_AB | -1.0500 | deboost | worse |
| home | PHI | batter | SS | Trea Turner | worse | 10 | 4 | 6 | 4 | 6 | predicted_H | 1.0200 | boost | better |
| away | MIA | pitcher | Starter | Ryan Gusto | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -1.0000 | deboost | worse |
| away | MIA | pitcher | Middle Reliever | Anthony Bender | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| away | MIA | pitcher | Middle Reliever | Pete Fairbanks | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.0000 | boost | better |
| home | PHI | batter | RF | Gabriel Rincones Jr. | worse | 8 | 1 | 7 | 2 | 6 | predicted_AB | 1.0000 | boost | better |
| home | PHI | pitcher | Middle Reliever | Brad Keller | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | PHI | pitcher | Middle Reliever | Orion Kerkering | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | MIA | batter | DH | Liam Hicks | better | 10 | 7 | 3 | 6 | 4 | predicted_H | 0.9800 | boost | better |
| away | MIA | batter | 2B | Xavier Edwards | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.9700 | deboost | worse |
| away | MIA | batter | C | Joe Mack | worse | 11 | 0 | 11 | 1 | 10 | predicted_SO | -0.9680 | deboost | better |
| away | MIA | batter | SS | Otto Lopez | worse | 11 | 3 | 8 | 2 | 9 | predicted_3B | 0.9580 | boost | better |
| away | MIA | batter | 1B | Kyle Stowers | worse | 8 | 1 | 7 | 0 | 8 | predicted_H | -0.9100 | deboost | worse |
| home | PHI | batter | LF | Brandon Marsh | worse | 9 | 1 | 8 | 2 | 7 | predicted_SO | -0.8770 | deboost | better |
| home | PHI | batter | 1B | Bryce Harper | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -0.8120 | deboost | better |
| away | MIA | batter | CF | Jakob Marsee | worse | 9 | 0 | 9 | 0 | 9 | predicted_H | -0.7800 | deboost | worse |
| home | PHI | batter | CF | Justin Crawford | worse | 10 | 2 | 8 | 1 | 9 | predicted_BB | 0.7780 | boost | better |
| away | MIA | batter | RF | Owen Caissie | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.6500 | deboost | worse |
| away | MIA | batter | 3B | Javier Sanoja | worse | 11 | 0 | 11 | 1 | 10 | predicted_H | -0.6400 | deboost | worse |
| away | MIA | pitcher | Middle Reliever | Michael Petersen | 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 | Ryan Gusto |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1311 |
| ESPN Rank | 478 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0619 |
| Avg Velo | 90.8333 |
| Avg Spin | 2461.5000 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 3 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 6 |
| Season WHIP | 1.4444 |
| Role Avg IP | 3 |
| Recent Avg IP | 3 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 328.0,
"runs_allowed": 326.0,
"run_differential": 2.0,
"run_differential_per_game": 0.026,
"avg_runs_scored": 4.2597,
"avg_runs_allowed": 4.2338,
"offense_index": 0.9483,
"defense_index": 1.061,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.5,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1137
},
"opponent": {
"team": "PHI",
"games": 78,
"wins": 39,
"losses": 39,
"win_pct": 0.5,
"runs_scored": 309.0,
"runs_allowed": 340.0,
"run_differential": -31.0,
"run_differential_per_game": -0.3974,
"avg_runs_scored": 3.9615,
"avg_runs_allowed": 4.359,
"offense_index": 0.8819,
"defense_index": 1.0305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.8,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0137
},
"edges": {
"quality_edge": 0.1274,
"offense_edge": -0.0517,
"opponent_offense_edge": -0.1181,
"defense_strength": 0.061,
"opponent_defense_weakness": -0.0305,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0116,
"run_prevention": 0.9686,
"strikeout": 1.0133
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687473",
"profile": {
"available": true,
"pitcher_id": "687473",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 3.0,
"k_percent": 22.5,
"bb_percent": 5.0,
"woba": 0.308,
"xwoba": 0.323,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 48.3,
"avg_best_speed": 76.2371,
"avg_hyper_speed": 95.1562,
"whiff_percent": 16.4,
"swing_percent": 48.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.3306,
"command_and_miss": -0.2629,
"regression_edge": -0.4286,
"xwoba_edge": -0.2286,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.3857,
"whiff_edge": -1.3,
"bb_edge": 1.025,
"pitch_design_score": 0.0619
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687473",
"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.83333333333331,
"release_spin_rate": 2461.5,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.83333333333331,
"release_spin_rate": 2461.5,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8333,
"release_spin_rate": 2461.5,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0619,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4421,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1311,
"sample_weight": 0.45,
"run_prevention_factor": 1.0111,
"strikeout_factor": 0.9761,
"walk_factor": 0.9631,
"homer_factor": 1.052,
"woba_minus_xwoba": -0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687473",
"espn_id": 5131986,
"player_name": "Ryan Gusto",
"team": "MIA",
"role": "pitcher",
"espn_rank": 478,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 478,
"gp_value": 4.0,
"gp_rank": 503,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 6.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 1.0,
"hld_rank": 193,
"ip_value": 9.0,
"ip_rank": 491,
"h_value": 11.0,
"h_rank": 465,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 0.0,
"hr_rank": 568,
"bb_value": 2.0,
"bb_rank": 563,
"k_value": 9.0,
"k_rank": 470,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 1.4444,
"whip_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.005,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.005,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9834,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0234,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9892,
"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": 9.0,
"ER": 6,
"H": 11,
"BB": 2,
"SO": 9,
"HR": 0,
"ERA": 6.0,
"WHIP": 1.4444444444444444,
"K9": 9.0,
"HR9": 0.0,
"games_pitched": 4,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 4,
"error_prone": false
},
"games_count": 4,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": true,
"pitcher_id": "687473",
"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.83333333333331,
"release_spin_rate": 2461.5,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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.83333333333331,
"release_spin_rate": 2461.5,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8333,
"release_spin_rate": 2461.5,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0619,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4421,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 1.782,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2628,
"prior_weight": 0.7372
},
"role": "pitcher",
"player_id": "687473",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 4,
"reference_playing_time": 4.0,
"windows": {
"last_5": {
"games": 4,
"totals": {
"IP": 9.0,
"ER": 6.0,
"R": 6.0,
"H": 11.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 151.0
},
"per_game": {
"IP": 2.1,
"ER": 1.5,
"R": 1.5,
"H": 2.75,
"BB": 0.5,
"SO": 2.25,
"HR": 0.0,
"BF": 10.0,
"Pitches": 37.75
},
"rates": {
"ERA": 6.0,
"WHIP": 1.4444,
"ER_per_IP": 0.66667,
"H_per_IP": 1.22222,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 4,
"totals": {
"IP": 9.0,
"ER": 6.0,
"R": 6.0,
"H": 11.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 151.0
},
"per_game": {
"IP": 2.1,
"ER": 1.5,
"R": 1.5,
"H": 2.75,
"BB": 0.5,
"SO": 2.25,
"HR": 0.0,
"BF": 10.0,
"Pitches": 37.75
},
"rates": {
"ERA": 6.0,
"WHIP": 1.4444,
"ER_per_IP": 0.66667,
"H_per_IP": 1.22222,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 4,
"totals": {
"IP": 9.0,
"ER": 6.0,
"R": 6.0,
"H": 11.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 151.0
},
"per_game": {
"IP": 2.1,
"ER": 1.5,
"R": 1.5,
"H": 2.75,
"BB": 0.5,
"SO": 2.25,
"HR": 0.0,
"BF": 10.0,
"Pitches": 37.75
},
"rates": {
"ERA": 6.0,
"WHIP": 1.4444,
"ER_per_IP": 0.66667,
"H_per_IP": 1.22222,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.928,
"predicted_H": 3.697,
"predicted_BB": 1.156,
"predicted_SO": 3.388,
"predicted_HR": 0.381,
"predicted_ERA": 4.8709,
"predicted_WHIP": 1.3624
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6615,
"form_weight": 0.3385,
"form_reliability": 0.2628,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.782,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2628,
"prior_weight": 0.7372
},
"applied_metrics": {
"predicted_IP": {
"model": 4.0,
"form": 3.2,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.928,
"final": 1.9756,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.697,
"final": 3.236,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.156,
"final": 1.7143,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.388,
"final": 3.7928,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.381,
"final": 0.129,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8709,
"final": 4.8709,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3624,
"final": 1.3624,
"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.2717 |
| ESPN Rank | 148 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 2 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 2 |
| Pre SO | 0 |
| Season ERA | 3.0682 |
| Season WHIP | 0.9545 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 328.0,
"runs_allowed": 326.0,
"run_differential": 2.0,
"run_differential_per_game": 0.026,
"avg_runs_scored": 4.2597,
"avg_runs_allowed": 4.2338,
"offense_index": 0.9483,
"defense_index": 1.061,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.5,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1137
},
"opponent": {
"team": "PHI",
"games": 78,
"wins": 39,
"losses": 39,
"win_pct": 0.5,
"runs_scored": 309.0,
"runs_allowed": 340.0,
"run_differential": -31.0,
"run_differential_per_game": -0.3974,
"avg_runs_scored": 3.9615,
"avg_runs_allowed": 4.359,
"offense_index": 0.8819,
"defense_index": 1.0305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.8,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0137
},
"edges": {
"quality_edge": 0.1274,
"offense_edge": -0.0517,
"opponent_offense_edge": -0.1181,
"defense_strength": 0.061,
"opponent_defense_weakness": -0.0305,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0116,
"run_prevention": 0.9686,
"strikeout": 1.0133
},
"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": 30.0,
"bb_percent": 9.2,
"woba": 0.225,
"xwoba": 0.258,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 34.3,
"avg_best_speed": 79.2762,
"avg_hyper_speed": 93.3401,
"whiff_percent": 22.0,
"swing_percent": 38.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.1123,
"command_and_miss": 0.2893,
"regression_edge": -0.9429,
"xwoba_edge": 1.6286,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.6143,
"whiff_edge": -0.5,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "669622",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2717,
"sample_weight": 0.45,
"run_prevention_factor": 0.9769,
"strikeout_factor": 1.0098,
"walk_factor": 1.0009,
"homer_factor": 0.9654,
"woba_minus_xwoba": -0.033,
"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": 148,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 148,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.0681,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 7.0,
"hld_rank": 51,
"ip_value": 29.1,
"ip_rank": 255,
"h_value": 17.0,
"h_rank": 375,
"er_value": 10.0,
"er_rank": 308,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 36.0,
"k_rank": 181,
"k_per_9_value": 11.045455,
"k_per_9_rank": 19,
"whip_value": 0.9545,
"whip_rank": null,
"war_value": 0.65,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9844,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0044,
"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": 5,
"BB": 3,
"SO": 16,
"HR": 1,
"ERA": 1.7419354838709677,
"WHIP": 0.7741935483870968,
"K9": 13.935483870967742,
"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-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "669622",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5374,
"prior_weight": 0.4626
},
"role": "pitcher",
"player_id": "669622",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 10.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 2.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 20.6
},
"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": 2.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 3.0,
"SO": 16.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 167.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.3,
"SO": 1.6,
"HR": 0.1,
"BF": 4.1,
"Pitches": 16.7
},
"rates": {
"ERA": 1.7419,
"WHIP": 0.7742,
"ER_per_IP": 0.19355,
"H_per_IP": 0.48387,
"BB_per_IP": 0.29032,
"SO_per_IP": 1.54839,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 30,
"totals": {
"IP": 29.1,
"ER": 10.0,
"R": 10.0,
"H": 17.0,
"BB": 11.0,
"SO": 36.0,
"HR": 1.0,
"BF": 120.0,
"Pitches": 470.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3333,
"R": 0.3333,
"H": 0.5667,
"BB": 0.3667,
"SO": 1.2,
"HR": 0.0333,
"BF": 4.0,
"Pitches": 15.6667
},
"rates": {
"ERA": 3.0682,
"WHIP": 0.9545,
"ER_per_IP": 0.34091,
"H_per_IP": 0.57955,
"BB_per_IP": 0.375,
"SO_per_IP": 1.22727,
"HR_per_IP": 0.03409
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.351,
"predicted_H": 0.797,
"predicted_BB": 0.359,
"predicted_SO": 1.339,
"predicted_HR": 0.089,
"predicted_ERA": 3.1598,
"predicted_WHIP": 1.1551
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5454,
"form_weight": 0.4546,
"form_reliability": 0.5374,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5374,
"prior_weight": 0.4626
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.351,
"final": 1.2504,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.797,
"final": 1.9986,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.359,
"final": 1.2541,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.339,
"final": 0.6086,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.0405,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1598,
"final": 3.1598,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1551,
"final": 1.1551,
"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 | Michael Petersen |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1176 |
| ESPN Rank | 192 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.0682 |
| Season WHIP | 1.0568 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 328.0,
"runs_allowed": 326.0,
"run_differential": 2.0,
"run_differential_per_game": 0.026,
"avg_runs_scored": 4.2597,
"avg_runs_allowed": 4.2338,
"offense_index": 0.9483,
"defense_index": 1.061,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.5,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1137
},
"opponent": {
"team": "PHI",
"games": 78,
"wins": 39,
"losses": 39,
"win_pct": 0.5,
"runs_scored": 309.0,
"runs_allowed": 340.0,
"run_differential": -31.0,
"run_differential_per_game": -0.3974,
"avg_runs_scored": 3.9615,
"avg_runs_allowed": 4.359,
"offense_index": 0.8819,
"defense_index": 1.0305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.8,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0137
},
"edges": {
"quality_edge": 0.1274,
"offense_edge": -0.0517,
"opponent_offense_edge": -0.1181,
"defense_strength": 0.061,
"opponent_defense_weakness": -0.0305,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0116,
"run_prevention": 0.9686,
"strikeout": 1.0133
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656848",
"profile": {
"available": true,
"pitcher_id": "656848",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 82.0,
"k_percent": 28.6,
"bb_percent": 10.9,
"woba": 0.252,
"xwoba": 0.28,
"sweet_spot_percent": 30.0,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 42.9,
"avg_best_speed": 81.4082,
"avg_hyper_speed": 94.6292,
"whiff_percent": 29.4,
"swing_percent": 47.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.3846,
"command_and_miss": 0.4843,
"regression_edge": -0.8,
"xwoba_edge": 1.0,
"barrel_edge": -0.9111,
"hard_hit_edge": -0.6143,
"whiff_edge": 0.5571,
"bb_edge": -0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656848",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1176,
"sample_weight": 0.45,
"run_prevention_factor": 0.99,
"strikeout_factor": 1.0252,
"walk_factor": 1.0162,
"homer_factor": 1.0304,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656848",
"espn_id": 41824,
"player_name": "Michael Petersen",
"team": "MIA",
"role": "pitcher",
"espn_rank": 192,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 192,
"gp_value": 27.0,
"gp_rank": 99,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.0681,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 9.0,
"hld_rank": 27,
"ip_value": 29.1,
"ip_rank": 255,
"h_value": 18.0,
"h_rank": 353,
"er_value": 10.0,
"er_rank": 308,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 13.0,
"bb_rank": 213,
"k_value": 34.0,
"k_rank": 197,
"k_per_9_value": 10.431818,
"k_per_9_rank": 20,
"whip_value": 1.0568,
"whip_rank": null,
"war_value": 0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0137,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0113,
"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": 2,
"H": 4,
"BB": 6,
"SO": 15,
"HR": 0,
"ERA": 1.6363636363636365,
"WHIP": 0.9090909090909091,
"K9": 12.272727272727273,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "656848",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5374,
"prior_weight": 0.4626
},
"role": "pitcher",
"player_id": "656848",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 1.0,
"R": 2.0,
"H": 2.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 112.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.4,
"H": 0.4,
"BB": 0.6,
"SO": 1.8,
"HR": 0.0,
"BF": 5.0,
"Pitches": 22.4
},
"rates": {
"ERA": 1.5,
"WHIP": 0.8333,
"ER_per_IP": 0.16667,
"H_per_IP": 0.33333,
"BB_per_IP": 0.5,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 2.0,
"R": 3.0,
"H": 4.0,
"BB": 6.0,
"SO": 15.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 188.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.4,
"BB": 0.6,
"SO": 1.5,
"HR": 0.0,
"BF": 4.5,
"Pitches": 18.8
},
"rates": {
"ERA": 1.6364,
"WHIP": 0.9091,
"ER_per_IP": 0.18182,
"H_per_IP": 0.36364,
"BB_per_IP": 0.54545,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.0
}
},
"season": {
"games": 27,
"totals": {
"IP": 29.1,
"ER": 10.0,
"R": 12.0,
"H": 18.0,
"BB": 13.0,
"SO": 34.0,
"HR": 1.0,
"BF": 119.0,
"Pitches": 479.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3704,
"R": 0.4444,
"H": 0.6667,
"BB": 0.4815,
"SO": 1.2593,
"HR": 0.037,
"BF": 4.4074,
"Pitches": 17.7407
},
"rates": {
"ERA": 3.0682,
"WHIP": 1.0568,
"ER_per_IP": 0.34091,
"H_per_IP": 0.61364,
"BB_per_IP": 0.44318,
"SO_per_IP": 1.15909,
"HR_per_IP": 0.03409
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.368,
"predicted_H": 0.718,
"predicted_BB": 0.473,
"predicted_SO": 1.271,
"predicted_HR": 0.077,
"predicted_ERA": 3.0674,
"predicted_WHIP": 1.1028
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5454,
"form_weight": 0.4546,
"form_reliability": 0.5374,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5374,
"prior_weight": 0.4626
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.368,
"final": 0.1673,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.718,
"final": 0.3264,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.473,
"final": 0.215,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.271,
"final": 1.6686,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.077,
"final": 0.035,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0674,
"final": 3.0674,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1028,
"final": 1.1028,
"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.1568 |
| ESPN Rank | 674 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 6.7500 |
| Season WHIP | 1.4500 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 328.0,
"runs_allowed": 326.0,
"run_differential": 2.0,
"run_differential_per_game": 0.026,
"avg_runs_scored": 4.2597,
"avg_runs_allowed": 4.2338,
"offense_index": 0.9483,
"defense_index": 1.061,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.5,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1137
},
"opponent": {
"team": "PHI",
"games": 78,
"wins": 39,
"losses": 39,
"win_pct": 0.5,
"runs_scored": 309.0,
"runs_allowed": 340.0,
"run_differential": -31.0,
"run_differential_per_game": -0.3974,
"avg_runs_scored": 3.9615,
"avg_runs_allowed": 4.359,
"offense_index": 0.8819,
"defense_index": 1.0305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.8,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0137
},
"edges": {
"quality_edge": 0.1274,
"offense_edge": -0.0517,
"opponent_offense_edge": -0.1181,
"defense_strength": 0.061,
"opponent_defense_weakness": -0.0305,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0116,
"run_prevention": 0.9686,
"strikeout": 1.0133
},
"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": 31.4,
"bb_percent": 12.8,
"woba": 0.337,
"xwoba": 0.283,
"sweet_spot_percent": 30.4,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 34.8,
"avg_best_speed": 81.0966,
"avg_hyper_speed": 94.564,
"whiff_percent": 28.7,
"swing_percent": 46.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0986,
"command_and_miss": 0.5343,
"regression_edge": 1.5429,
"xwoba_edge": 0.9143,
"barrel_edge": -0.8444,
"hard_hit_edge": 0.5429,
"whiff_edge": 0.4571,
"bb_edge": -0.925,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664126",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1568,
"sample_weight": 0.45,
"run_prevention_factor": 0.9867,
"strikeout_factor": 1.0306,
"walk_factor": 1.0333,
"homer_factor": 1.0083,
"woba_minus_xwoba": 0.054,
"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": 674,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 674,
"gp_value": 22.0,
"gp_rank": 147,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 6.75,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 9.0,
"sv_rank": 17,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 20.0,
"ip_rank": 372,
"h_value": 18.0,
"h_rank": 353,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 29.0,
"k_rank": 250,
"k_per_9_value": 13.049999,
"k_per_9_rank": 18,
"whip_value": 1.45,
"whip_rank": null,
"war_value": -0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.994,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.994,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.015,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0037,
"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": 9.0,
"ER": 4,
"H": 7,
"BB": 6,
"SO": 12,
"HR": 2,
"ERA": 4.0,
"WHIP": 1.4444444444444444,
"K9": 12.0,
"HR9": 2.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "664126",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.96,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.442,
"prior_weight": 0.558
},
"role": "pitcher",
"player_id": "664126",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 4.0,
"SO": 7.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 110.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.8,
"SO": 1.4,
"HR": 0.2,
"BF": 4.8,
"Pitches": 22.0
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.9286,
"ER_per_IP": 0.64286,
"H_per_IP": 1.07143,
"BB_per_IP": 0.85714,
"SO_per_IP": 1.5,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 4.0,
"R": 5.0,
"H": 7.0,
"BB": 6.0,
"SO": 12.0,
"HR": 2.0,
"BF": 40.0,
"Pitches": 173.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.7,
"BB": 0.6,
"SO": 1.2,
"HR": 0.2,
"BF": 4.0,
"Pitches": 17.3
},
"rates": {
"ERA": 4.0,
"WHIP": 1.4444,
"ER_per_IP": 0.44444,
"H_per_IP": 0.77778,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.22222
}
},
"season": {
"games": 22,
"totals": {
"IP": 20.0,
"ER": 15.0,
"R": 17.0,
"H": 18.0,
"BB": 11.0,
"SO": 29.0,
"HR": 4.0,
"BF": 90.0,
"Pitches": 385.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6818,
"R": 0.7727,
"H": 0.8182,
"BB": 0.5,
"SO": 1.3182,
"HR": 0.1818,
"BF": 4.0909,
"Pitches": 17.5
},
"rates": {
"ERA": 6.75,
"WHIP": 1.45,
"ER_per_IP": 0.75,
"H_per_IP": 0.9,
"BB_per_IP": 0.55,
"SO_per_IP": 1.45,
"HR_per_IP": 0.2
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.339,
"predicted_H": 0.6,
"predicted_BB": 0.329,
"predicted_SO": 0.725,
"predicted_HR": 0.11,
"predicted_ERA": 4.8596,
"predicted_WHIP": 1.4792
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5858,
"form_weight": 0.4142,
"form_reliability": 0.442,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.96,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.442,
"prior_weight": 0.558
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.339,
"final": 0.1404,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.6,
"final": 1.4201,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.329,
"final": 0.1363,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.725,
"final": 0.3003,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.11,
"final": 0.0456,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8596,
"final": 4.8596,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4792,
"final": 1.4792,
"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.153 | 0.000 | 0.000 | Hitting_2B | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_3B | 0.056 | 0.000 | 0.000 | Hitting_3B | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_AB | 3.900 | 4.000 | 4.000 | Hitting_AB | 3.779 | 4.000 | 0.221 | 0.000 |
| predicted_AVG | 0.249 | 0.000 | 0.250 | Hitting_AVG | 0.317 | 0.250 | -0.317 | -0.250 |
| predicted_BB | 0.514 | 0.000 | 0.000 | Hitting_BB | 0.545 | 0.000 | -0.545 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 1.198 | 1.000 | -1.198 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_OBP | 0.328 | 0.000 | 0.250 | Hitting_OBP | 0.402 | 0.250 | -0.402 | -0.250 |
| predicted_R | 0.597 | 0.000 | 1.000 | Hitting_R | 0.719 | 0.000 | -0.719 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 0.000 | Hitting_RBI | 0.356 | 1.000 | -0.356 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_SLG | 0.374 | 0.000 | 0.250 | Hitting_SLG | 0.484 | 0.250 | -0.484 | -0.250 |
| predicted_SO | 0.514 | 0.000 | 1.000 | Hitting_SO | 0.510 | 1.000 | -0.510 | -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_AB: 3.9000 -> 4.0000 (boost 0.1000, better) |
| Biggest Deboost | predicted_H: 0.9700 -> 0.0000 (deboost -0.9700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2490 -> 0.2549 (boost 0.0059, better) | predicted_AB: 3.9000 -> 3.7521 (deboost -0.1479, 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_OBP: 0.3311 -> 0.3412 (boost 0.0101, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_BB: 0.4891 -> 1.0000 (boost 0.5109, better) | predicted_RBI: 0.4678 -> 0.0000 (deboost -0.4678, worse) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.246 HR/AB=0.019 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5328 -> 1.0000 (boost 0.4672, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3738 -> 0.2500 (deboost -0.1238, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3738 (boost 0.1238, better) | - | 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.153,
"predicted_3B": 0.056,
"predicted_AB": 3.9,
"predicted_AVG": 0.249,
"predicted_BB": 0.514,
"predicted_H": 0.97,
"predicted_HR": 0.09,
"predicted_OBP": 0.328,
"predicted_R": 0.597,
"predicted_RBI": 0.48,
"predicted_SLG": 0.374,
"predicted_SO": 0.514
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1288,
"predicted_3B": 0.0454,
"predicted_AB": 3.7521,
"predicted_AVG": 0.2549,
"predicted_BB": 0.4882,
"predicted_H": 0.9547,
"predicted_HBP": 0.003,
"predicted_HR": 0.0752,
"predicted_OBP": 0.3311,
"predicted_R": 0.5284,
"predicted_RBI": 0.4639,
"predicted_SLG": 0.3654,
"predicted_SO": 0.5487
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.1288,
"delta": -0.0242,
"percent_delta": -0.1582,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0454,
"delta": -0.0106,
"percent_delta": -0.1893,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 3.7521,
"delta": -0.1479,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2549,
"delta": 0.0059,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.514,
"after": 0.4882,
"delta": -0.0258,
"percent_delta": -0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9547,
"delta": -0.0153,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0752,
"delta": -0.0148,
"percent_delta": -0.1644,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3311,
"delta": 0.0031,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.597,
"after": 0.5284,
"delta": -0.0686,
"percent_delta": -0.1149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.4639,
"delta": -0.0161,
"percent_delta": -0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3654,
"delta": -0.0086,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.514,
"after": 0.5487,
"delta": 0.0347,
"percent_delta": 0.0675,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2549,
"delta": 0.0059,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 3.7521,
"delta": -0.1479,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1288,
"predicted_3B": 0.0454,
"predicted_AB": 3.7521,
"predicted_AVG": 0.2553,
"predicted_BB": 0.4891,
"predicted_H": 0.958,
"predicted_HBP": 0.003,
"predicted_HR": 0.075,
"predicted_OBP": 0.3412,
"predicted_R": 0.5328,
"predicted_RBI": 0.4678,
"predicted_SLG": 0.3738,
"predicted_SO": 0.5477
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1288,
"after": 0.1288,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0454,
"after": 0.0454,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7521,
"after": 3.7521,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2549,
"after": 0.2553,
"delta": 0.0004,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4882,
"after": 0.4891,
"delta": 0.0009,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9547,
"after": 0.958,
"delta": 0.0033,
"percent_delta": 0.0035,
"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.0752,
"after": 0.075,
"delta": -0.0002,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3311,
"after": 0.3412,
"delta": 0.0101,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5284,
"after": 0.5328,
"delta": 0.0044,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4639,
"after": 0.4678,
"delta": 0.0039,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3654,
"after": 0.3738,
"delta": 0.0084,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5487,
"after": 0.5477,
"delta": -0.001,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3311,
"after": 0.3412,
"delta": 0.0101,
"percent_delta": 0.0305,
"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.90), rates preserved: AVG=0.246 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1288,
"after": 0.0,
"delta": -0.1288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0454,
"after": 0.0,
"delta": -0.0454,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7521,
"after": 4.0,
"delta": 0.2479,
"percent_delta": 0.0661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4891,
"after": 1.0,
"delta": 0.5109,
"percent_delta": 1.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.958,
"after": 1.0,
"delta": 0.042,
"percent_delta": 0.0438,
"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.075,
"after": 0.0,
"delta": -0.075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4678,
"after": 0.0,
"delta": -0.4678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5477,
"after": 1.0,
"delta": 0.4523,
"percent_delta": 0.8258,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4891,
"after": 1.0,
"delta": 0.5109,
"percent_delta": 1.0446,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4678,
"after": 0.0,
"delta": -0.4678,
"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.222)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"model_expectation": 0.9077,
"bvp": 0.0923
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 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.5328,
"after": 1.0,
"delta": 0.4672,
"percent_delta": 0.8769,
"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.5328,
"after": 1.0,
"delta": 0.4672,
"percent_delta": 0.8769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2553,
"after": 0.25,
"delta": -0.0053,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3412,
"after": 0.25,
"delta": -0.0912,
"percent_delta": -0.2673,
"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.3738,
"after": 0.25,
"delta": -0.1238,
"percent_delta": -0.3312,
"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.3738,
"after": 0.25,
"delta": -0.1238,
"percent_delta": -0.3312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2553,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3412,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3738,
"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.2553,
"delta": 0.0053,
"percent_delta": 0.0213,
"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.3412,
"delta": 0.0912,
"percent_delta": 0.3648,
"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.3738,
"delta": 0.1238,
"percent_delta": 0.4953,
"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.3738,
"delta": 0.1238,
"percent_delta": 0.4953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.0,
"delta": -0.056,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2553,
"delta": 0.0063,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3412,
"delta": 0.0132,
"percent_delta": 0.0402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.597,
"after": 0.0,
"delta": -0.597,
"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.374,
"after": 0.3738,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 4.0,
"delta": 0.1,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.153 | - |
| predicted_3B | 0.056 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.514 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.597 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 0.514 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | -0.024 |
| predicted_3B | 0.045 | -0.011 |
| predicted_AB | 3.752 | -0.148 |
| predicted_AVG | 0.255 | 0.006 |
| predicted_BB | 0.488 | -0.026 |
| predicted_H | 0.955 | -0.015 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.075 | -0.015 |
| predicted_OBP | 0.331 | 0.003 |
| predicted_R | 0.528 | -0.069 |
| predicted_RBI | 0.464 | -0.016 |
| predicted_SLG | 0.365 | -0.009 |
| predicted_SO | 0.549 | 0.035 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 3.752 | 0.000 |
| predicted_AVG | 0.255 | 0.000 |
| predicted_BB | 0.489 | 0.001 |
| predicted_H | 0.958 | 0.003 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.075 | -0.000 |
| predicted_OBP | 0.341 | 0.010 |
| predicted_R | 0.533 | 0.004 |
| predicted_RBI | 0.468 | 0.004 |
| predicted_SLG | 0.374 | 0.008 |
| predicted_SO | 0.548 | -0.001 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.246 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.222)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.129 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 4.000 | 0.248 |
| predicted_AVG | 0.250 | -0.005 |
| predicted_BB | 0.000 | -0.489 |
| predicted_H | 1.000 | 0.042 |
| predicted_HR | 0.000 | -0.075 |
| predicted_OBP | 0.250 | -0.091 |
| predicted_R | 1.000 | 0.467 |
| predicted_RBI | 0.000 | -0.468 |
| predicted_SLG | 0.250 | -0.124 |
| predicted_SO | 1.000 | 0.452 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 2.000 | 3.000 | 0.1875 | 0.2500 | 0.1875 | 0.1875 | 0.0000 | 0.1875 | 0.1250 | 0.1875 |
| last_10 | 0.20 | 10 | - | 34.000 | 8.000 | 0.000 | 0.000 | 0.000 | 5.000 | 2.000 | 4.000 | 7.000 | 0.2353 | 0.2927 | 0.2353 | 0.2353 | 0.0000 | 0.1471 | 0.1177 | 0.2059 |
| season | 0.60 | 72 | - | 264.000 | 79.000 | 11.000 | 4.000 | 6.000 | 25.000 | 43.000 | 37.000 | 37.000 | 0.2992 | 0.3816 | 0.4394 | 0.2992 | 0.0227 | 0.0947 | 0.1401 | 0.1401 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0960 |
| predicted_3B | 0.0310 |
| predicted_AB | 3.5510 |
| predicted_AVG | 0.2629 |
| predicted_BB | 0.4530 |
| predicted_H | 0.9340 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0550 |
| predicted_OBP | 0.3353 |
| predicted_R | 0.4350 |
| predicted_RBI | 0.4420 |
| predicted_SLG | 0.3537 |
| predicted_SO | 0.5960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1530 | 0.0960 | 0.1288 | model_form_blend |
| predicted_3B | 0.0560 | 0.0310 | 0.0454 | model_form_blend |
| predicted_AB | 3.9000 | 3.5510 | 3.7521 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2629 | 0.2549 | model_form_blend |
| predicted_BB | 0.5140 | 0.4530 | 0.4882 | model_form_blend |
| predicted_H | 0.9700 | 0.9340 | 0.9547 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0900 | 0.0550 | 0.0752 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3353 | 0.3311 | model_form_blend |
| predicted_R | 0.5970 | 0.4350 | 0.5284 | model_form_blend |
| predicted_RBI | 0.4800 | 0.4420 | 0.4639 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3537 | 0.3654 | model_form_blend |
| predicted_SO | 0.5140 | 0.5960 | 0.5487 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.299 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| 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 | 2B |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 669364 |
| playerID | 669364 |
| playerName | Xavier Edwards |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 12.0 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.362 |
| sl_xwoba | 0.342 |
| sl_xba | 0.278 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 32.0 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 14.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.101 | 0.000 | 0.000 | Hitting_2B | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 3.840 | 4.000 | 4.000 | Hitting_AB | 3.573 | 3.000 | 0.427 | 1.000 |
| predicted_AVG | 0.266 | 0.500 | 0.250 | Hitting_AVG | 0.282 | 0.667 | 0.218 | -0.167 |
| predicted_BB | 0.406 | 0.000 | 0.000 | Hitting_BB | 0.394 | 2.000 | -0.394 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.020 | 2.000 | 1.000 | Hitting_H | 1.009 | 2.000 | 0.991 | 0.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.225 | 0.000 | 0.775 | 1.000 |
| predicted_OBP | 0.374 | 0.500 | 0.250 | Hitting_OBP | 0.360 | 0.800 | 0.140 | -0.300 |
| predicted_R | 0.565 | 1.000 | 1.000 | Hitting_R | 0.587 | 1.000 | 0.413 | 0.000 |
| predicted_RBI | 0.610 | 1.000 | 1.000 | Hitting_RBI | 0.936 | 0.000 | 0.064 | 1.000 |
| predicted_SLG | 0.468 | 1.250 | 0.250 | Hitting_SLG | 0.501 | 0.667 | 0.749 | 0.583 |
| predicted_SO | 0.348 | 1.000 | 0.000 | Hitting_SO | 0.358 | 0.000 | 0.642 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 1.0200 -> 2.0000 (boost 0.9800, better) |
| Biggest Deboost | predicted_BB: 0.4060 -> 0.0000 (deboost -0.4060, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_R: 0.5650 -> 0.6323 (boost 0.0673, better) | predicted_AB: 3.8400 -> 3.7083 (deboost -0.1317, 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.4953 -> 0.4638 (deboost -0.0315, 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.6341 -> 1.0000 (boost 0.3659, better) | predicted_BB: 0.4316 -> 0.0000 (deboost -0.4316, worse) | AB rounded to 4 (raw=3.84), rates preserved: AVG=0.276 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6375 -> 1.0000 (boost 0.3625, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4638 -> 0.2500 (deboost -0.2138, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4638 (boost 0.2138, better) | - | 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.101,
"predicted_3B": 0.014,
"predicted_AB": 3.84,
"predicted_AVG": 0.266,
"predicted_BB": 0.406,
"predicted_H": 1.02,
"predicted_HR": 0.15,
"predicted_OBP": 0.374,
"predicted_R": 0.565,
"predicted_RBI": 0.61,
"predicted_SLG": 0.468,
"predicted_SO": 0.348
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1191,
"predicted_3B": 0.0334,
"predicted_AB": 3.7083,
"predicted_AVG": 0.2861,
"predicted_BB": 0.4308,
"predicted_H": 1.0566,
"predicted_HBP": 0.095,
"predicted_HR": 0.1584,
"predicted_OBP": 0.3852,
"predicted_R": 0.6323,
"predicted_RBI": 0.6289,
"predicted_SLG": 0.4953,
"predicted_SO": 0.3547
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 0.1191,
"delta": 0.0181,
"percent_delta": 0.1792,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0334,
"delta": 0.0194,
"percent_delta": 1.3857,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7083,
"delta": -0.1317,
"percent_delta": -0.0343,
"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.406,
"after": 0.4308,
"delta": 0.0248,
"percent_delta": 0.0611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.02,
"after": 1.0566,
"delta": 0.0366,
"percent_delta": 0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1584,
"delta": 0.0084,
"percent_delta": 0.056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3852,
"delta": 0.0112,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.565,
"after": 0.6323,
"delta": 0.0673,
"percent_delta": 0.1191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6289,
"delta": 0.0189,
"percent_delta": 0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.4953,
"delta": 0.0273,
"percent_delta": 0.0583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.348,
"after": 0.3547,
"delta": 0.0067,
"percent_delta": 0.0193,
"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": 0.565,
"after": 0.6323,
"delta": 0.0673,
"percent_delta": 0.1191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.84,
"after": 3.7083,
"delta": -0.1317,
"percent_delta": -0.0343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1191,
"predicted_3B": 0.0334,
"predicted_AB": 3.7083,
"predicted_AVG": 0.2859,
"predicted_BB": 0.4316,
"predicted_H": 1.0603,
"predicted_HBP": 0.095,
"predicted_HR": 0.1579,
"predicted_OBP": 0.3604,
"predicted_R": 0.6375,
"predicted_RBI": 0.6341,
"predicted_SLG": 0.4638,
"predicted_SO": 0.3541
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1191,
"after": 0.1191,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0334,
"after": 0.0334,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7083,
"after": 3.7083,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2861,
"after": 0.2859,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4308,
"after": 0.4316,
"delta": 0.0008,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0566,
"after": 1.0603,
"delta": 0.0037,
"percent_delta": 0.0035,
"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.1584,
"after": 0.1579,
"delta": -0.0005,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3852,
"after": 0.3604,
"delta": -0.0248,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6323,
"after": 0.6375,
"delta": 0.0052,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6289,
"after": 0.6341,
"delta": 0.0052,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4953,
"after": 0.4638,
"delta": -0.0315,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3547,
"after": 0.3541,
"delta": -0.0006,
"percent_delta": -0.0017,
"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.4953,
"after": 0.4638,
"delta": -0.0315,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.84), rates preserved: AVG=0.276 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1191,
"after": 0.0,
"delta": -0.1191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0334,
"after": 0.0,
"delta": -0.0334,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7083,
"after": 4.0,
"delta": 0.2917,
"percent_delta": 0.0787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4316,
"after": 0.0,
"delta": -0.4316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0603,
"after": 1.0,
"delta": -0.0603,
"percent_delta": -0.0569,
"direction": "deboost",
"projection_effect": "worse",
"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.1579,
"after": 0.0,
"delta": -0.1579,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6341,
"after": 1.0,
"delta": 0.3659,
"percent_delta": 0.577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3541,
"after": 0.0,
"delta": -0.3541,
"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_RBI",
"before": 0.6341,
"after": 1.0,
"delta": 0.3659,
"percent_delta": 0.577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4316,
"after": 0.0,
"delta": -0.4316,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.6375,
"after": 1.0,
"delta": 0.3625,
"percent_delta": 0.5686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6375,
"after": 1.0,
"delta": 0.3625,
"percent_delta": 0.5686,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2859,
"after": 0.25,
"delta": -0.0359,
"percent_delta": -0.1256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3604,
"after": 0.25,
"delta": -0.1104,
"percent_delta": -0.3063,
"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.4638,
"after": 0.25,
"delta": -0.2138,
"percent_delta": -0.461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4638,
"after": 0.25,
"delta": -0.2138,
"percent_delta": -0.461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 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_H",
"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": {}
},
{
"index": 8,
"step": "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.2859,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3604,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4638,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2859,
"delta": 0.0359,
"percent_delta": 0.1437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3604,
"delta": 0.1104,
"percent_delta": 0.4415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4638,
"delta": 0.2138,
"percent_delta": 0.8553,
"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.4638,
"delta": 0.2138,
"percent_delta": 0.8553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 0.0,
"delta": -0.101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.84,
"after": 4.0,
"delta": 0.16,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2859,
"delta": 0.0199,
"percent_delta": 0.0748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"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.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.3604,
"delta": -0.0136,
"percent_delta": -0.0364,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.565,
"after": 1.0,
"delta": 0.435,
"percent_delta": 0.7699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.468,
"after": 0.4638,
"delta": -0.0042,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.348,
"after": 1.0,
"delta": 0.652,
"percent_delta": 1.8736,
"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_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_BB",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"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.101 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 3.840 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.406 | - |
| predicted_H | 1.020 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.374 | - |
| predicted_R | 0.565 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.468 | - |
| predicted_SO | 0.348 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | 0.018 |
| predicted_3B | 0.033 | 0.019 |
| predicted_AB | 3.708 | -0.132 |
| predicted_AVG | 0.286 | 0.020 |
| predicted_BB | 0.431 | 0.025 |
| predicted_H | 1.057 | 0.037 |
| predicted_HBP | 0.095 | - |
| predicted_HR | 0.158 | 0.008 |
| predicted_OBP | 0.385 | 0.011 |
| predicted_R | 0.632 | 0.067 |
| predicted_RBI | 0.629 | 0.019 |
| predicted_SLG | 0.495 | 0.027 |
| predicted_SO | 0.355 | 0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.708 | 0.000 |
| predicted_AVG | 0.286 | -0.000 |
| predicted_BB | 0.432 | 0.001 |
| predicted_H | 1.060 | 0.004 |
| predicted_HBP | 0.095 | 0.000 |
| predicted_HR | 0.158 | -0.001 |
| predicted_OBP | 0.360 | -0.025 |
| predicted_R | 0.637 | 0.005 |
| predicted_RBI | 0.634 | 0.005 |
| predicted_SLG | 0.464 | -0.032 |
| predicted_SO | 0.354 | -0.001 |
AB rounded to 4 (raw=3.84), rates preserved: AVG=0.276 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 | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 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.119 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | 0.292 |
| predicted_AVG | 0.250 | -0.036 |
| predicted_BB | 0.000 | -0.432 |
| predicted_H | 1.000 | -0.060 |
| predicted_HR | 0.000 | -0.158 |
| predicted_OBP | 0.250 | -0.110 |
| predicted_R | 1.000 | 0.363 |
| predicted_RBI | 1.000 | 0.366 |
| predicted_SLG | 0.250 | -0.214 |
| predicted_SO | 0.000 | -0.354 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.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 | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 9.000 | 1.000 | 1.000 | 1.000 | 3.000 | 6.000 | 3.000 | 1.000 | 0.4500 | 0.5417 | 0.7500 | 0.4500 | 0.0500 | 0.1500 | 0.1500 | 0.0500 |
| last_10 | 0.20 | 10 | - | 34.000 | 11.000 | 2.000 | 1.000 | 1.000 | 5.000 | 9.000 | 6.000 | 3.000 | 0.3235 | 0.4286 | 0.5294 | 0.3235 | 0.0294 | 0.1471 | 0.1765 | 0.0882 |
| season | 0.60 | 69 | - | 231.000 | 64.000 | 7.000 | 1.000 | 13.000 | 51.000 | 39.000 | 28.000 | 24.000 | 0.2771 | 0.3606 | 0.4848 | 0.2771 | 0.0563 | 0.2208 | 0.1212 | 0.1039 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0600 |
| predicted_AB | 3.5270 |
| predicted_AVG | 0.3139 |
| predicted_BB | 0.4650 |
| predicted_H | 1.1070 |
| predicted_HBP | 0.0950 |
| predicted_HR | 0.1700 |
| predicted_OBP | 0.4007 |
| predicted_R | 0.7250 |
| predicted_RBI | 0.6550 |
| predicted_SLG | 0.5330 |
| predicted_SO | 0.3640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1010 | 0.1440 | 0.1191 | model_form_blend |
| predicted_3B | 0.0140 | 0.0600 | 0.0334 | model_form_blend |
| predicted_AB | 3.8400 | 3.5270 | 3.7083 | model_form_blend |
| predicted_AVG | 0.2660 | 0.3139 | 0.2861 | model_form_blend |
| predicted_BB | 0.4060 | 0.4650 | 0.4308 | model_form_blend |
| predicted_H | 1.0200 | 1.1070 | 1.0566 | model_form_blend |
| predicted_HBP | - | 0.0950 | 0.0950 | form_only |
| predicted_HR | 0.1500 | 0.1700 | 0.1584 | model_form_blend |
| predicted_OBP | 0.3740 | 0.4007 | 0.3852 | model_form_blend |
| predicted_R | 0.5650 | 0.7250 | 0.6323 | model_form_blend |
| predicted_RBI | 0.6100 | 0.6550 | 0.6289 | model_form_blend |
| predicted_SLG | 0.4680 | 0.5330 | 0.4953 | model_form_blend |
| predicted_SO | 0.3480 | 0.3640 | 0.3547 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| 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 | 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 | 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 | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 689414 |
| playerID | 689414 |
| playerName | Liam Hicks |
| pos | C |
| started | True |
| startingPosition | 1B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 9.1 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.362 |
| sl_xwoba | 0.321 |
| sl_xba | 0.253 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 31.1 |
| sl_exit_velocity_avg | 85.5 |
| sl_launch_angle_avg | 15.2 |
| sl_whiff_percent | 10.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.254 | 0.000 | 0.000 | Hitting_2B | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_3B | 0.042 | 1.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | 0.955 | 1.000 |
| predicted_AB | 4.450 | 4.000 | 4.000 | Hitting_AB | 4.040 | 5.000 | -0.040 | -1.000 |
| predicted_AVG | 0.273 | 0.250 | 0.250 | Hitting_AVG | 0.349 | 0.200 | -0.099 | 0.050 |
| predicted_BB | 0.155 | 0.000 | 0.000 | Hitting_BB | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 1.220 | 1.000 | 1.000 | Hitting_H | 1.409 | 1.000 | -0.409 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.352 | 0.250 | 0.250 | Hitting_OBP | 0.379 | 0.200 | -0.129 | 0.050 |
| predicted_R | 0.620 | 0.000 | 1.000 | Hitting_R | 0.615 | 1.000 | -0.615 | -1.000 |
| predicted_RBI | 0.500 | 0.000 | 0.000 | Hitting_RBI | 0.462 | 0.000 | -0.462 | 0.000 |
| predicted_SLG | 0.434 | 0.750 | 0.250 | Hitting_SLG | 0.494 | 0.200 | 0.256 | 0.550 |
| predicted_SO | 0.648 | 1.000 | 1.000 | Hitting_SO | 0.672 | 1.000 | 0.328 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_3B: 0.0420 -> 1.0000 (boost 0.9580, better) |
| Biggest Deboost | predicted_R: 0.6200 -> 0.0000 (deboost -0.6200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 1.2200 -> 1.3009 (boost 0.0809, better) | predicted_AB: 4.4500 -> 4.3128 (deboost -0.1372, 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.3599 -> 0.3277 (deboost -0.0322, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.6346 -> 1.0000 (boost 0.3654, worse) | predicted_RBI: 0.4969 -> 0.0000 (deboost -0.4969, worse) | AB rounded to 4 (raw=4.45), rates preserved: AVG=0.293 HR/AB=0.018 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6614 -> 1.0000 (boost 0.3386, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4326 -> 0.2500 (deboost -0.1826, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4326 (boost 0.1826, better) | - | 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.254,
"predicted_3B": 0.042,
"predicted_AB": 4.45,
"predicted_AVG": 0.273,
"predicted_BB": 0.155,
"predicted_H": 1.22,
"predicted_HR": 0.1,
"predicted_OBP": 0.352,
"predicted_R": 0.62,
"predicted_RBI": 0.5,
"predicted_SLG": 0.434,
"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.2366,
"predicted_3B": 0.042,
"predicted_AB": 4.3128,
"predicted_AVG": 0.3022,
"predicted_BB": 0.1601,
"predicted_H": 1.3009,
"predicted_HBP": 0.035,
"predicted_HR": 0.0801,
"predicted_OBP": 0.3599,
"predicted_R": 0.656,
"predicted_RBI": 0.4928,
"predicted_SLG": 0.4418,
"predicted_SO": 0.6357
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.254,
"after": 0.2366,
"delta": -0.0174,
"percent_delta": -0.0685,
"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": 4.45,
"after": 4.3128,
"delta": -0.1372,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.3022,
"delta": 0.0292,
"percent_delta": 0.107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.155,
"after": 0.1601,
"delta": 0.0051,
"percent_delta": 0.0329,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.3009,
"delta": 0.0809,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0801,
"delta": -0.0199,
"percent_delta": -0.199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3599,
"delta": 0.0079,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.62,
"after": 0.656,
"delta": 0.036,
"percent_delta": 0.0581,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.4928,
"delta": -0.0072,
"percent_delta": -0.0144,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4418,
"delta": 0.0078,
"percent_delta": 0.018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.648,
"after": 0.6357,
"delta": -0.0123,
"percent_delta": -0.019,
"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": 1.22,
"after": 1.3009,
"delta": 0.0809,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.45,
"after": 4.3128,
"delta": -0.1372,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2366,
"predicted_3B": 0.042,
"predicted_AB": 4.3128,
"predicted_AVG": 0.3027,
"predicted_BB": 0.1604,
"predicted_H": 1.3055,
"predicted_HBP": 0.035,
"predicted_HR": 0.0799,
"predicted_OBP": 0.3277,
"predicted_R": 0.6614,
"predicted_RBI": 0.4969,
"predicted_SLG": 0.4326,
"predicted_SO": 0.6346
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2366,
"after": 0.2366,
"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": 4.3128,
"after": 4.3128,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3022,
"after": 0.3027,
"delta": 0.0005,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1601,
"after": 0.1604,
"delta": 0.0003,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3009,
"after": 1.3055,
"delta": 0.0046,
"percent_delta": 0.0035,
"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.0801,
"after": 0.0799,
"delta": -0.0002,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3599,
"after": 0.3277,
"delta": -0.0322,
"percent_delta": -0.0895,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.656,
"after": 0.6614,
"delta": 0.0054,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4928,
"after": 0.4969,
"delta": 0.0041,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4418,
"after": 0.4326,
"delta": -0.0092,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6357,
"after": 0.6346,
"delta": -0.0011,
"percent_delta": -0.0017,
"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.3599,
"after": 0.3277,
"delta": -0.0322,
"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.45), rates preserved: AVG=0.293 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2366,
"after": 0.0,
"delta": -0.2366,
"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": 4.3128,
"after": 4.0,
"delta": -0.3128,
"percent_delta": -0.0725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1604,
"after": 0.0,
"delta": -0.1604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3055,
"after": 1.0,
"delta": -0.3055,
"percent_delta": -0.234,
"direction": "deboost",
"projection_effect": "worse",
"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.0799,
"after": 0.0,
"delta": -0.0799,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4969,
"after": 0.0,
"delta": -0.4969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6346,
"after": 1.0,
"delta": 0.3654,
"percent_delta": 0.5758,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6346,
"after": 1.0,
"delta": 0.3654,
"percent_delta": 0.5758,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4969,
"after": 0.0,
"delta": -0.4969,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6614,
"after": 1.0,
"delta": 0.3386,
"percent_delta": 0.5119,
"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.6614,
"after": 1.0,
"delta": 0.3386,
"percent_delta": 0.5119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3027,
"after": 0.25,
"delta": -0.0527,
"percent_delta": -0.1741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3277,
"after": 0.25,
"delta": -0.0777,
"percent_delta": -0.2371,
"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.4326,
"after": 0.25,
"delta": -0.1826,
"percent_delta": -0.4221,
"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.4326,
"after": 0.25,
"delta": -0.1826,
"percent_delta": -0.4221,
"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": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.3027,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3277,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4326,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.3027,
"delta": 0.0527,
"percent_delta": 0.2108,
"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.3277,
"delta": 0.0777,
"percent_delta": 0.3108,
"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.4326,
"delta": 0.1826,
"percent_delta": 0.7303,
"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.4326,
"delta": 0.1826,
"percent_delta": 0.7303,
"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.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 1.0,
"delta": 0.958,
"percent_delta": 22.8095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.45,
"after": 4.0,
"delta": -0.45,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.3027,
"delta": 0.0297,
"percent_delta": 0.1088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.155,
"after": 0.0,
"delta": -0.155,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.22,
"after": 1.0,
"delta": -0.22,
"percent_delta": -0.1803,
"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.352,
"after": 0.3277,
"delta": -0.0243,
"percent_delta": -0.069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4326,
"delta": -0.0014,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.042,
"after": 1.0,
"delta": 0.958,
"percent_delta": 22.8095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.254 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 4.450 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.155 | - |
| predicted_H | 1.220 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.352 | - |
| predicted_R | 0.620 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.434 | - |
| 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.237 | -0.017 |
| predicted_3B | 0.042 | 0.000 |
| predicted_AB | 4.313 | -0.137 |
| predicted_AVG | 0.302 | 0.029 |
| predicted_BB | 0.160 | 0.005 |
| predicted_H | 1.301 | 0.081 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.080 | -0.020 |
| predicted_OBP | 0.360 | 0.008 |
| predicted_R | 0.656 | 0.036 |
| predicted_RBI | 0.493 | -0.007 |
| predicted_SLG | 0.442 | 0.008 |
| predicted_SO | 0.636 | -0.012 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | 0.000 |
| predicted_3B | 0.042 | 0.000 |
| predicted_AB | 4.313 | 0.000 |
| predicted_AVG | 0.303 | 0.001 |
| predicted_BB | 0.160 | 0.000 |
| predicted_H | 1.306 | 0.005 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.080 | -0.000 |
| predicted_OBP | 0.328 | -0.032 |
| predicted_R | 0.661 | 0.005 |
| predicted_RBI | 0.497 | 0.004 |
| predicted_SLG | 0.433 | -0.009 |
| predicted_SO | 0.635 | -0.001 |
AB rounded to 4 (raw=4.45), rates preserved: AVG=0.293 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.237 |
| predicted_3B | 0.000 | -0.042 |
| predicted_AB | 4.000 | -0.313 |
| predicted_AVG | 0.250 | -0.053 |
| predicted_BB | 0.000 | -0.160 |
| predicted_H | 1.000 | -0.306 |
| predicted_HR | 0.000 | -0.080 |
| predicted_OBP | 0.250 | -0.078 |
| predicted_R | 1.000 | 0.339 |
| predicted_RBI | 0.000 | -0.497 |
| predicted_SLG | 0.250 | -0.183 |
| predicted_SO | 1.000 | 0.365 |
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 | 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 | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 8.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 1.000 | 2.000 | 0.3636 | 0.3913 | 0.3636 | 0.3636 | 0.0000 | 0.1364 | 0.0454 | 0.0909 |
| last_10 | 0.20 | 10 | - | 44.000 | 16.000 | 3.000 | 1.000 | 0.000 | 5.000 | 10.000 | 1.000 | 6.000 | 0.3636 | 0.3778 | 0.4773 | 0.3636 | 0.0000 | 0.1136 | 0.0227 | 0.1364 |
| season | 0.60 | 71 | - | 283.000 | 97.000 | 18.000 | 3.000 | 5.000 | 31.000 | 44.000 | 11.000 | 46.000 | 0.3428 | 0.3709 | 0.4806 | 0.3428 | 0.0177 | 0.1095 | 0.0389 | 0.1625 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2130 |
| predicted_3B | 0.0420 |
| predicted_AB | 4.1260 |
| predicted_AVG | 0.3420 |
| predicted_BB | 0.1670 |
| predicted_H | 1.4110 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.0530 |
| predicted_OBP | 0.3707 |
| predicted_R | 0.7050 |
| predicted_RBI | 0.4830 |
| predicted_SLG | 0.4523 |
| predicted_SO | 0.6190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2540 | 0.2130 | 0.2366 | model_form_blend |
| predicted_3B | 0.0420 | 0.0420 | 0.0420 | model_form_blend |
| predicted_AB | 4.4500 | 4.1260 | 4.3128 | model_form_blend |
| predicted_AVG | 0.2730 | 0.3420 | 0.3022 | model_form_blend |
| predicted_BB | 0.1550 | 0.1670 | 0.1601 | model_form_blend |
| predicted_H | 1.2200 | 1.4110 | 1.3009 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.1000 | 0.0530 | 0.0801 | model_form_blend |
| predicted_OBP | 0.3520 | 0.3707 | 0.3599 | model_form_blend |
| predicted_R | 0.6200 | 0.7050 | 0.6560 | model_form_blend |
| predicted_RBI | 0.5000 | 0.4830 | 0.4928 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4523 | 0.4418 | model_form_blend |
| predicted_SO | 0.6480 | 0.6190 | 0.6357 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 247 |
| Season rows before report date | 247 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.343 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 672640 |
| playerID | 672640 |
| playerName | Otto Lopez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 15.2 |
| sl_bb_percent | 3.7 |
| sl_woba | 0.375 |
| sl_xwoba | 0.341 |
| sl_xba | 0.299 |
| sl_xslg | 0.456 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 46.0 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 6.0 |
| sl_whiff_percent | 20.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_2B | 0.023 | 0.000 | 0.000 | Hitting_2B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_AB | 3.050 | 2.000 | 3.000 | Hitting_AB | 3.254 | 4.000 | -1.254 | -2.000 |
| predicted_AVG | 0.268 | 0.000 | 0.333 | Hitting_AVG | 0.210 | 0.250 | -0.210 | -0.250 |
| predicted_BB | 0.233 | 0.000 | 0.000 | Hitting_BB | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.820 | 0.000 | 1.000 | Hitting_H | 0.684 | 1.000 | -0.684 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.070 | 1.000 | -0.070 | -1.000 |
| predicted_OBP | 0.321 | 0.333 | 0.333 | Hitting_OBP | 0.283 | 0.250 | 0.050 | 0.083 |
| predicted_R | 0.326 | 0.000 | 0.000 | Hitting_R | 0.254 | 1.000 | -0.254 | -1.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.561 | 1.000 | -0.561 | -1.000 |
| predicted_SLG | 0.453 | 0.000 | 0.333 | Hitting_SLG | 0.305 | 1.000 | -0.305 | -1.000 |
| predicted_SO | 0.814 | 0.000 | 1.000 | Hitting_SO | 0.781 | 2.000 | -0.781 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 7 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 6 |
| Biggest Boost | - |
| Biggest Deboost | predicted_AB: 3.0500 -> 2.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 | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0500 -> 3.1654 (boost 0.1154, better) | - | Final model input calibrated with local 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.4637 -> 0.4567 (deboost -0.0070, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_RBI: 0.5787 -> 1.0000 (boost 0.4213, better) | predicted_BB: 0.2338 -> 0.0000 (deboost -0.2338, worse) | AB rounded to 3 (raw=3.17), rates preserved: AVG=0.272 HR/AB=0.052 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4004 -> 0.0000 (deboost -0.4004, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2721 -> 0.3330 (boost 0.0609, better) | predicted_SLG: 0.4567 -> 0.3330 (deboost -0.1237, 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_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4567 (boost 0.1237, better) | predicted_AVG: 0.3330 -> 0.2721 (deboost -0.0609, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681715",
"player_name": "Heriberto Hernández",
"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.023,
"predicted_3B": 0.023,
"predicted_AB": 3.05,
"predicted_AVG": 0.268,
"predicted_BB": 0.233,
"predicted_H": 0.82,
"predicted_HR": 0.15,
"predicted_OBP": 0.321,
"predicted_R": 0.326,
"predicted_RBI": 0.54,
"predicted_SLG": 0.453,
"predicted_SO": 0.814
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0494,
"predicted_3B": 0.0198,
"predicted_AB": 3.1654,
"predicted_AVG": 0.2705,
"predicted_BB": 0.2334,
"predicted_H": 0.8583,
"predicted_HBP": 0.018,
"predicted_HR": 0.1656,
"predicted_OBP": 0.3227,
"predicted_R": 0.3971,
"predicted_RBI": 0.5739,
"predicted_SLG": 0.4637,
"predicted_SO": 0.8419
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.023,
"after": 0.0494,
"delta": 0.0264,
"percent_delta": 1.1478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0198,
"delta": -0.0032,
"percent_delta": -0.1391,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.05,
"after": 3.1654,
"delta": 0.1154,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2705,
"delta": 0.0025,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.2334,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8583,
"delta": 0.0383,
"percent_delta": 0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1656,
"delta": 0.0156,
"percent_delta": 0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3227,
"delta": 0.0017,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.3971,
"delta": 0.0711,
"percent_delta": 0.2181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.5739,
"delta": 0.0339,
"percent_delta": 0.0628,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4637,
"delta": 0.0107,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.814,
"after": 0.8419,
"delta": 0.0279,
"percent_delta": 0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.05,
"after": 3.1654,
"delta": 0.1154,
"percent_delta": 0.0378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0494,
"predicted_3B": 0.0198,
"predicted_AB": 3.1654,
"predicted_AVG": 0.2721,
"predicted_BB": 0.2338,
"predicted_H": 0.8613,
"predicted_HBP": 0.018,
"predicted_HR": 0.1651,
"predicted_OBP": 0.3222,
"predicted_R": 0.4004,
"predicted_RBI": 0.5787,
"predicted_SLG": 0.4567,
"predicted_SO": 0.8404
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0494,
"after": 0.0494,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0198,
"after": 0.0198,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1654,
"after": 3.1654,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2705,
"after": 0.2721,
"delta": 0.0016,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2334,
"after": 0.2338,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8583,
"after": 0.8613,
"delta": 0.003,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1656,
"after": 0.1651,
"delta": -0.0005,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.3222,
"delta": -0.0005,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3971,
"after": 0.4004,
"delta": 0.0033,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5739,
"after": 0.5787,
"delta": 0.0048,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4637,
"after": 0.4567,
"delta": -0.007,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8419,
"after": 0.8404,
"delta": -0.0015,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4637,
"after": 0.4567,
"delta": -0.007,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.17), rates preserved: AVG=0.272 HR/AB=0.052",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0494,
"after": 0.0,
"delta": -0.0494,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0198,
"after": 0.0,
"delta": -0.0198,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1654,
"after": 3.0,
"delta": -0.1654,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2338,
"after": 0.0,
"delta": -0.2338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8613,
"after": 1.0,
"delta": 0.1387,
"percent_delta": 0.161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1651,
"after": 0.0,
"delta": -0.1651,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5787,
"after": 1.0,
"delta": 0.4213,
"percent_delta": 0.728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8404,
"after": 1.0,
"delta": 0.1596,
"percent_delta": 0.1899,
"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.5787,
"after": 1.0,
"delta": 0.4213,
"percent_delta": 0.728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2338,
"after": 0.0,
"delta": -0.2338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4004,
"after": 0.0,
"delta": -0.4004,
"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.4004,
"after": 0.0,
"delta": -0.4004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2721,
"after": 0.333,
"delta": 0.0609,
"percent_delta": 0.2238,
"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.3222,
"after": 0.333,
"delta": 0.0108,
"percent_delta": 0.0335,
"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.4567,
"after": 0.333,
"delta": -0.1237,
"percent_delta": -0.2709,
"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.2721,
"after": 0.333,
"delta": 0.0609,
"percent_delta": 0.2238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4567,
"after": 0.333,
"delta": -0.1237,
"percent_delta": -0.2709,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_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": 3.0,
"after": 2.0,
"delta": -1.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": 2.0,
"predicted_AVG": 0.2721,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3222,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4567,
"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.333,
"after": 0.2721,
"delta": -0.0609,
"percent_delta": -0.1829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3222,
"delta": -0.0108,
"percent_delta": -0.0325,
"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.4567,
"delta": 0.1237,
"percent_delta": 0.3715,
"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.4567,
"delta": 0.1237,
"percent_delta": 0.3715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2721,
"delta": -0.0609,
"percent_delta": -0.1829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"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.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.05,
"after": 2.0,
"delta": -1.05,
"percent_delta": -0.3443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2721,
"delta": 0.0041,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3222,
"delta": 0.0012,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.453,
"after": 0.4567,
"delta": 0.0037,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.814,
"after": 0.0,
"delta": -0.814,
"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": 3.05,
"after": 2.0,
"delta": -1.05,
"percent_delta": -0.3443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.023 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.050 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.233 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.326 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.453 | - |
| predicted_SO | 0.814 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.049 | 0.026 |
| predicted_3B | 0.020 | -0.003 |
| predicted_AB | 3.165 | 0.115 |
| predicted_AVG | 0.271 | 0.003 |
| predicted_BB | 0.233 | 0.000 |
| predicted_H | 0.858 | 0.038 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.166 | 0.016 |
| predicted_OBP | 0.323 | 0.002 |
| predicted_R | 0.397 | 0.071 |
| predicted_RBI | 0.574 | 0.034 |
| predicted_SLG | 0.464 | 0.011 |
| predicted_SO | 0.842 | 0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.049 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.165 | 0.000 |
| predicted_AVG | 0.272 | 0.002 |
| predicted_BB | 0.234 | 0.000 |
| predicted_H | 0.861 | 0.003 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.165 | -0.001 |
| predicted_OBP | 0.322 | -0.001 |
| predicted_R | 0.400 | 0.003 |
| predicted_RBI | 0.579 | 0.005 |
| predicted_SLG | 0.457 | -0.007 |
| predicted_SO | 0.840 | -0.001 |
AB rounded to 3 (raw=3.17), rates preserved: AVG=0.272 HR/AB=0.052
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.049 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 3.000 | -0.165 |
| predicted_AVG | 0.333 | 0.061 |
| predicted_BB | 0.000 | -0.234 |
| predicted_H | 1.000 | 0.139 |
| predicted_HR | 0.000 | -0.165 |
| predicted_OBP | 0.333 | 0.011 |
| predicted_R | 0.000 | -0.400 |
| predicted_RBI | 1.000 | 0.421 |
| predicted_SLG | 0.333 | -0.124 |
| predicted_SO | 1.000 | 0.160 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 1.000 | 4.000 | 0.3529 | 0.3889 | 0.5882 | 0.3529 | 0.0588 | 0.1765 | 0.0588 | 0.2353 |
| last_10 | 0.20 | 10 | - | 36.000 | 12.000 | 1.000 | 0.000 | 4.000 | 8.000 | 8.000 | 2.000 | 12.000 | 0.3333 | 0.3684 | 0.6944 | 0.3333 | 0.1111 | 0.2222 | 0.0556 | 0.3333 |
| season | 0.60 | 43 | - | 131.000 | 31.000 | 1.000 | 1.000 | 6.000 | 26.000 | 14.000 | 10.000 | 35.000 | 0.2366 | 0.2937 | 0.3969 | 0.2366 | 0.0458 | 0.1985 | 0.0763 | 0.2672 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0890 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.3390 |
| predicted_AVG | 0.2742 |
| predicted_BB | 0.2340 |
| predicted_H | 0.9160 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1890 |
| predicted_OBP | 0.3252 |
| predicted_R | 0.5040 |
| predicted_RBI | 0.6250 |
| predicted_SLG | 0.4799 |
| predicted_SO | 0.8840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0230 | 0.0890 | 0.0494 | model_form_blend |
| predicted_3B | 0.0230 | 0.0150 | 0.0198 | model_form_blend |
| predicted_AB | 3.0500 | 3.3390 | 3.1654 | model_form_blend |
| predicted_AVG | 0.2680 | 0.2742 | 0.2705 | model_form_blend |
| predicted_BB | 0.2330 | 0.2340 | 0.2334 | model_form_blend |
| predicted_H | 0.8200 | 0.9160 | 0.8583 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1500 | 0.1890 | 0.1656 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3252 | 0.3227 | model_form_blend |
| predicted_R | 0.3260 | 0.5040 | 0.3971 | model_form_blend |
| predicted_RBI | 0.5400 | 0.6250 | 0.5739 | model_form_blend |
| predicted_SLG | 0.4530 | 0.4799 | 0.4637 | model_form_blend |
| predicted_SO | 0.8140 | 0.8840 | 0.8419 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 43 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.237 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-RF |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 681715 |
| playerID | 681715 |
| playerName | Heriberto Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.2 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.307 |
| sl_xwoba | 0.358 |
| sl_xba | 0.271 |
| sl_xslg | 0.474 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 48.4 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 32.2 |
| sl_swing_percent | 46.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.167 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.833 | 3.000 | 3.000 | Hitting_AB | 3.105 | 2.000 | -0.105 | 1.000 |
| predicted_AVG | 0.232 | 0.000 | 0.333 | Hitting_AVG | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_BB | 0.217 | 0.000 | 0.000 | Hitting_BB | 0.228 | 0.000 | -0.228 | 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.704 | 0.000 | -0.704 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_OBP | 0.259 | 0.000 | 0.333 | Hitting_OBP | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_R | 0.317 | 0.000 | 0.000 | Hitting_R | 0.340 | 0.000 | -0.340 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.630 | 0.000 | -0.630 | 0.000 |
| predicted_SLG | 0.370 | 0.000 | 0.333 | Hitting_SLG | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_SO | 1.283 | 1.000 | 1.000 | Hitting_SO | 1.407 | 2.000 | -0.407 | -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_AB: 2.8330 -> 3.0000 (boost 0.1670, 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 | 5 | 1 | 4 | 2 | 3 | predicted_AB: 2.8330 -> 2.9003 (boost 0.0673, better) | predicted_SO: 1.2830 -> 1.2252 (deboost -0.0578, better) | Final model input calibrated with local 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.3641 -> 0.3906 (boost 0.0265, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_RBI: 0.6040 -> 1.0000 (boost 0.3960, better) | predicted_SO: 1.2230 -> 1.0000 (deboost -0.2230, better) | AB rounded to 3 (raw=2.90), rates preserved: AVG=0.209 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3122 -> 0.0000 (deboost -0.3122, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2087 -> 0.3330 (boost 0.1243, better) | predicted_SLG: 0.3906 -> 0.3330 (deboost -0.0576, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3906 (boost 0.0576, better) | predicted_AVG: 0.3330 -> 0.2087 (deboost -0.1243, worse) | 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.167,
"predicted_3B": 0.0,
"predicted_AB": 2.833,
"predicted_AVG": 0.232,
"predicted_BB": 0.217,
"predicted_H": 0.65,
"predicted_HR": 0.12,
"predicted_OBP": 0.259,
"predicted_R": 0.317,
"predicted_RBI": 0.56,
"predicted_SLG": 0.37,
"predicted_SO": 1.283
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local 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.0008,
"predicted_AB": 2.9003,
"predicted_AVG": 0.2102,
"predicted_BB": 0.2223,
"predicted_H": 0.6032,
"predicted_HBP": 0.022,
"predicted_HR": 0.1204,
"predicted_OBP": 0.2499,
"predicted_R": 0.3096,
"predicted_RBI": 0.599,
"predicted_SLG": 0.3641,
"predicted_SO": 1.2252
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1658,
"delta": -0.0012,
"percent_delta": -0.0072,
"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.833,
"after": 2.9003,
"delta": 0.0673,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2102,
"delta": -0.0218,
"percent_delta": -0.094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.217,
"after": 0.2223,
"delta": 0.0053,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.6032,
"delta": -0.0468,
"percent_delta": -0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1204,
"delta": 0.0004,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.259,
"after": 0.2499,
"delta": -0.0091,
"percent_delta": -0.0351,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.317,
"after": 0.3096,
"delta": -0.0074,
"percent_delta": -0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.599,
"delta": 0.039,
"percent_delta": 0.0696,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3641,
"delta": -0.0059,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.283,
"after": 1.2252,
"delta": -0.0578,
"percent_delta": -0.0451,
"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.833,
"after": 2.9003,
"delta": 0.0673,
"percent_delta": 0.0238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.283,
"after": 1.2252,
"delta": -0.0578,
"percent_delta": -0.0451,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1658,
"predicted_3B": 0.0008,
"predicted_AB": 2.9003,
"predicted_AVG": 0.2087,
"predicted_BB": 0.2227,
"predicted_H": 0.6053,
"predicted_HBP": 0.022,
"predicted_HR": 0.1201,
"predicted_OBP": 0.2651,
"predicted_R": 0.3122,
"predicted_RBI": 0.604,
"predicted_SLG": 0.3906,
"predicted_SO": 1.223
},
"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.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9003,
"after": 2.9003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2102,
"after": 0.2087,
"delta": -0.0015,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2223,
"after": 0.2227,
"delta": 0.0004,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6032,
"after": 0.6053,
"delta": 0.0021,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1204,
"after": 0.1201,
"delta": -0.0003,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2499,
"after": 0.2651,
"delta": 0.0152,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3096,
"after": 0.3122,
"delta": 0.0026,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.599,
"after": 0.604,
"delta": 0.005,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3641,
"after": 0.3906,
"delta": 0.0265,
"percent_delta": 0.0728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2252,
"after": 1.223,
"delta": -0.0022,
"percent_delta": -0.0018,
"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.3641,
"after": 0.3906,
"delta": 0.0265,
"percent_delta": 0.0728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.90), rates preserved: AVG=0.209 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1658,
"after": 0.0,
"delta": -0.1658,
"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": 2.9003,
"after": 3.0,
"delta": 0.0997,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2227,
"after": 0.0,
"delta": -0.2227,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6053,
"after": 1.0,
"delta": 0.3947,
"percent_delta": 0.6521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1201,
"after": 0.0,
"delta": -0.1201,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.223,
"after": 1.0,
"delta": -0.223,
"percent_delta": -0.1823,
"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.604,
"after": 1.0,
"delta": 0.396,
"percent_delta": 0.6556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.223,
"after": 1.0,
"delta": -0.223,
"percent_delta": -0.1823,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3122,
"after": 0.0,
"delta": -0.3122,
"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.3122,
"after": 0.0,
"delta": -0.3122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2087,
"after": 0.333,
"delta": 0.1243,
"percent_delta": 0.5956,
"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.2651,
"after": 0.333,
"delta": 0.0679,
"percent_delta": 0.2561,
"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.3906,
"after": 0.333,
"delta": -0.0576,
"percent_delta": -0.1475,
"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.2087,
"after": 0.333,
"delta": 0.1243,
"percent_delta": 0.5956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3906,
"after": 0.333,
"delta": -0.0576,
"percent_delta": -0.1475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2087,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2651,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3906,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2087,
"delta": -0.1243,
"percent_delta": -0.3733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2651,
"delta": -0.0679,
"percent_delta": -0.2038,
"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.3906,
"delta": 0.0576,
"percent_delta": 0.173,
"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.3906,
"delta": 0.0576,
"percent_delta": 0.173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2087,
"delta": -0.1243,
"percent_delta": -0.3733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.833,
"after": 3.0,
"delta": 0.167,
"percent_delta": 0.0589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2087,
"delta": -0.0233,
"percent_delta": -0.1004,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.0,
"delta": -0.65,
"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.259,
"after": 0.2651,
"delta": 0.0061,
"percent_delta": 0.0236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.317,
"after": 0.0,
"delta": -0.317,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3906,
"delta": 0.0206,
"percent_delta": 0.0557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.283,
"after": 1.0,
"delta": -0.283,
"percent_delta": -0.2206,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.833,
"after": 3.0,
"delta": 0.167,
"percent_delta": 0.0589,
"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.167 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.833 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.217 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.259 | - |
| predicted_R | 0.317 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.370 | - |
| predicted_SO | 1.283 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.900 | 0.067 |
| predicted_AVG | 0.210 | -0.022 |
| predicted_BB | 0.222 | 0.005 |
| predicted_H | 0.603 | -0.047 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.120 | 0.000 |
| predicted_OBP | 0.250 | -0.009 |
| predicted_R | 0.310 | -0.007 |
| predicted_RBI | 0.599 | 0.039 |
| predicted_SLG | 0.364 | -0.006 |
| predicted_SO | 1.225 | -0.058 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.166 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.900 | 0.000 |
| predicted_AVG | 0.209 | -0.002 |
| predicted_BB | 0.223 | 0.000 |
| predicted_H | 0.605 | 0.002 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.120 | -0.000 |
| predicted_OBP | 0.265 | 0.015 |
| predicted_R | 0.312 | 0.003 |
| predicted_RBI | 0.604 | 0.005 |
| predicted_SLG | 0.391 | 0.027 |
| predicted_SO | 1.223 | -0.002 |
AB rounded to 3 (raw=2.90), rates preserved: AVG=0.209 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.166 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.100 |
| predicted_AVG | 0.333 | 0.124 |
| predicted_BB | 0.000 | -0.223 |
| predicted_H | 1.000 | 0.395 |
| predicted_HR | 0.000 | -0.120 |
| predicted_OBP | 0.333 | 0.068 |
| predicted_R | 0.000 | -0.312 |
| predicted_RBI | 1.000 | 0.396 |
| predicted_SLG | 0.333 | -0.058 |
| predicted_SO | 1.000 | -0.223 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 1.000 | 0.000 | 1.000 | 5.000 | 1.000 | 0.000 | 4.000 | 0.1250 | 0.1250 | 0.3750 | 0.1250 | 0.0625 | 0.3125 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 26.000 | 2.000 | 1.000 | 0.000 | 1.000 | 6.000 | 2.000 | 4.000 | 11.000 | 0.0769 | 0.1935 | 0.2308 | 0.0769 | 0.0385 | 0.2308 | 0.1538 | 0.4231 |
| season | 0.60 | 60 | - | 170.000 | 36.000 | 10.000 | 0.000 | 6.000 | 35.000 | 19.000 | 13.000 | 77.000 | 0.2118 | 0.2684 | 0.3765 | 0.2118 | 0.0353 | 0.2059 | 0.0765 | 0.4529 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9970 |
| predicted_AVG | 0.1788 |
| predicted_BB | 0.2300 |
| predicted_H | 0.5360 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.2368 |
| predicted_R | 0.2990 |
| predicted_RBI | 0.6550 |
| predicted_SLG | 0.3556 |
| predicted_SO | 1.1420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1640 | 0.1658 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8330 | 2.9970 | 2.9003 | model_form_blend |
| predicted_AVG | 0.2320 | 0.1788 | 0.2102 | model_form_blend |
| predicted_BB | 0.2170 | 0.2300 | 0.2223 | model_form_blend |
| predicted_H | 0.6500 | 0.5360 | 0.6032 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1200 | 0.1210 | 0.1204 | model_form_blend |
| predicted_OBP | 0.2590 | 0.2368 | 0.2499 | model_form_blend |
| predicted_R | 0.3170 | 0.2990 | 0.3096 | model_form_blend |
| predicted_RBI | 0.5600 | 0.6550 | 0.5990 | model_form_blend |
| predicted_SLG | 0.3700 | 0.3556 | 0.3641 | model_form_blend |
| predicted_SO | 1.2830 | 1.1420 | 1.2252 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.212 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 683357 |
| playerID | 683357 |
| playerName | Owen Caissie |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 39.7 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.287 |
| sl_xwoba | 0.291 |
| sl_xba | 0.206 |
| sl_xslg | 0.389 |
| sl_sweet_spot_percent | 45.9 |
| sl_barrel_batted_rate | 13.3 |
| sl_hard_hit_percent | 45.9 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 35.5 |
| sl_swing_percent | 46.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.224 | 0.000 | 0.000 | Hitting_2B | 0.221 | 0.000 | -0.221 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 4.010 | 4.000 | 4.000 | Hitting_AB | 3.773 | 5.000 | 0.227 | -1.000 |
| predicted_AVG | 0.227 | 0.000 | 0.250 | Hitting_AVG | 0.208 | 0.200 | -0.208 | -0.200 |
| predicted_BB | 0.388 | 0.000 | 0.000 | Hitting_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 0.910 | 0.000 | 1.000 | Hitting_H | 0.786 | 1.000 | -0.786 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.318 | 0.000 | 0.250 | Hitting_OBP | 0.300 | 0.200 | -0.300 | -0.200 |
| predicted_R | 0.429 | 0.000 | 0.000 | Hitting_R | 0.487 | 0.000 | -0.487 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.344 | 1.000 | -0.344 | -1.000 |
| predicted_SLG | 0.384 | 0.000 | 0.250 | Hitting_SLG | 0.343 | 0.200 | -0.343 | -0.200 |
| predicted_SO | 1.245 | 2.000 | 1.000 | Hitting_SO | 1.240 | 2.000 | 0.760 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 7 |
| Better Metrics | 0 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.2450 -> 2.0000 (boost 0.7550, 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.0100 -> 3.8680 (deboost -0.1420, 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.3193 -> 0.2974 (deboost -0.0219, 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.6326 -> 1.0000 (boost 0.3674, better) | predicted_BB: 0.4015 -> 0.0000 (deboost -0.4015, worse) | AB rounded to 4 (raw=4.01), rates preserved: AVG=0.217 HR/AB=0.032 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4404 -> 0.0000 (deboost -0.4404, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2245 -> 0.2500 (boost 0.0255, better) | predicted_SLG: 0.3864 -> 0.2500 (deboost -0.1364, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3864 (boost 0.1364, better) | predicted_AVG: 0.2500 -> 0.2245 (deboost -0.0255, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669065",
"player_name": "Kyle Stowers",
"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.224,
"predicted_3B": 0.02,
"predicted_AB": 4.01,
"predicted_AVG": 0.227,
"predicted_BB": 0.388,
"predicted_H": 0.91,
"predicted_HR": 0.13,
"predicted_OBP": 0.318,
"predicted_R": 0.429,
"predicted_RBI": 0.62,
"predicted_SLG": 0.384,
"predicted_SO": 1.245
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1964,
"predicted_3B": 0.0241,
"predicted_AB": 3.868,
"predicted_AVG": 0.2236,
"predicted_BB": 0.4008,
"predicted_H": 0.8654,
"predicted_HBP": 0.156,
"predicted_HR": 0.1275,
"predicted_OBP": 0.3193,
"predicted_R": 0.4368,
"predicted_RBI": 0.6274,
"predicted_SLG": 0.382,
"predicted_SO": 1.2491
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.224,
"after": 0.1964,
"delta": -0.0276,
"percent_delta": -0.1232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0241,
"delta": 0.0041,
"percent_delta": 0.205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 3.868,
"delta": -0.142,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2236,
"delta": -0.0034,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.4008,
"delta": 0.0128,
"percent_delta": 0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.8654,
"delta": -0.0446,
"percent_delta": -0.049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1275,
"delta": -0.0025,
"percent_delta": -0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3193,
"delta": 0.0013,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.4368,
"delta": 0.0078,
"percent_delta": 0.0182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.6274,
"delta": 0.0074,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.384,
"after": 0.382,
"delta": -0.002,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.245,
"after": 1.2491,
"delta": 0.0041,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.01,
"after": 3.868,
"delta": -0.142,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1964,
"predicted_3B": 0.0241,
"predicted_AB": 3.868,
"predicted_AVG": 0.2245,
"predicted_BB": 0.4015,
"predicted_H": 0.8684,
"predicted_HBP": 0.156,
"predicted_HR": 0.1271,
"predicted_OBP": 0.2974,
"predicted_R": 0.4404,
"predicted_RBI": 0.6326,
"predicted_SLG": 0.3864,
"predicted_SO": 1.2469
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1964,
"after": 0.1964,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0241,
"after": 0.0241,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.868,
"after": 3.868,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2236,
"after": 0.2245,
"delta": 0.0009,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4008,
"after": 0.4015,
"delta": 0.0007,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8654,
"after": 0.8684,
"delta": 0.003,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.156,
"after": 0.156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1275,
"after": 0.1271,
"delta": -0.0004,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3193,
"after": 0.2974,
"delta": -0.0219,
"percent_delta": -0.0686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4368,
"after": 0.4404,
"delta": 0.0036,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6274,
"after": 0.6326,
"delta": 0.0052,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3864,
"delta": 0.0044,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.2491,
"after": 1.2469,
"delta": -0.0022,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3193,
"after": 0.2974,
"delta": -0.0219,
"percent_delta": -0.0686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.01), rates preserved: AVG=0.217 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1964,
"after": 0.0,
"delta": -0.1964,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0241,
"after": 0.0,
"delta": -0.0241,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.868,
"after": 4.0,
"delta": 0.132,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4015,
"after": 0.0,
"delta": -0.4015,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8684,
"after": 1.0,
"delta": 0.1316,
"percent_delta": 0.1515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1271,
"after": 0.0,
"delta": -0.1271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6326,
"after": 1.0,
"delta": 0.3674,
"percent_delta": 0.5808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2469,
"after": 1.0,
"delta": -0.2469,
"percent_delta": -0.198,
"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.6326,
"after": 1.0,
"delta": 0.3674,
"percent_delta": 0.5808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": "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": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4404,
"after": 0.0,
"delta": -0.4404,
"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.4404,
"after": 0.0,
"delta": -0.4404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2245,
"after": 0.25,
"delta": 0.0255,
"percent_delta": 0.1136,
"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.2974,
"after": 0.25,
"delta": -0.0474,
"percent_delta": -0.1594,
"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.3864,
"after": 0.25,
"delta": -0.1364,
"percent_delta": -0.353,
"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.2245,
"after": 0.25,
"delta": 0.0255,
"percent_delta": 0.1136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3864,
"after": 0.25,
"delta": -0.1364,
"percent_delta": -0.353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 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": 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.2245,
"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.2974,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3864,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2245,
"delta": -0.0255,
"percent_delta": -0.1019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2974,
"delta": 0.0474,
"percent_delta": 0.1898,
"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.3864,
"delta": 0.1364,
"percent_delta": 0.5454,
"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.3864,
"delta": 0.1364,
"percent_delta": 0.5454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2245,
"delta": -0.0255,
"percent_delta": -0.1019,
"direction": "deboost",
"projection_effect": "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.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.01,
"after": 4.0,
"delta": -0.01,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2245,
"delta": -0.0025,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.91,
"after": 0.0,
"delta": -0.91,
"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.318,
"after": 0.2974,
"delta": -0.0206,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"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.384,
"after": 0.3864,
"delta": 0.0024,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.245,
"after": 2.0,
"delta": 0.755,
"percent_delta": 0.6064,
"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.245,
"after": 2.0,
"delta": 0.755,
"percent_delta": 0.6064,
"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.224 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.010 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.388 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.384 | - |
| predicted_SO | 1.245 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.196 | -0.028 |
| predicted_3B | 0.024 | 0.004 |
| predicted_AB | 3.868 | -0.142 |
| predicted_AVG | 0.224 | -0.003 |
| predicted_BB | 0.401 | 0.013 |
| predicted_H | 0.865 | -0.045 |
| predicted_HBP | 0.156 | - |
| predicted_HR | 0.128 | -0.003 |
| predicted_OBP | 0.319 | 0.001 |
| predicted_R | 0.437 | 0.008 |
| predicted_RBI | 0.627 | 0.007 |
| predicted_SLG | 0.382 | -0.002 |
| predicted_SO | 1.249 | 0.004 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.196 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.868 | 0.000 |
| predicted_AVG | 0.225 | 0.001 |
| predicted_BB | 0.402 | 0.001 |
| predicted_H | 0.868 | 0.003 |
| predicted_HBP | 0.156 | 0.000 |
| predicted_HR | 0.127 | -0.000 |
| predicted_OBP | 0.297 | -0.022 |
| predicted_R | 0.440 | 0.004 |
| predicted_RBI | 0.633 | 0.005 |
| predicted_SLG | 0.386 | 0.004 |
| predicted_SO | 1.247 | -0.002 |
AB rounded to 4 (raw=4.01), rates preserved: AVG=0.217 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 | 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 | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.196 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.132 |
| predicted_AVG | 0.250 | 0.025 |
| predicted_BB | 0.000 | -0.402 |
| predicted_H | 1.000 | 0.132 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.250 | -0.047 |
| predicted_R | 0.000 | -0.440 |
| predicted_RBI | 1.000 | 0.367 |
| predicted_SLG | 0.250 | -0.136 |
| 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 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 1.000 | 5.000 | 3.000 | 3.000 | 7.000 | 0.2353 | 0.4091 | 0.4118 | 0.2353 | 0.0588 | 0.2941 | 0.1765 | 0.4118 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 1.000 | 1.000 | 1.000 | 9.000 | 3.000 | 4.000 | 14.000 | 0.1892 | 0.2955 | 0.3514 | 0.1892 | 0.0270 | 0.2432 | 0.1081 | 0.3784 |
| season | 0.60 | 49 | - | 181.000 | 39.000 | 11.000 | 1.000 | 5.000 | 22.000 | 21.000 | 19.000 | 61.000 | 0.2155 | 0.3024 | 0.3702 | 0.2155 | 0.0276 | 0.1216 | 0.1050 | 0.3370 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0300 |
| predicted_AB | 3.6660 |
| predicted_AVG | 0.2188 |
| predicted_BB | 0.4190 |
| predicted_H | 0.8020 |
| predicted_HBP | 0.1560 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.3212 |
| predicted_R | 0.4480 |
| predicted_RBI | 0.6380 |
| predicted_SLG | 0.3792 |
| predicted_SO | 1.2550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2240 | 0.1570 | 0.1964 | model_form_blend |
| predicted_3B | 0.0200 | 0.0300 | 0.0241 | model_form_blend |
| predicted_AB | 4.0100 | 3.6660 | 3.8680 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2188 | 0.2236 | model_form_blend |
| predicted_BB | 0.3880 | 0.4190 | 0.4008 | model_form_blend |
| predicted_H | 0.9100 | 0.8020 | 0.8654 | model_form_blend |
| predicted_HBP | - | 0.1560 | 0.1560 | form_only |
| predicted_HR | 0.1300 | 0.1240 | 0.1275 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3212 | 0.3193 | model_form_blend |
| predicted_R | 0.4290 | 0.4480 | 0.4368 | model_form_blend |
| predicted_RBI | 0.6200 | 0.6380 | 0.6274 | model_form_blend |
| predicted_SLG | 0.3840 | 0.3792 | 0.3820 | model_form_blend |
| predicted_SO | 1.2450 | 1.2550 | 1.2491 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 154 |
| Season rows before report date | 154 |
| Report year | 2026 |
| Profile rows used | 49 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.215 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | DH |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 669065 |
| playerID | 669065 |
| playerName | Kyle Stowers |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.303 |
| sl_xwoba | 0.314 |
| sl_xba | 0.228 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 8.4 |
| sl_hard_hit_percent | 49.6 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 34.3 |
| 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.130 | 0.000 | 0.000 | Hitting_2B | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_AB | 3.478 | 3.000 | 3.000 | Hitting_AB | 3.651 | 4.000 | -0.651 | -1.000 |
| predicted_AVG | 0.232 | 0.000 | 0.333 | Hitting_AVG | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_BB | 0.580 | 0.000 | 1.000 | Hitting_BB | 0.623 | 0.000 | -0.623 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_H | 0.780 | 0.000 | 1.000 | Hitting_H | 0.710 | 0.000 | -0.710 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.331 | 0.000 | 0.500 | Hitting_OBP | 0.328 | 0.000 | -0.328 | 0.000 |
| predicted_R | 0.536 | 0.000 | 1.000 | Hitting_R | 0.611 | 0.000 | -0.611 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 0.000 | Hitting_RBI | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_SLG | 0.337 | 0.000 | 0.333 | Hitting_SLG | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_SO | 0.971 | 1.000 | 1.000 | Hitting_SO | 1.004 | 2.000 | -0.004 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 9 |
| Better Metrics | 0 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 0.7800 -> 0.0000 (deboost -0.7800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3370 -> 0.3275 (deboost -0.0095, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 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 | 6 | 2 | 4 | 2 | 4 | predicted_BB: 0.5942 -> 1.0000 (boost 0.4058, better) | predicted_AB: 3.4282 -> 3.0000 (deboost -0.4282, worse) | AB rounded to 3 (raw=3.48), rates preserved: AVG=0.216 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5012 -> 1.0000 (boost 0.4988, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3345 -> 0.5000 (boost 0.1655, better) | - | 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_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.5000 -> 0.3345 (deboost -0.1655, 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.13,
"predicted_3B": 0.043,
"predicted_AB": 3.478,
"predicted_AVG": 0.232,
"predicted_BB": 0.58,
"predicted_H": 0.78,
"predicted_HR": 0.06,
"predicted_OBP": 0.331,
"predicted_R": 0.536,
"predicted_RBI": 0.31,
"predicted_SLG": 0.337,
"predicted_SO": 0.971
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1604,
"predicted_3B": 0.035,
"predicted_AB": 3.4282,
"predicted_AVG": 0.2227,
"predicted_BB": 0.5931,
"predicted_H": 0.7487,
"predicted_HBP": 0.056,
"predicted_HR": 0.049,
"predicted_OBP": 0.3346,
"predicted_R": 0.4971,
"predicted_RBI": 0.2762,
"predicted_SLG": 0.3275,
"predicted_SO": 0.9731
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.1604,
"delta": 0.0304,
"percent_delta": 0.2338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.035,
"delta": -0.008,
"percent_delta": -0.186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.478,
"after": 3.4282,
"delta": -0.0498,
"percent_delta": -0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2227,
"delta": -0.0093,
"percent_delta": -0.0401,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.58,
"after": 0.5931,
"delta": 0.0131,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7487,
"delta": -0.0313,
"percent_delta": -0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.049,
"delta": -0.011,
"percent_delta": -0.1833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3346,
"delta": 0.0036,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.536,
"after": 0.4971,
"delta": -0.0389,
"percent_delta": -0.0726,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.2762,
"delta": -0.0338,
"percent_delta": -0.109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.337,
"after": 0.3275,
"delta": -0.0095,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.971,
"after": 0.9731,
"delta": 0.0021,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.337,
"after": 0.3275,
"delta": -0.0095,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1604,
"predicted_3B": 0.035,
"predicted_AB": 3.4282,
"predicted_AVG": 0.2192,
"predicted_BB": 0.5942,
"predicted_H": 0.7513,
"predicted_HBP": 0.056,
"predicted_HR": 0.0489,
"predicted_OBP": 0.3345,
"predicted_R": 0.5012,
"predicted_RBI": 0.2785,
"predicted_SLG": 0.3291,
"predicted_SO": 0.9713
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1604,
"after": 0.1604,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4282,
"after": 3.4282,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2227,
"after": 0.2192,
"delta": -0.0035,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5931,
"after": 0.5942,
"delta": 0.0011,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7487,
"after": 0.7513,
"delta": 0.0026,
"percent_delta": 0.0035,
"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.049,
"after": 0.0489,
"delta": -0.0001,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3346,
"after": 0.3345,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4971,
"after": 0.5012,
"delta": 0.0041,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2762,
"after": 0.2785,
"delta": 0.0023,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3275,
"after": 0.3291,
"delta": 0.0016,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9731,
"after": 0.9713,
"delta": -0.0018,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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 3 (raw=3.48), rates preserved: AVG=0.216 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1604,
"after": 0.0,
"delta": -0.1604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4282,
"after": 3.0,
"delta": -0.4282,
"percent_delta": -0.1249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5942,
"after": 1.0,
"delta": 0.4058,
"percent_delta": 0.6829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7513,
"after": 1.0,
"delta": 0.2487,
"percent_delta": 0.331,
"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.0489,
"after": 0.0,
"delta": -0.0489,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2785,
"after": 0.0,
"delta": -0.2785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9713,
"after": 1.0,
"delta": 0.0287,
"percent_delta": 0.0295,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5942,
"after": 1.0,
"delta": 0.4058,
"percent_delta": 0.6829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4282,
"after": 3.0,
"delta": -0.4282,
"percent_delta": -0.1249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5012,
"after": 1.0,
"delta": 0.4988,
"percent_delta": 0.9952,
"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.5012,
"after": 1.0,
"delta": 0.4988,
"percent_delta": 0.9952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"predicted_R": 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.2192,
"after": 0.333,
"delta": 0.1138,
"percent_delta": 0.5192,
"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.3345,
"after": 0.5,
"delta": 0.1655,
"percent_delta": 0.4948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3291,
"after": 0.333,
"delta": 0.0039,
"percent_delta": 0.0119,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_OBP",
"before": 0.3345,
"after": 0.5,
"delta": 0.1655,
"percent_delta": 0.4948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2192,
"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.3345,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3291,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2192,
"delta": -0.1138,
"percent_delta": -0.3419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3345,
"delta": -0.1655,
"percent_delta": -0.331,
"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.3291,
"delta": -0.0039,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_OBP",
"before": 0.5,
"after": 0.3345,
"delta": -0.1655,
"percent_delta": -0.331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.478,
"after": 3.0,
"delta": -0.478,
"percent_delta": -0.1374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2192,
"delta": -0.0128,
"percent_delta": -0.0552,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3345,
"delta": 0.0035,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.536,
"after": 0.0,
"delta": -0.536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.337,
"after": 0.3291,
"delta": -0.0079,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.971,
"after": 1.0,
"delta": 0.029,
"percent_delta": 0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.130 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 3.478 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.580 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.536 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.337 | - |
| predicted_SO | 0.971 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.030 |
| predicted_3B | 0.035 | -0.008 |
| predicted_AB | 3.428 | -0.050 |
| predicted_AVG | 0.223 | -0.009 |
| predicted_BB | 0.593 | 0.013 |
| predicted_H | 0.749 | -0.031 |
| predicted_HBP | 0.056 | - |
| predicted_HR | 0.049 | -0.011 |
| predicted_OBP | 0.335 | 0.004 |
| predicted_R | 0.497 | -0.039 |
| predicted_RBI | 0.276 | -0.034 |
| predicted_SLG | 0.328 | -0.010 |
| predicted_SO | 0.973 | 0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 3.428 | 0.000 |
| predicted_AVG | 0.219 | -0.004 |
| predicted_BB | 0.594 | 0.001 |
| predicted_H | 0.751 | 0.003 |
| predicted_HBP | 0.056 | 0.000 |
| predicted_HR | 0.049 | -0.000 |
| predicted_OBP | 0.335 | -0.000 |
| predicted_R | 0.501 | 0.004 |
| predicted_RBI | 0.279 | 0.002 |
| predicted_SLG | 0.329 | 0.002 |
| predicted_SO | 0.971 | -0.002 |
AB rounded to 3 (raw=3.48), rates preserved: AVG=0.216 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 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.160 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 3.000 | -0.428 |
| predicted_AVG | 0.333 | 0.114 |
| predicted_BB | 1.000 | 0.406 |
| predicted_H | 1.000 | 0.249 |
| predicted_HR | 0.000 | -0.049 |
| predicted_OBP | 0.500 | 0.165 |
| predicted_R | 1.000 | 0.499 |
| predicted_RBI | 0.000 | -0.279 |
| predicted_SLG | 0.333 | 0.004 |
| predicted_SO | 1.000 | 0.029 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 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 | 5 | - | 16.000 | 3.000 | 2.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 6.000 | 0.1875 | 0.3158 | 0.3125 | 0.1875 | 0.0000 | 0.0625 | 0.1875 | 0.3750 |
| last_10 | 0.20 | 10 | - | 29.000 | 7.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 8.000 | 8.000 | 0.2414 | 0.4054 | 0.3103 | 0.2414 | 0.0000 | 0.0345 | 0.2759 | 0.2759 |
| season | 0.60 | 69 | - | 240.000 | 48.000 | 9.000 | 3.000 | 3.000 | 17.000 | 37.000 | 40.000 | 67.000 | 0.2000 | 0.3299 | 0.3000 | 0.2000 | 0.0125 | 0.0708 | 0.1667 | 0.2792 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2020 |
| predicted_3B | 0.0240 |
| predicted_AB | 3.3600 |
| predicted_AVG | 0.2100 |
| predicted_BB | 0.6110 |
| predicted_H | 0.7060 |
| predicted_HBP | 0.0560 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.3395 |
| predicted_R | 0.4440 |
| predicted_RBI | 0.2300 |
| predicted_SLG | 0.3145 |
| predicted_SO | 0.9760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.2020 | 0.1604 | model_form_blend |
| predicted_3B | 0.0430 | 0.0240 | 0.0350 | model_form_blend |
| predicted_AB | 3.4780 | 3.3600 | 3.4282 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2100 | 0.2227 | model_form_blend |
| predicted_BB | 0.5800 | 0.6110 | 0.5931 | model_form_blend |
| predicted_H | 0.7800 | 0.7060 | 0.7487 | model_form_blend |
| predicted_HBP | - | 0.0560 | 0.0560 | form_only |
| predicted_HR | 0.0600 | 0.0340 | 0.0490 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3395 | 0.3346 | model_form_blend |
| predicted_R | 0.5360 | 0.4440 | 0.4971 | model_form_blend |
| predicted_RBI | 0.3100 | 0.2300 | 0.2762 | model_form_blend |
| predicted_SLG | 0.3370 | 0.3145 | 0.3275 | model_form_blend |
| predicted_SO | 0.9710 | 0.9760 | 0.9731 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 252 |
| Season rows before report date | 252 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 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 | 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 | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 805300 |
| playerID | 805300 |
| playerName | Jakob Marsee |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.3 |
| sl_xwoba | 0.309 |
| sl_xba | 0.221 |
| sl_xslg | 0.311 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 3.5 |
| sl_hard_hit_percent | 35.8 |
| sl_exit_velocity_avg | 86.7 |
| sl_launch_angle_avg | 19.2 |
| sl_whiff_percent | 19.4 |
| sl_swing_percent | 39.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.129 | 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.097 | 3.000 | 3.000 | Hitting_AB | 3.274 | 3.000 | -0.274 | 0.000 |
| predicted_AVG | 0.260 | 0.000 | 0.333 | Hitting_AVG | 0.222 | 0.333 | -0.222 | -0.333 |
| predicted_BB | 0.226 | 0.000 | 0.000 | Hitting_BB | 0.219 | 1.000 | -0.219 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.726 | 1.000 | -0.726 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.027 | 1.000 | -0.027 | -1.000 |
| predicted_OBP | 0.319 | 0.000 | 0.333 | Hitting_OBP | 0.271 | 0.500 | -0.271 | -0.500 |
| predicted_R | 0.387 | 0.000 | 0.000 | Hitting_R | 0.384 | 1.000 | -0.384 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.438 | 1.000 | -0.438 | -1.000 |
| predicted_SLG | 0.400 | 0.000 | 0.333 | Hitting_SLG | 0.289 | 1.333 | -0.289 | -1.333 |
| predicted_SO | 0.968 | 0.000 | 1.000 | Hitting_SO | 1.151 | 0.000 | -1.151 | 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_SO: 0.9680 -> 0.0000 (deboost -0.9680, 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 | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0970 -> 3.1757 (boost 0.0787, better) | - | Final model input calibrated with local 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.3208 -> 0.3061 (deboost -0.0147, 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_H: 0.8004 -> 1.0000 (boost 0.1996, better) | predicted_RBI: 0.4719 -> 0.0000 (deboost -0.4719, worse) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.252 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4325 -> 0.0000 (deboost -0.4325, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2520 -> 0.3330 (boost 0.0810, better) | predicted_SLG: 0.3937 -> 0.3330 (deboost -0.0607, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3937 (boost 0.0607, better) | predicted_AVG: 0.3330 -> 0.2520 (deboost -0.0810, 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.129,
"predicted_3B": 0.0,
"predicted_AB": 3.097,
"predicted_AVG": 0.26,
"predicted_BB": 0.226,
"predicted_H": 0.75,
"predicted_HR": 0.1,
"predicted_OBP": 0.319,
"predicted_R": 0.387,
"predicted_RBI": 0.44,
"predicted_SLG": 0.4,
"predicted_SO": 0.968
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.124,
"predicted_3B": 0.0012,
"predicted_AB": 3.1757,
"predicted_AVG": 0.2618,
"predicted_BB": 0.2471,
"predicted_H": 0.7976,
"predicted_HBP": 0.007,
"predicted_HR": 0.1081,
"predicted_OBP": 0.3208,
"predicted_R": 0.4289,
"predicted_RBI": 0.468,
"predicted_SLG": 0.4045,
"predicted_SO": 0.9419
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.124,
"delta": -0.005,
"percent_delta": -0.0388,
"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": 3.097,
"after": 3.1757,
"delta": 0.0787,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2618,
"delta": 0.0018,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.226,
"after": 0.2471,
"delta": 0.0211,
"percent_delta": 0.0934,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.7976,
"delta": 0.0476,
"percent_delta": 0.0635,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1081,
"delta": 0.0081,
"percent_delta": 0.081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3208,
"delta": 0.0018,
"percent_delta": 0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.387,
"after": 0.4289,
"delta": 0.0419,
"percent_delta": 0.1083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.468,
"delta": 0.028,
"percent_delta": 0.0636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4,
"after": 0.4045,
"delta": 0.0045,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.968,
"after": 0.9419,
"delta": -0.0261,
"percent_delta": -0.027,
"direction": "no_change",
"projection_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.097,
"after": 3.1757,
"delta": 0.0787,
"percent_delta": 0.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 31
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.124,
"predicted_3B": 0.0012,
"predicted_AB": 3.1757,
"predicted_AVG": 0.252,
"predicted_BB": 0.2475,
"predicted_H": 0.8004,
"predicted_HBP": 0.007,
"predicted_HR": 0.1078,
"predicted_OBP": 0.3061,
"predicted_R": 0.4325,
"predicted_RBI": 0.4719,
"predicted_SLG": 0.3937,
"predicted_SO": 0.9402
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.124,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1757,
"after": 3.1757,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2618,
"after": 0.252,
"delta": -0.0098,
"percent_delta": -0.0374,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2471,
"after": 0.2475,
"delta": 0.0004,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7976,
"after": 0.8004,
"delta": 0.0028,
"percent_delta": 0.0035,
"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.1081,
"after": 0.1078,
"delta": -0.0003,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3208,
"after": 0.3061,
"delta": -0.0147,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4289,
"after": 0.4325,
"delta": 0.0036,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.468,
"after": 0.4719,
"delta": 0.0039,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4045,
"after": 0.3937,
"delta": -0.0108,
"percent_delta": -0.0267,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9419,
"after": 0.9402,
"delta": -0.0017,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3208,
"after": 0.3061,
"delta": -0.0147,
"percent_delta": -0.0458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.18), rates preserved: AVG=0.252 HR/AB=0.034",
"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.124,
"after": 0.0,
"delta": -0.124,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0012,
"after": 0.0,
"delta": -0.0012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1757,
"after": 3.0,
"delta": -0.1757,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2475,
"after": 0.0,
"delta": -0.2475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8004,
"after": 1.0,
"delta": 0.1996,
"percent_delta": 0.2494,
"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.1078,
"after": 0.0,
"delta": -0.1078,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4719,
"after": 0.0,
"delta": -0.4719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9402,
"after": 1.0,
"delta": 0.0598,
"percent_delta": 0.0636,
"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_H",
"before": 0.8004,
"after": 1.0,
"delta": 0.1996,
"percent_delta": 0.2494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4719,
"after": 0.0,
"delta": -0.4719,
"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.4325,
"after": 0.0,
"delta": -0.4325,
"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.4325,
"after": 0.0,
"delta": -0.4325,
"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.252,
"after": 0.333,
"delta": 0.081,
"percent_delta": 0.3214,
"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.3061,
"after": 0.333,
"delta": 0.0269,
"percent_delta": 0.0879,
"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.3937,
"after": 0.333,
"delta": -0.0607,
"percent_delta": -0.1542,
"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.252,
"after": 0.333,
"delta": 0.081,
"percent_delta": 0.3214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3937,
"after": 0.333,
"delta": -0.0607,
"percent_delta": -0.1542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.252,
"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.3061,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3937,
"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.252,
"delta": -0.081,
"percent_delta": -0.2431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3061,
"delta": -0.0269,
"percent_delta": -0.0807,
"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.3937,
"delta": 0.0607,
"percent_delta": 0.1822,
"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.3937,
"delta": 0.0607,
"percent_delta": 0.1822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.252,
"delta": -0.081,
"percent_delta": -0.2431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.097,
"after": 3.0,
"delta": -0.097,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.252,
"delta": -0.008,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"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.319,
"after": 0.3061,
"delta": -0.0129,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"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.4,
"after": 0.3937,
"delta": -0.0063,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.968,
"after": 0.0,
"delta": -0.968,
"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_SO",
"before": 0.968,
"after": 0.0,
"delta": -0.968,
"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.129 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.097 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.226 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.387 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.400 | - |
| predicted_SO | 0.968 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.124 | -0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.176 | 0.079 |
| predicted_AVG | 0.262 | 0.002 |
| predicted_BB | 0.247 | 0.021 |
| predicted_H | 0.798 | 0.048 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.108 | 0.008 |
| predicted_OBP | 0.321 | 0.002 |
| predicted_R | 0.429 | 0.042 |
| predicted_RBI | 0.468 | 0.028 |
| predicted_SLG | 0.405 | 0.005 |
| predicted_SO | 0.942 | -0.026 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.124 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.176 | 0.000 |
| predicted_AVG | 0.252 | -0.010 |
| predicted_BB | 0.247 | 0.000 |
| predicted_H | 0.800 | 0.003 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.108 | -0.000 |
| predicted_OBP | 0.306 | -0.015 |
| predicted_R | 0.432 | 0.004 |
| predicted_RBI | 0.472 | 0.004 |
| predicted_SLG | 0.394 | -0.011 |
| predicted_SO | 0.940 | -0.002 |
AB rounded to 3 (raw=3.18), rates preserved: AVG=0.252 HR/AB=0.034
| 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.124 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.176 |
| predicted_AVG | 0.333 | 0.081 |
| predicted_BB | 0.000 | -0.247 |
| predicted_H | 1.000 | 0.200 |
| predicted_HR | 0.000 | -0.108 |
| predicted_OBP | 0.333 | 0.027 |
| predicted_R | 0.000 | -0.432 |
| predicted_RBI | 0.000 | -0.472 |
| predicted_SLG | 0.333 | -0.061 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 2.000 | 4.000 | 0.3125 | 0.3889 | 0.5000 | 0.3125 | 0.0625 | 0.1250 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 10 | - | 32.000 | 10.000 | 1.000 | 0.000 | 2.000 | 8.000 | 5.000 | 3.000 | 8.000 | 0.3125 | 0.3714 | 0.5312 | 0.3125 | 0.0625 | 0.2500 | 0.0938 | 0.2500 |
| season | 0.60 | 31 | - | 96.000 | 23.000 | 4.000 | 0.000 | 2.000 | 14.000 | 12.000 | 7.000 | 30.000 | 0.2396 | 0.2913 | 0.3438 | 0.2396 | 0.0208 | 0.1458 | 0.0729 | 0.3125 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1160 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.3020 |
| predicted_AVG | 0.2646 |
| predicted_BB | 0.2810 |
| predicted_H | 0.8740 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.3238 |
| predicted_R | 0.4960 |
| predicted_RBI | 0.5130 |
| predicted_SLG | 0.4118 |
| predicted_SO | 0.9000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.1160 | 0.1240 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 3.0970 | 3.3020 | 3.1757 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2646 | 0.2618 | model_form_blend |
| predicted_BB | 0.2260 | 0.2810 | 0.2471 | model_form_blend |
| predicted_H | 0.7500 | 0.8740 | 0.7976 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1000 | 0.1210 | 0.1081 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3238 | 0.3208 | model_form_blend |
| predicted_R | 0.3870 | 0.4960 | 0.4289 | model_form_blend |
| predicted_RBI | 0.4400 | 0.5130 | 0.4680 | model_form_blend |
| predicted_SLG | 0.4000 | 0.4118 | 0.4045 | model_form_blend |
| predicted_SO | 0.9680 | 0.9000 | 0.9419 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 73 |
| Season rows before report date | 73 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 691788 |
| playerID | 691788 |
| playerName | Joe Mack |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 29.7 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.268 |
| sl_xwoba | 0.276 |
| sl_xba | 0.226 |
| sl_xslg | 0.354 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 23.9 |
| 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.224 | 0.000 | 0.000 | Hitting_2B | 0.302 | 0.000 | -0.302 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.143 | 3.000 | 3.000 | Hitting_AB | 3.266 | 1.000 | -0.266 | 2.000 |
| predicted_AVG | 0.254 | 0.000 | 0.333 | Hitting_AVG | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_BB | 0.184 | 0.000 | 0.000 | Hitting_BB | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.640 | 0.000 | 1.000 | Hitting_H | 0.921 | 0.000 | -0.921 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_OBP | 0.282 | 0.000 | 0.333 | Hitting_OBP | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_R | 0.245 | 0.000 | 0.000 | Hitting_R | 0.245 | 0.000 | -0.245 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.597 | 0.000 | -0.597 | 0.000 |
| predicted_SLG | 0.349 | 0.000 | 0.333 | Hitting_SLG | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_SO | 0.367 | 0.000 | 0.000 | Hitting_SO | 0.396 | 0.000 | -0.396 | 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.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 | 2 | 1 | 1 | 1 | 1 | predicted_R: 0.2450 -> 0.2960 (boost 0.0510, better) | predicted_AVG: 0.2540 -> 0.2434 (deboost -0.0106, 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.2434 -> 0.2144 (deboost -0.0290, 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.6808 -> 1.0000 (boost 0.3192, better) | predicted_SO: 0.3752 -> 0.0000 (deboost -0.3752, better) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.214 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2985 -> 0.0000 (deboost -0.2985, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2144 -> 0.3330 (boost 0.1186, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2144 (deboost -0.1186, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691594",
"player_name": "Javier Sanoja",
"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.224,
"predicted_3B": 0.0,
"predicted_AB": 3.143,
"predicted_AVG": 0.254,
"predicted_BB": 0.184,
"predicted_H": 0.64,
"predicted_HR": 0.06,
"predicted_OBP": 0.282,
"predicted_R": 0.245,
"predicted_RBI": 0.34,
"predicted_SLG": 0.349,
"predicted_SO": 0.367
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2123,
"predicted_3B": 0.0008,
"predicted_AB": 3.1758,
"predicted_AVG": 0.2434,
"predicted_BB": 0.1856,
"predicted_H": 0.6784,
"predicted_HBP": 0.005,
"predicted_HR": 0.0584,
"predicted_OBP": 0.2779,
"predicted_R": 0.296,
"predicted_RBI": 0.3606,
"predicted_SLG": 0.346,
"predicted_SO": 0.3759
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.224,
"after": 0.2123,
"delta": -0.0117,
"percent_delta": -0.0522,
"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": 3.143,
"after": 3.1758,
"delta": 0.0328,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2434,
"delta": -0.0106,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.184,
"after": 0.1856,
"delta": 0.0016,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6784,
"delta": 0.0384,
"percent_delta": 0.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0584,
"delta": -0.0016,
"percent_delta": -0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.282,
"after": 0.2779,
"delta": -0.0041,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.245,
"after": 0.296,
"delta": 0.051,
"percent_delta": 0.2082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3606,
"delta": 0.0206,
"percent_delta": 0.0606,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.346,
"delta": -0.003,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.367,
"after": 0.3759,
"delta": 0.0089,
"percent_delta": 0.0243,
"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_R",
"before": 0.245,
"after": 0.296,
"delta": 0.051,
"percent_delta": 0.2082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2434,
"delta": -0.0106,
"percent_delta": -0.0417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2123,
"predicted_3B": 0.0008,
"predicted_AB": 3.1758,
"predicted_AVG": 0.2144,
"predicted_BB": 0.1859,
"predicted_H": 0.6808,
"predicted_HBP": 0.005,
"predicted_HR": 0.0582,
"predicted_OBP": 0.2578,
"predicted_R": 0.2985,
"predicted_RBI": 0.3636,
"predicted_SLG": 0.3367,
"predicted_SO": 0.3752
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2123,
"after": 0.2123,
"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.1758,
"after": 3.1758,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2434,
"after": 0.2144,
"delta": -0.029,
"percent_delta": -0.1191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1856,
"after": 0.1859,
"delta": 0.0003,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6784,
"after": 0.6808,
"delta": 0.0024,
"percent_delta": 0.0035,
"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.0584,
"after": 0.0582,
"delta": -0.0002,
"percent_delta": -0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2779,
"after": 0.2578,
"delta": -0.0201,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.296,
"after": 0.2985,
"delta": 0.0025,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3606,
"after": 0.3636,
"delta": 0.003,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.3367,
"delta": -0.0093,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3759,
"after": 0.3752,
"delta": -0.0007,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2434,
"after": 0.2144,
"delta": -0.029,
"percent_delta": -0.1191,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.18), rates preserved: AVG=0.214 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2123,
"after": 0.0,
"delta": -0.2123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1758,
"after": 3.0,
"delta": -0.1758,
"percent_delta": -0.0554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1859,
"after": 0.0,
"delta": -0.1859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6808,
"after": 1.0,
"delta": 0.3192,
"percent_delta": 0.4689,
"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.0582,
"after": 0.0,
"delta": -0.0582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3636,
"after": 0.0,
"delta": -0.3636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3752,
"after": 0.0,
"delta": -0.3752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6808,
"after": 1.0,
"delta": 0.3192,
"percent_delta": 0.4689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3752,
"after": 0.0,
"delta": -0.3752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2985,
"after": 0.0,
"delta": -0.2985,
"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.2985,
"after": 0.0,
"delta": -0.2985,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2144,
"after": 0.333,
"delta": 0.1186,
"percent_delta": 0.5532,
"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.2578,
"after": 0.333,
"delta": 0.0752,
"percent_delta": 0.2917,
"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.3367,
"after": 0.333,
"delta": -0.0037,
"percent_delta": -0.011,
"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": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2144,
"after": 0.333,
"delta": 0.1186,
"percent_delta": 0.5532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2144,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2578,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3367,
"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.333,
"after": 0.2144,
"delta": -0.1186,
"percent_delta": -0.3563,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2578,
"delta": -0.0752,
"percent_delta": -0.2258,
"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.3367,
"delta": 0.0037,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2144,
"delta": -0.1186,
"percent_delta": -0.3563,
"direction": "deboost",
"projection_effect": "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.143,
"after": 3.0,
"delta": -0.143,
"percent_delta": -0.0455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2144,
"delta": -0.0396,
"percent_delta": -0.1559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.184,
"after": 0.0,
"delta": -0.184,
"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.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.2578,
"delta": -0.0242,
"percent_delta": -0.0858,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.245,
"after": 0.0,
"delta": -0.245,
"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.349,
"after": 0.3367,
"delta": -0.0123,
"percent_delta": -0.0352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.367,
"after": 0.0,
"delta": -0.367,
"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.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.224 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.143 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.184 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.282 | - |
| predicted_R | 0.245 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.349 | - |
| predicted_SO | 0.367 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | -0.012 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.176 | 0.033 |
| predicted_AVG | 0.243 | -0.011 |
| predicted_BB | 0.186 | 0.002 |
| predicted_H | 0.678 | 0.038 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.058 | -0.002 |
| predicted_OBP | 0.278 | -0.004 |
| predicted_R | 0.296 | 0.051 |
| predicted_RBI | 0.361 | 0.021 |
| predicted_SLG | 0.346 | -0.003 |
| predicted_SO | 0.376 | 0.009 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.176 | 0.000 |
| predicted_AVG | 0.214 | -0.029 |
| predicted_BB | 0.186 | 0.000 |
| predicted_H | 0.681 | 0.002 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.058 | -0.000 |
| predicted_OBP | 0.258 | -0.020 |
| predicted_R | 0.298 | 0.003 |
| predicted_RBI | 0.364 | 0.003 |
| predicted_SLG | 0.337 | -0.009 |
| predicted_SO | 0.375 | -0.001 |
AB rounded to 3 (raw=3.18), rates preserved: AVG=0.214 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.212 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.176 |
| predicted_AVG | 0.333 | 0.119 |
| predicted_BB | 0.000 | -0.186 |
| predicted_H | 1.000 | 0.319 |
| predicted_HR | 0.000 | -0.058 |
| predicted_OBP | 0.333 | 0.075 |
| predicted_R | 0.000 | -0.298 |
| predicted_RBI | 0.000 | -0.364 |
| predicted_SLG | 0.333 | -0.004 |
| predicted_SO | 0.000 | -0.375 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 0.1333 | 0.1875 | 0.2000 | 0.1333 | 0.0000 | 0.0000 | 0.0667 | 0.0000 |
| last_10 | 0.20 | 10 | - | 31.000 | 7.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 1.000 | 5.000 | 0.2258 | 0.2500 | 0.3548 | 0.2258 | 0.0323 | 0.1290 | 0.0323 | 0.1613 |
| season | 0.60 | 49 | - | 154.000 | 39.000 | 11.000 | 0.000 | 2.000 | 24.000 | 12.000 | 9.000 | 18.000 | 0.2532 | 0.2945 | 0.3636 | 0.2532 | 0.0130 | 0.1558 | 0.0584 | 0.1169 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1950 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2240 |
| predicted_AVG | 0.2279 |
| predicted_BB | 0.1880 |
| predicted_H | 0.7350 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.2719 |
| predicted_R | 0.3710 |
| predicted_RBI | 0.3910 |
| predicted_SLG | 0.3416 |
| predicted_SO | 0.3890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2240 | 0.1950 | 0.2123 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1430 | 3.2240 | 3.1758 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2279 | 0.2434 | model_form_blend |
| predicted_BB | 0.1840 | 0.1880 | 0.1856 | model_form_blend |
| predicted_H | 0.6400 | 0.7350 | 0.6784 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0600 | 0.0560 | 0.0584 | model_form_blend |
| predicted_OBP | 0.2820 | 0.2719 | 0.2779 | model_form_blend |
| predicted_R | 0.2450 | 0.3710 | 0.2960 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3910 | 0.3606 | model_form_blend |
| predicted_SLG | 0.3490 | 0.3416 | 0.3460 | model_form_blend |
| predicted_SO | 0.3670 | 0.3890 | 0.3759 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 49 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.253 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260614_MIA@PIT |
| game_type | short |
| mlbID | 691594 |
| playerID | 691594 |
| playerName | Javier Sanoja |
| pos | 3B |
| started | False |
| startingPosition | 3B |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 10.9 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.299 |
| sl_xwoba | 0.264 |
| sl_xba | 0.235 |
| sl_xslg | 0.301 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 1.5 |
| sl_hard_hit_percent | 30.9 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 12.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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.500 | 1.000 | 1.500 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.500 | 0.000 | 0.500 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 2.750 | 3.000 | 0.250 | 0.000 |
| predicted_IP | 3.000 | 3.000 | 3.000 | Pitching_InningsPitched | 2.250 | 4.000 | 0.750 | -1.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.250 | 4.000 | 1.750 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.0000 -> 3.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687473",
"player_name": "Ryan Gusto",
"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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 3.0,
"predicted_R": 2.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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.000 | - |
| predicted_SO | 4.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 3.000 | -1.000 |
| predicted_SO | 4.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 4 | 9.000 | 6.000 | 11.000 | 2.000 | 9.000 | 0.000 | 6.0000 | 1.4444 | 0.6667 | 1.2222 | 0.2222 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 4 | 9.000 | 6.000 | 11.000 | 2.000 | 9.000 | 0.000 | 6.0000 | 1.4444 | 0.6667 | 1.2222 | 0.2222 | 1.0000 | 0.0000 |
| season | 0.20 | 4 | 9.000 | 6.000 | 11.000 | 2.000 | 9.000 | 0.000 | 6.0000 | 1.4444 | 0.6667 | 1.2222 | 0.2222 | 1.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1560 |
| predicted_ER | 1.9280 |
| predicted_ERA | 4.8709 |
| predicted_H | 3.6970 |
| predicted_HR | 0.3810 |
| predicted_IP | 3.2000 |
| predicted_SO | 3.3880 |
| predicted_WHIP | 1.3624 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.1560 | 1.7143 | model_form_blend |
| predicted_ER | 2.0000 | 1.9280 | 1.9756 | model_form_blend |
| predicted_ERA | - | 4.8709 | 4.8709 | form_only |
| predicted_H | 3.0000 | 3.6970 | 3.2360 | model_form_blend |
| predicted_HR | 0.0000 | 0.3810 | 0.1290 | model_form_blend |
| predicted_IP | 4.0000 | 3.2000 | 4.0000 | model_form_blend |
| predicted_SO | 4.0000 | 3.3880 | 3.7928 | model_form_blend |
| predicted_WHIP | - | 1.3624 | 1.3624 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 4 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 3.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 4 |
| HR | 0 |
| BF | 14 |
| Pitches | 67 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 16 |
| Pitching_ER | 0 |
| Pitching_ERA | 6.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 4 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 66 |
| Pitching_R | 0 |
| Pitching_SO | 4 |
| Pitching_Strikes | 45 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260610_ARI@MIA |
| game_type | full |
| mlbID | 687473 |
| playerID | 687473 |
| playerName | Ryan Gusto |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-10 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.308 |
| sl_xwoba | 0.323 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 48.3 |
| sl_whiff_percent | 16.4 |
| sl_swing_percent | 48.3 |
| sl_avg_best_speed | 76.237084 |
| sl_avg_hyper_speed | 95.15615069 |
| 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.367 | 1.000 | 1.633 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.333 | 1.000 | 1.667 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.567 | 2.000 | 2.433 | 1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.807 | 1.000 | 1.193 | 1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.200 | 2.000 | -1.200 | -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 -> 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": "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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 2.0,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"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": 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 | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.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 | 1.000 | 4.000 | 2.000 | 10.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 0.8000 | 0.4000 | 2.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 5.000 | 3.000 | 16.000 | 1.000 | 1.7419 | 0.7742 | 0.1935 | 0.4839 | 0.2903 | 1.5484 | 0.0968 |
| season | 0.20 | 30 | 29.100 | 10.000 | 17.000 | 11.000 | 36.000 | 1.000 | 3.0682 | 0.9545 | 0.3409 | 0.5796 | 0.3750 | 1.2273 | 0.0341 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3590 |
| predicted_ER | 0.3510 |
| predicted_ERA | 3.1598 |
| predicted_H | 0.7970 |
| predicted_HR | 0.0890 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3390 |
| predicted_WHIP | 1.1551 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.3590 | 1.2541 | model_form_blend |
| predicted_ER | 2.0000 | 0.3510 | 1.2504 | model_form_blend |
| predicted_ERA | - | 3.1598 | 3.1598 | form_only |
| predicted_H | 3.0000 | 0.7970 | 1.9986 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0405 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.3390 | 0.6086 | model_form_blend |
| predicted_WHIP | - | 1.1551 | 1.1551 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 2.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 0 |
| HR | 0 |
| BF | 11 |
| Pitches | 46 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.07 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 27 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260613_MIA@PIT |
| game_type | full |
| mlbID | 669622 |
| playerID | 669622 |
| playerName | Anthony Bender |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-13 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.225 |
| sl_xwoba | 0.258 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 34.3 |
| sl_whiff_percent | 22.0 |
| sl_swing_percent | 38.7 |
| sl_avg_best_speed | 79.276196857 |
| sl_avg_hyper_speed | 93.340110857 |
| 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.481 | 0.000 | -0.481 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.974 | 2.000 | 0.226 | -0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.259 | 3.000 | 0.741 | -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": "656848",
"player_name": "Michael Petersen",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 1.000 | 2.000 | 3.000 | 9.000 | 0.000 | 1.5000 | 0.8333 | 0.1667 | 0.3333 | 0.5000 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 2.000 | 4.000 | 6.000 | 15.000 | 0.000 | 1.6364 | 0.9091 | 0.1818 | 0.3636 | 0.5454 | 1.3636 | 0.0000 |
| season | 0.20 | 27 | 29.100 | 10.000 | 18.000 | 13.000 | 34.000 | 1.000 | 3.0682 | 1.0568 | 0.3409 | 0.6136 | 0.4432 | 1.1591 | 0.0341 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4730 |
| predicted_ER | 0.3680 |
| predicted_ERA | 3.0674 |
| predicted_H | 0.7180 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2710 |
| predicted_WHIP | 1.1028 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4730 | 0.2150 | model_form_blend |
| predicted_ER | 0.0000 | 0.3680 | 0.1673 | model_form_blend |
| predicted_ERA | - | 3.0674 | 3.0674 | form_only |
| predicted_H | 0.0000 | 0.7180 | 0.3264 | model_form_blend |
| predicted_HR | 0.0000 | 0.0770 | 0.0350 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.2710 | 1.6686 | model_form_blend |
| predicted_WHIP | - | 1.1028 | 1.1028 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 27 |
| Season rows before report date | 27 |
| Report year | 2026 |
| Profile rows used | 27 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.07 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 29 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260613_MIA@PIT |
| game_type | full |
| mlbID | 656848 |
| playerID | 656848 |
| playerName | Michael Petersen |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-13 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.252 |
| sl_xwoba | 0.28 |
| sl_sweet_spot_percent | 30.0 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 42.9 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 47.6 |
| sl_avg_best_speed | 81.408192286 |
| sl_avg_hyper_speed | 94.629224286 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.682 | 1.000 | -0.682 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.818 | 1.000 | 1.182 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.845 | 1.000 | 0.255 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.318 | 2.000 | -1.318 | -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": "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": 0.0,
"predicted_ER": 0.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": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 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.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 | 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 | 4.200 | 3.000 | 5.000 | 4.000 | 7.000 | 1.000 | 5.7857 | 1.9286 | 0.6429 | 1.0714 | 0.8571 | 1.5000 | 0.2143 |
| last_10 | 0.35 | 10 | 9.000 | 4.000 | 7.000 | 6.000 | 12.000 | 2.000 | 4.0000 | 1.4444 | 0.4444 | 0.7778 | 0.6667 | 1.3333 | 0.2222 |
| season | 0.20 | 22 | 20.000 | 15.000 | 18.000 | 11.000 | 29.000 | 4.000 | 6.7500 | 1.4500 | 0.7500 | 0.9000 | 0.5500 | 1.4500 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3290 |
| predicted_ER | 0.3390 |
| predicted_ERA | 4.8596 |
| predicted_H | 0.6000 |
| predicted_HR | 0.1100 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7250 |
| predicted_WHIP | 1.4792 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3290 | 0.1363 | model_form_blend |
| predicted_ER | 0.0000 | 0.3390 | 0.1404 | model_form_blend |
| predicted_ERA | - | 4.8596 | 4.8596 | form_only |
| predicted_H | 2.0000 | 0.6000 | 1.4201 | model_form_blend |
| predicted_HR | 0.0000 | 0.1100 | 0.0456 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7250 | 0.3003 | model_form_blend |
| predicted_WHIP | - | 1.4792 | 1.4792 | 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 | 22 |
| 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 | 0 |
| 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 | 1 |
| Pitching_ERA | 6.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 664126 |
| playerID | 664126 |
| playerName | Pete Fairbanks |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIA |
| teamID | 15 |
| game_date | 2026-06-14 |
| sl_k_percent | 31.4 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.337 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 30.4 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 34.8 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 46.1 |
| sl_avg_best_speed | 81.096627727 |
| sl_avg_hyper_speed | 94.563968372 |
| Field | Value |
|---|---|
| Pitcher | Zack Wheeler |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1999 |
| ESPN Rank | 6 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0366 |
| Avg Velo | 90.3810 |
| Avg Spin | 2359.0459 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 2.2235 |
| Season WHIP | 0.8471 |
| Role Avg IP | 6.2960 |
| Recent Avg IP | 6.4000 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 78,
"wins": 39,
"losses": 39,
"win_pct": 0.5,
"runs_scored": 309.0,
"runs_allowed": 340.0,
"run_differential": -31.0,
"run_differential_per_game": -0.3974,
"avg_runs_scored": 3.9615,
"avg_runs_allowed": 4.359,
"offense_index": 0.8819,
"defense_index": 1.0305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.8,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0137
},
"opponent": {
"team": "MIA",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 328.0,
"runs_allowed": 326.0,
"run_differential": 2.0,
"run_differential_per_game": 0.026,
"avg_runs_scored": 4.2597,
"avg_runs_allowed": 4.2338,
"offense_index": 0.9483,
"defense_index": 1.061,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.5,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1137
},
"edges": {
"quality_edge": -0.1274,
"offense_edge": -0.1181,
"opponent_offense_edge": -0.0517,
"defense_strength": 0.0305,
"opponent_defense_weakness": -0.061,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9979,
"run_prevention": 0.995,
"strikeout": 1.0003
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "554430",
"profile": {
"available": true,
"pitcher_id": "554430",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 140.0,
"k_percent": 24.9,
"bb_percent": 5.6,
"woba": 0.254,
"xwoba": 0.284,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.0,
"avg_best_speed": 76.4591,
"avg_hyper_speed": 93.5396,
"whiff_percent": 26.6,
"swing_percent": 51.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6127,
"command_and_miss": 0.3714,
"regression_edge": -0.8571,
"xwoba_edge": 0.8857,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.2286,
"whiff_edge": 0.1571,
"bb_edge": 0.875,
"pitch_design_score": 0.0366
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "554430",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.381,
"release_spin_rate": 2359.0459,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0366,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2612,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1999,
"sample_weight": 0.56,
"run_prevention_factor": 0.983,
"strikeout_factor": 1.0106,
"walk_factor": 0.9608,
"homer_factor": 0.99,
"woba_minus_xwoba": -0.03,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "554430",
"espn_id": 31267,
"player_name": "Zack Wheeler",
"team": "PHI",
"role": "pitcher",
"espn_rank": 6,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 6,
"gp_value": 9.0,
"gp_rank": 398,
"gs_value": 9.0,
"gs_rank": 120,
"qs_value": 7.0,
"qs_rank": 23,
"era_value": 2.2235,
"era_rank": null,
"w_value": 5.0,
"w_rank": 34,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 56.2,
"ip_rank": 115,
"h_value": 36.0,
"h_rank": 158,
"er_value": 14.0,
"er_rank": 222,
"hr_value": 7.0,
"hr_rank": 101,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 53.0,
"k_rank": 93,
"k_per_9_value": 8.417647,
"k_per_9_rank": 21,
"whip_value": 0.847,
"whip_rank": null,
"war_value": 2.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9905,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 0.9905,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.978,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9944,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0059,
"adjusted": 6
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 56.2,
"ER": 14,
"H": 36,
"BB": 12,
"SO": 53,
"HR": 7,
"ERA": 2.223529411764706,
"WHIP": 0.8470588235294118,
"K9": 8.41764705882353,
"HR9": 1.111764705882353,
"games_pitched": 9,
"quality_starts": 7,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 9,
"error_prone": false
},
"games_count": 9,
"latest_game_date": "2026-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "554430",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 90.38102944702489,
"release_spin_rate": 2359.0459088327893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.381,
"release_spin_rate": 2359.0459,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0366,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2612,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": "554430",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 9,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.0,
"ER": 7.0,
"R": 7.0,
"H": 19.0,
"BB": 6.0,
"SO": 31.0,
"HR": 6.0,
"BF": 118.0,
"Pitches": 487.0
},
"per_game": {
"IP": 6.1,
"ER": 1.4,
"R": 1.4,
"H": 3.8,
"BB": 1.2,
"SO": 6.2,
"HR": 1.2,
"BF": 23.6,
"Pitches": 97.4
},
"rates": {
"ERA": 1.9688,
"WHIP": 0.7812,
"ER_per_IP": 0.21875,
"H_per_IP": 0.59375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.96875,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 9,
"totals": {
"IP": 56.2,
"ER": 14.0,
"R": 14.0,
"H": 36.0,
"BB": 12.0,
"SO": 53.0,
"HR": 7.0,
"BF": 213.0,
"Pitches": 850.0
},
"per_game": {
"IP": 6.1,
"ER": 1.5556,
"R": 1.5556,
"H": 4.0,
"BB": 1.3333,
"SO": 5.8889,
"HR": 0.7778,
"BF": 23.6667,
"Pitches": 94.4444
},
"rates": {
"ERA": 2.2235,
"WHIP": 0.8471,
"ER_per_IP": 0.24706,
"H_per_IP": 0.63529,
"BB_per_IP": 0.21176,
"SO_per_IP": 0.93529,
"HR_per_IP": 0.12353
}
},
"season": {
"games": 9,
"totals": {
"IP": 56.2,
"ER": 14.0,
"R": 14.0,
"H": 36.0,
"BB": 12.0,
"SO": 53.0,
"HR": 7.0,
"BF": 213.0,
"Pitches": 850.0
},
"per_game": {
"IP": 6.1,
"ER": 1.5556,
"R": 1.5556,
"H": 4.0,
"BB": 1.3333,
"SO": 5.8889,
"HR": 0.7778,
"BF": 23.6667,
"Pitches": 94.4444
},
"rates": {
"ERA": 2.2235,
"WHIP": 0.8471,
"ER_per_IP": 0.24706,
"H_per_IP": 0.63529,
"BB_per_IP": 0.21176,
"SO_per_IP": 0.93529,
"HR_per_IP": 0.12353
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.058,
"predicted_H": 4.681,
"predicted_BB": 1.618,
"predicted_SO": 6.004,
"predicted_HR": 0.992,
"predicted_ERA": 2.9242,
"predicted_WHIP": 0.9946
}
}{
"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": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.058,
"final": 1.5281,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.681,
"final": 3.839,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.618,
"final": 0.8076,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 6.004,
"final": 5.0002,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.992,
"final": 0.996,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9242,
"final": 2.9242,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9946,
"final": 0.9946,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brad Keller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1890 |
| ESPN Rank | 169 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.1538 |
| Season WHIP | 1.3516 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 78,
"wins": 39,
"losses": 39,
"win_pct": 0.5,
"runs_scored": 309.0,
"runs_allowed": 340.0,
"run_differential": -31.0,
"run_differential_per_game": -0.3974,
"avg_runs_scored": 3.9615,
"avg_runs_allowed": 4.359,
"offense_index": 0.8819,
"defense_index": 1.0305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.8,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0137
},
"opponent": {
"team": "MIA",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 328.0,
"runs_allowed": 326.0,
"run_differential": 2.0,
"run_differential_per_game": 0.026,
"avg_runs_scored": 4.2597,
"avg_runs_allowed": 4.2338,
"offense_index": 0.9483,
"defense_index": 1.061,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.5,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1137
},
"edges": {
"quality_edge": -0.1274,
"offense_edge": -0.1181,
"opponent_offense_edge": -0.0517,
"defense_strength": 0.0305,
"opponent_defense_weakness": -0.061,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9979,
"run_prevention": 0.995,
"strikeout": 1.0003
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641745",
"profile": {
"available": true,
"pitcher_id": "641745",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 94.0,
"k_percent": 23.7,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.286,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 32.6,
"avg_best_speed": 74.4512,
"avg_hyper_speed": 92.7663,
"whiff_percent": 22.1,
"swing_percent": 45.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6536,
"command_and_miss": -0.1107,
"regression_edge": 0.8286,
"xwoba_edge": 0.8286,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.8571,
"whiff_edge": -0.4857,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641745",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.189,
"sample_weight": 0.45,
"run_prevention_factor": 0.9839,
"strikeout_factor": 0.9938,
"walk_factor": 1.0009,
"homer_factor": 0.9526,
"woba_minus_xwoba": 0.029,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641745",
"espn_id": 35292,
"player_name": "Brad Keller",
"team": "PHI",
"role": "pitcher",
"espn_rank": 169,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 169,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.1538,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 3.0,
"sv_rank": 43,
"hld_value": 13.0,
"hld_rank": 7,
"ip_value": 30.1,
"ip_rank": 231,
"h_value": 29.0,
"h_rank": 214,
"er_value": 14.0,
"er_rank": 222,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 31.0,
"k_rank": 225,
"k_per_9_value": 9.197803,
"k_per_9_rank": 26,
"whip_value": 1.3516,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9928,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9928,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9787,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9972,
"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": 11,
"BB": 6,
"SO": 7,
"HR": 1,
"ERA": 4.655172413793104,
"WHIP": 1.7586206896551726,
"K9": 6.517241379310345,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "641745",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"role": "pitcher",
"player_id": "641745",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 4.0,
"SO": 3.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 92.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.4,
"BB": 0.8,
"SO": 0.6,
"HR": 0.0,
"BF": 5.2,
"Pitches": 18.4
},
"rates": {
"ERA": 7.7143,
"WHIP": 2.3571,
"ER_per_IP": 0.85714,
"H_per_IP": 1.5,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 5.0,
"R": 5.0,
"H": 11.0,
"BB": 6.0,
"SO": 7.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.1,
"BB": 0.6,
"SO": 0.7,
"HR": 0.1,
"BF": 4.6,
"Pitches": 17.6
},
"rates": {
"ERA": 4.6552,
"WHIP": 1.7586,
"ER_per_IP": 0.51724,
"H_per_IP": 1.13793,
"BB_per_IP": 0.62069,
"SO_per_IP": 0.72414,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 31,
"totals": {
"IP": 30.1,
"ER": 14.0,
"R": 15.0,
"H": 29.0,
"BB": 12.0,
"SO": 31.0,
"HR": 4.0,
"BF": 131.0,
"Pitches": 519.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4516,
"R": 0.4839,
"H": 0.9355,
"BB": 0.3871,
"SO": 1.0,
"HR": 0.129,
"BF": 4.2258,
"Pitches": 16.7419
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.3516,
"ER_per_IP": 0.46154,
"H_per_IP": 0.95604,
"BB_per_IP": 0.3956,
"SO_per_IP": 1.02198,
"HR_per_IP": 0.13187
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.585,
"predicted_H": 1.132,
"predicted_BB": 0.536,
"predicted_SO": 0.832,
"predicted_HR": 0.1,
"predicted_ERA": 5.2668,
"predicted_WHIP": 1.6679
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5419,
"form_weight": 0.4581,
"form_reliability": 0.5457,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.585,
"final": 0.268,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.132,
"final": 0.5185,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.536,
"final": 0.2455,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.832,
"final": 0.923,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.1,
"final": 0.0458,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2668,
"final": 5.2668,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6679,
"final": 1.6679,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jhoan Duran |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4635 |
| ESPN Rank | 41 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.1408 |
| Season WHIP | 0.8451 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 78,
"wins": 39,
"losses": 39,
"win_pct": 0.5,
"runs_scored": 309.0,
"runs_allowed": 340.0,
"run_differential": -31.0,
"run_differential_per_game": -0.3974,
"avg_runs_scored": 3.9615,
"avg_runs_allowed": 4.359,
"offense_index": 0.8819,
"defense_index": 1.0305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.8,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0137
},
"opponent": {
"team": "MIA",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 328.0,
"runs_allowed": 326.0,
"run_differential": 2.0,
"run_differential_per_game": 0.026,
"avg_runs_scored": 4.2597,
"avg_runs_allowed": 4.2338,
"offense_index": 0.9483,
"defense_index": 1.061,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.5,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1137
},
"edges": {
"quality_edge": -0.1274,
"offense_edge": -0.1181,
"opponent_offense_edge": -0.0517,
"defense_strength": 0.0305,
"opponent_defense_weakness": -0.061,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9979,
"run_prevention": 0.995,
"strikeout": 1.0003
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "661395",
"profile": {
"available": true,
"pitcher_id": "661395",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 65.0,
"k_percent": 38.5,
"bb_percent": 5.5,
"woba": 0.241,
"xwoba": 0.242,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 49.0,
"avg_best_speed": 82.5465,
"avg_hyper_speed": 95.402,
"whiff_percent": 39.6,
"swing_percent": 52.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.962,
"command_and_miss": 1.9007,
"regression_edge": -0.0286,
"xwoba_edge": 2.0857,
"barrel_edge": 0.3111,
"hard_hit_edge": -1.4857,
"whiff_edge": 2.0143,
"bb_edge": 0.9,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "661395",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4635,
"sample_weight": 0.45,
"run_prevention_factor": 0.9606,
"strikeout_factor": 1.0769,
"walk_factor": 0.9676,
"homer_factor": 0.9874,
"woba_minus_xwoba": -0.001,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661395",
"espn_id": 41109,
"player_name": "Jhoan Duran",
"team": "PHI",
"role": "pitcher",
"espn_rank": 41,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 41,
"gp_value": 25.0,
"gp_rank": 121,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.9014,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 18.0,
"sv_rank": 3,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 23.2,
"ip_rank": 325,
"h_value": 18.0,
"h_rank": 353,
"er_value": 5.0,
"er_rank": 490,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 5.0,
"bb_rank": 466,
"k_value": 35.0,
"k_rank": 188,
"k_per_9_value": 13.309859,
"k_per_9_rank": 15,
"whip_value": 0.9718,
"whip_rank": null,
"war_value": 1.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9823,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9823,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9943,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0346,
"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": 0,
"H": 4,
"BB": 0,
"SO": 12,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.4444444444444444,
"K9": 12.0,
"HR9": 0.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "661395",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.686,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4838,
"prior_weight": 0.5162
},
"role": "pitcher",
"player_id": "661395",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 62.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.4,
"Pitches": 12.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.0,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 0.0,
"SO": 13.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.0,
"SO": 1.3,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.5,
"BB_per_IP": 0.0,
"SO_per_IP": 1.3,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 23.2,
"ER": 3.0,
"R": 4.0,
"H": 15.0,
"BB": 5.0,
"SO": 35.0,
"HR": 1.0,
"BF": 88.0,
"Pitches": 359.0
},
"per_game": {
"IP": 1.0,
"ER": 0.125,
"R": 0.1667,
"H": 0.625,
"BB": 0.2083,
"SO": 1.4583,
"HR": 0.0417,
"BF": 3.6667,
"Pitches": 14.9583
},
"rates": {
"ERA": 1.1408,
"WHIP": 0.8451,
"ER_per_IP": 0.12676,
"H_per_IP": 0.6338,
"BB_per_IP": 0.21127,
"SO_per_IP": 1.47887,
"HR_per_IP": 0.04225
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.269,
"predicted_H": 0.778,
"predicted_BB": 0.207,
"predicted_SO": 1.107,
"predicted_HR": 0.079,
"predicted_ERA": 2.4169,
"predicted_WHIP": 0.9853
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5681,
"form_weight": 0.4319,
"form_reliability": 0.4838,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.686,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4838,
"prior_weight": 0.5162
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.269,
"final": 0.1162,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.778,
"final": 0.336,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.207,
"final": 0.0894,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.107,
"final": 0.4781,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.079,
"final": 0.0341,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4169,
"final": 2.4169,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9853,
"final": 0.9853,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Orion Kerkering |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4428 |
| ESPN Rank | 79 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.0250 |
| Season WHIP | 1.1250 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PHI",
"games": 78,
"wins": 39,
"losses": 39,
"win_pct": 0.5,
"runs_scored": 309.0,
"runs_allowed": 340.0,
"run_differential": -31.0,
"run_differential_per_game": -0.3974,
"avg_runs_scored": 3.9615,
"avg_runs_allowed": 4.359,
"offense_index": 0.8819,
"defense_index": 1.0305,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.8,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0137
},
"opponent": {
"team": "MIA",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 328.0,
"runs_allowed": 326.0,
"run_differential": 2.0,
"run_differential_per_game": 0.026,
"avg_runs_scored": 4.2597,
"avg_runs_allowed": 4.2338,
"offense_index": 0.9483,
"defense_index": 1.061,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 2.5,
"run_differential": 21.0
},
"available": true,
"quality_score": 0.1137
},
"edges": {
"quality_edge": -0.1274,
"offense_edge": -0.1181,
"opponent_offense_edge": -0.0517,
"defense_strength": 0.0305,
"opponent_defense_weakness": -0.061,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9979,
"run_prevention": 0.995,
"strikeout": 1.0003
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "689147",
"profile": {
"available": true,
"pitcher_id": "689147",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 78.0,
"k_percent": 25.9,
"bb_percent": 9.8,
"woba": 0.27,
"xwoba": 0.245,
"sweet_spot_percent": 26.8,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 21.1,
"avg_best_speed": 69.7526,
"avg_hyper_speed": 91.6275,
"whiff_percent": 26.2,
"swing_percent": 43.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.5342,
"command_and_miss": 0.2057,
"regression_edge": 0.7143,
"xwoba_edge": 2.0,
"barrel_edge": 0.3778,
"hard_hit_edge": 2.5,
"whiff_edge": 0.1,
"bb_edge": -0.175,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "689147",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4428,
"sample_weight": 0.45,
"run_prevention_factor": 0.9624,
"strikeout_factor": 1.01,
"walk_factor": 1.0063,
"homer_factor": 0.9144,
"woba_minus_xwoba": 0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "689147",
"espn_id": 4630789,
"player_name": "Orion Kerkering",
"team": "PHI",
"role": "pitcher",
"espn_rank": 79,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 79,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.025,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 26.2,
"ip_rank": 290,
"h_value": 19.0,
"h_rank": 336,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 29.0,
"k_rank": 250,
"k_per_9_value": 9.7875,
"k_per_9_rank": 23,
"whip_value": 1.125,
"whip_rank": null,
"war_value": 1.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9615,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0045,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 7,
"BB": 4,
"SO": 17,
"HR": 0,
"ERA": 1.8000000000000003,
"WHIP": 1.1,
"K9": 15.300000000000002,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "689147",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.28,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5136,
"prior_weight": 0.4864
},
"role": "pitcher",
"player_id": "689147",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 100.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.4,
"Pitches": 20.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.125,
"ER_per_IP": 0.0,
"H_per_IP": 0.5625,
"BB_per_IP": 0.5625,
"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": 7.0,
"BB": 4.0,
"SO": 17.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 186.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.4,
"SO": 1.7,
"HR": 0.0,
"BF": 4.2,
"Pitches": 18.6
},
"rates": {
"ERA": 1.8,
"WHIP": 1.1,
"ER_per_IP": 0.2,
"H_per_IP": 0.7,
"BB_per_IP": 0.4,
"SO_per_IP": 1.7,
"HR_per_IP": 0.0
}
},
"season": {
"games": 29,
"totals": {
"IP": 26.2,
"ER": 6.0,
"R": 7.0,
"H": 19.0,
"BB": 11.0,
"SO": 29.0,
"HR": 2.0,
"BF": 112.0,
"Pitches": 469.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2069,
"R": 0.2414,
"H": 0.6552,
"BB": 0.3793,
"SO": 1.0,
"HR": 0.069,
"BF": 3.8621,
"Pitches": 16.1724
},
"rates": {
"ERA": 2.025,
"WHIP": 1.125,
"ER_per_IP": 0.225,
"H_per_IP": 0.7125,
"BB_per_IP": 0.4125,
"SO_per_IP": 1.0875,
"HR_per_IP": 0.075
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.252,
"predicted_H": 0.672,
"predicted_BB": 0.352,
"predicted_SO": 0.948,
"predicted_HR": 0.066,
"predicted_ERA": 2.705,
"predicted_WHIP": 1.2218
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5555,
"form_weight": 0.4445,
"form_reliability": 0.5136,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.28,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5136,
"prior_weight": 0.4864
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.252,
"final": 0.112,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.672,
"final": 0.2987,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.352,
"final": 0.1565,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.948,
"final": 0.9769,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0293,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.705,
"final": 2.705,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2218,
"final": 1.2218,
"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.134 | 0.000 | 0.000 | Hitting_2B | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.350 | 2.000 | 4.000 | Hitting_AB | 3.894 | 4.000 | -1.894 | -2.000 |
| predicted_AVG | 0.245 | 0.000 | 0.250 | Hitting_AVG | 0.249 | 0.250 | -0.249 | -0.250 |
| predicted_BB | 0.612 | 2.000 | 1.000 | Hitting_BB | 0.610 | 0.000 | 1.390 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.070 | 0.000 | 1.000 | Hitting_H | 0.969 | 1.000 | -0.969 | -1.000 |
| predicted_HR | 0.250 | 0.000 | 0.000 | Hitting_HR | 0.394 | 0.000 | -0.394 | 0.000 |
| predicted_OBP | 0.357 | 0.500 | 0.400 | Hitting_OBP | 0.362 | 0.250 | 0.138 | 0.250 |
| predicted_R | 0.612 | 0.000 | 1.000 | Hitting_R | 0.685 | 0.000 | -0.685 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 0.000 | Hitting_RBI | 0.740 | 0.000 | -0.740 | 0.000 |
| predicted_SLG | 0.474 | 0.000 | 0.250 | Hitting_SLG | 0.613 | 0.250 | -0.613 | -0.250 |
| predicted_SO | 1.552 | 1.000 | 1.000 | Hitting_SO | 1.535 | 0.000 | -0.535 | 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.6120 -> 2.0000 (boost 1.3880, better) |
| Biggest Deboost | predicted_AB: 4.3500 -> 2.0000 (deboost -2.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 | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2450 -> 0.2595 (boost 0.0145, better) | predicted_AB: 4.3500 -> 4.1586 (deboost -0.1914, 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.4869 -> 0.4635 (deboost -0.0234, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_BB: 0.5858 -> 1.0000 (boost 0.4142, better) | predicted_SO: 1.5379 -> 1.0000 (deboost -0.5379, better) | AB rounded to 4 (raw=4.35), rates preserved: AVG=0.241 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5561 -> 1.0000 (boost 0.4439, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3444 -> 0.4000 (boost 0.0556, better) | predicted_SLG: 0.4635 -> 0.2500 (deboost -0.2135, 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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4635 (boost 0.2135, better) | predicted_OBP: 0.4000 -> 0.3444 (deboost -0.0556, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656941",
"player_name": "Kyle Schwarber",
"position": "DH",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.134,
"predicted_3B": 0.015,
"predicted_AB": 4.35,
"predicted_AVG": 0.245,
"predicted_BB": 0.612,
"predicted_H": 1.07,
"predicted_HR": 0.25,
"predicted_OBP": 0.357,
"predicted_R": 0.612,
"predicted_RBI": 0.53,
"predicted_SLG": 0.474,
"predicted_SO": 1.552
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1162,
"predicted_3B": 0.0129,
"predicted_AB": 4.1586,
"predicted_AVG": 0.2595,
"predicted_BB": 0.5908,
"predicted_H": 1.078,
"predicted_HBP": 0.036,
"predicted_HR": 0.2525,
"predicted_OBP": 0.3648,
"predicted_R": 0.5832,
"predicted_RBI": 0.5139,
"predicted_SLG": 0.4869,
"predicted_SO": 1.5249
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.1162,
"delta": -0.0178,
"percent_delta": -0.1328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 4.1586,
"delta": -0.1914,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2595,
"delta": 0.0145,
"percent_delta": 0.0592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.612,
"after": 0.5908,
"delta": -0.0212,
"percent_delta": -0.0346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.078,
"delta": 0.008,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.2525,
"delta": 0.0025,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3648,
"delta": 0.0078,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.612,
"after": 0.5832,
"delta": -0.0288,
"percent_delta": -0.0471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5139,
"delta": -0.0161,
"percent_delta": -0.0304,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.4869,
"delta": 0.0129,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.552,
"after": 1.5249,
"delta": -0.0271,
"percent_delta": -0.0175,
"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_AVG",
"before": 0.245,
"after": 0.2595,
"delta": 0.0145,
"percent_delta": 0.0592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 4.1586,
"delta": -0.1914,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1162,
"predicted_3B": 0.0129,
"predicted_AB": 4.1586,
"predicted_AVG": 0.252,
"predicted_BB": 0.5858,
"predicted_H": 1.048,
"predicted_HBP": 0.036,
"predicted_HR": 0.2458,
"predicted_OBP": 0.3444,
"predicted_R": 0.5561,
"predicted_RBI": 0.4901,
"predicted_SLG": 0.4635,
"predicted_SO": 1.5379
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1162,
"after": 0.1162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1586,
"after": 4.1586,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2595,
"after": 0.252,
"delta": -0.0075,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5908,
"after": 0.5858,
"delta": -0.005,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.078,
"after": 1.048,
"delta": -0.03,
"percent_delta": -0.0278,
"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.2525,
"after": 0.2458,
"delta": -0.0067,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3648,
"after": 0.3444,
"delta": -0.0204,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5832,
"after": 0.5561,
"delta": -0.0271,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5139,
"after": 0.4901,
"delta": -0.0238,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4869,
"after": 0.4635,
"delta": -0.0234,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5249,
"after": 1.5379,
"delta": 0.013,
"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_SLG",
"before": 0.4869,
"after": 0.4635,
"delta": -0.0234,
"percent_delta": -0.0481,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.35), rates preserved: AVG=0.241 HR/AB=0.057",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1162,
"after": 0.0,
"delta": -0.1162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1586,
"after": 4.0,
"delta": -0.1586,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5858,
"after": 1.0,
"delta": 0.4142,
"percent_delta": 0.7071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.048,
"after": 1.0,
"delta": -0.048,
"percent_delta": -0.0458,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.2458,
"after": 0.0,
"delta": -0.2458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4901,
"after": 0.0,
"delta": -0.4901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5379,
"after": 1.0,
"delta": -0.5379,
"percent_delta": -0.3498,
"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.5858,
"after": 1.0,
"delta": 0.4142,
"percent_delta": 0.7071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.5379,
"after": 1.0,
"delta": -0.5379,
"percent_delta": -0.3498,
"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": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5561,
"after": 1.0,
"delta": 0.4439,
"percent_delta": 0.7982,
"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.5561,
"after": 1.0,
"delta": 0.4439,
"percent_delta": 0.7982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 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.252,
"after": 0.25,
"delta": -0.002,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3444,
"after": 0.4,
"delta": 0.0556,
"percent_delta": 0.1614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4635,
"after": 0.25,
"delta": -0.2135,
"percent_delta": -0.4606,
"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.3444,
"after": 0.4,
"delta": 0.0556,
"percent_delta": 0.1614,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4635,
"after": 0.25,
"delta": -0.2135,
"percent_delta": -0.4606,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 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.252,
"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.3444,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4635,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.252,
"delta": 0.002,
"percent_delta": 0.0081,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3444,
"delta": -0.0556,
"percent_delta": -0.1391,
"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.4635,
"delta": 0.2135,
"percent_delta": 0.8539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4635,
"delta": 0.2135,
"percent_delta": 0.8539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3444,
"delta": -0.0556,
"percent_delta": -0.1391,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 2.0,
"delta": -2.35,
"percent_delta": -0.5402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.252,
"delta": 0.007,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.612,
"after": 2.0,
"delta": 1.388,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.357,
"after": 0.3444,
"delta": -0.0126,
"percent_delta": -0.0353,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.612,
"after": 0.0,
"delta": -0.612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.474,
"after": 0.4635,
"delta": -0.0105,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.552,
"after": 1.0,
"delta": -0.552,
"percent_delta": -0.3557,
"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.612,
"after": 2.0,
"delta": 1.388,
"percent_delta": 2.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 2.0,
"delta": -2.35,
"percent_delta": -0.5402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.350 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.612 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.250 | - |
| predicted_OBP | 0.357 | - |
| predicted_R | 0.612 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.474 | - |
| predicted_SO | 1.552 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.116 | -0.018 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 4.159 | -0.191 |
| predicted_AVG | 0.260 | 0.015 |
| predicted_BB | 0.591 | -0.021 |
| predicted_H | 1.078 | 0.008 |
| predicted_HBP | 0.036 | - |
| predicted_HR | 0.253 | 0.003 |
| predicted_OBP | 0.365 | 0.008 |
| predicted_R | 0.583 | -0.029 |
| predicted_RBI | 0.514 | -0.016 |
| predicted_SLG | 0.487 | 0.013 |
| predicted_SO | 1.525 | -0.027 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.116 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.159 | 0.000 |
| predicted_AVG | 0.252 | -0.008 |
| predicted_BB | 0.586 | -0.005 |
| predicted_H | 1.048 | -0.030 |
| predicted_HBP | 0.036 | 0.000 |
| predicted_HR | 0.246 | -0.007 |
| predicted_OBP | 0.344 | -0.020 |
| predicted_R | 0.556 | -0.027 |
| predicted_RBI | 0.490 | -0.024 |
| predicted_SLG | 0.464 | -0.023 |
| predicted_SO | 1.538 | 0.013 |
AB rounded to 4 (raw=4.35), rates preserved: AVG=0.241 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.116 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | -0.159 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 1.000 | 0.414 |
| predicted_H | 1.000 | -0.048 |
| predicted_HR | 0.000 | -0.246 |
| predicted_OBP | 0.400 | 0.056 |
| predicted_R | 1.000 | 0.444 |
| predicted_RBI | 0.000 | -0.490 |
| predicted_SLG | 0.250 | -0.214 |
| predicted_SO | 1.000 | -0.538 |
Attached 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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 8.000 | 0.3500 | 0.4091 | 0.5000 | 0.3500 | 0.0500 | 0.1000 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 40.000 | 13.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 7.000 | 15.000 | 0.3250 | 0.4255 | 0.4000 | 0.3250 | 0.0250 | 0.0500 | 0.1750 | 0.3750 |
| season | 0.60 | 67 | - | 257.000 | 63.000 | 9.000 | 1.000 | 23.000 | 41.000 | 41.000 | 41.000 | 104.000 | 0.2451 | 0.3576 | 0.5564 | 0.2451 | 0.0895 | 0.1595 | 0.1595 | 0.4047 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0920 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8980 |
| predicted_AVG | 0.2792 |
| predicted_BB | 0.5620 |
| predicted_H | 1.0890 |
| predicted_HBP | 0.0360 |
| predicted_HR | 0.2560 |
| predicted_OBP | 0.3753 |
| predicted_R | 0.5440 |
| predicted_RBI | 0.4920 |
| predicted_SLG | 0.5044 |
| predicted_SO | 1.4880 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1340 | 0.0920 | 0.1162 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 4.3500 | 3.8980 | 4.1586 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2792 | 0.2595 | model_form_blend |
| predicted_BB | 0.6120 | 0.5620 | 0.5908 | model_form_blend |
| predicted_H | 1.0700 | 1.0890 | 1.0780 | model_form_blend |
| predicted_HBP | - | 0.0360 | 0.0360 | form_only |
| predicted_HR | 0.2500 | 0.2560 | 0.2525 | model_form_blend |
| predicted_OBP | 0.3570 | 0.3753 | 0.3648 | model_form_blend |
| predicted_R | 0.6120 | 0.5440 | 0.5832 | model_form_blend |
| predicted_RBI | 0.5300 | 0.4920 | 0.5139 | model_form_blend |
| predicted_SLG | 0.4740 | 0.5044 | 0.4869 | model_form_blend |
| predicted_SO | 1.5520 | 1.4880 | 1.5249 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 254 |
| Season rows before report date | 254 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_PHI@MIL |
| game_type | full |
| mlbID | 656941 |
| playerID | 656941 |
| playerName | Kyle Schwarber |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-14 |
| sl_k_percent | 34.4 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.4 |
| sl_xwoba | 0.378 |
| sl_xba | 0.24 |
| sl_xslg | 0.528 |
| sl_sweet_spot_percent | 39.7 |
| sl_barrel_batted_rate | 21.3 |
| sl_hard_hit_percent | 50.3 |
| sl_exit_velocity_avg | 93.2 |
| sl_launch_angle_avg | 21.8 |
| sl_whiff_percent | 34.1 |
| 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.174 | 0.000 | 0.000 | Hitting_2B | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 3.770 | 3.000 | 4.000 | Hitting_AB | 3.602 | 4.000 | -0.602 | -1.000 |
| predicted_AVG | 0.244 | 0.333 | 0.250 | Hitting_AVG | 0.273 | 0.000 | 0.060 | 0.333 |
| predicted_BB | 0.638 | 1.000 | 1.000 | Hitting_BB | 0.663 | 0.000 | 0.337 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.920 | 1.000 | 1.000 | Hitting_H | 0.984 | 0.000 | 0.016 | 1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_OBP | 0.344 | 0.500 | 0.400 | Hitting_OBP | 0.382 | 0.000 | 0.118 | 0.500 |
| predicted_R | 0.667 | 1.000 | 1.000 | Hitting_R | 0.650 | 0.000 | 0.350 | 1.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.622 | 0.000 | -0.622 | 0.000 |
| predicted_SLG | 0.454 | 0.333 | 0.250 | Hitting_SLG | 0.534 | 0.000 | -0.201 | 0.333 |
| predicted_SO | 0.812 | 0.000 | 1.000 | Hitting_SO | 0.768 | 1.000 | -0.768 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.6380 -> 1.0000 (boost 0.3620, better) |
| Biggest Deboost | predicted_SO: 0.8120 -> 0.0000 (deboost -0.8120, 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 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3440 -> 0.3497 (boost 0.0057, better) | predicted_AB: 3.7700 -> 3.6339 (deboost -0.1361, 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.4570 -> 0.4381 (deboost -0.0189, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_RBI: 0.4798 -> 1.0000 (boost 0.5202, better) | predicted_2B: 0.1791 -> 0.0000 (deboost -0.1791, worse) | AB rounded to 4 (raw=3.77), rates preserved: AVG=0.227 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6828 -> 1.0000 (boost 0.3172, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3515 -> 0.4000 (boost 0.0485, better) | predicted_SLG: 0.4381 -> 0.2500 (deboost -0.1881, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4381 (boost 0.1881, better) | predicted_OBP: 0.4000 -> 0.3515 (deboost -0.0485, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "547180",
"player_name": "Bryce Harper",
"position": "1B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.174,
"predicted_3B": 0.014,
"predicted_AB": 3.77,
"predicted_AVG": 0.244,
"predicted_BB": 0.638,
"predicted_H": 0.92,
"predicted_HR": 0.18,
"predicted_OBP": 0.344,
"predicted_R": 0.667,
"predicted_RBI": 0.52,
"predicted_SLG": 0.454,
"predicted_SO": 0.812
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1791,
"predicted_3B": 0.0119,
"predicted_AB": 3.6339,
"predicted_AVG": 0.2426,
"predicted_BB": 0.6528,
"predicted_H": 0.882,
"predicted_HBP": 0.003,
"predicted_HR": 0.1821,
"predicted_OBP": 0.3497,
"predicted_R": 0.716,
"predicted_RBI": 0.5031,
"predicted_SLG": 0.457,
"predicted_SO": 0.8369
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.174,
"after": 0.1791,
"delta": 0.0051,
"percent_delta": 0.0293,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 3.6339,
"delta": -0.1361,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2426,
"delta": -0.0014,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.638,
"after": 0.6528,
"delta": 0.0148,
"percent_delta": 0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.882,
"delta": -0.038,
"percent_delta": -0.0413,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1821,
"delta": 0.0021,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3497,
"delta": 0.0057,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.716,
"delta": 0.049,
"percent_delta": 0.0735,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5031,
"delta": -0.0169,
"percent_delta": -0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.457,
"delta": 0.003,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 0.8369,
"delta": 0.0249,
"percent_delta": 0.0307,
"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.344,
"after": 0.3497,
"delta": 0.0057,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.77,
"after": 3.6339,
"delta": -0.1361,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1791,
"predicted_3B": 0.0119,
"predicted_AB": 3.6339,
"predicted_AVG": 0.236,
"predicted_BB": 0.6473,
"predicted_H": 0.8575,
"predicted_HBP": 0.003,
"predicted_HR": 0.1773,
"predicted_OBP": 0.3515,
"predicted_R": 0.6828,
"predicted_RBI": 0.4798,
"predicted_SLG": 0.4381,
"predicted_SO": 0.844
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1791,
"after": 0.1791,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6339,
"after": 3.6339,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2426,
"after": 0.236,
"delta": -0.0066,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6528,
"after": 0.6473,
"delta": -0.0055,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.882,
"after": 0.8575,
"delta": -0.0245,
"percent_delta": -0.0278,
"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.1821,
"after": 0.1773,
"delta": -0.0048,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3497,
"after": 0.3515,
"delta": 0.0018,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.716,
"after": 0.6828,
"delta": -0.0332,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5031,
"after": 0.4798,
"delta": -0.0233,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.457,
"after": 0.4381,
"delta": -0.0189,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8369,
"after": 0.844,
"delta": 0.0071,
"percent_delta": 0.0085,
"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.457,
"after": 0.4381,
"delta": -0.0189,
"percent_delta": -0.0414,
"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.227 HR/AB=0.047",
"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.1791,
"after": 0.0,
"delta": -0.1791,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6339,
"after": 4.0,
"delta": 0.3661,
"percent_delta": 0.1007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6473,
"after": 1.0,
"delta": 0.3527,
"percent_delta": 0.5449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8575,
"after": 1.0,
"delta": 0.1425,
"percent_delta": 0.1662,
"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.1773,
"after": 0.0,
"delta": -0.1773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4798,
"after": 1.0,
"delta": 0.5202,
"percent_delta": 1.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.844,
"after": 1.0,
"delta": 0.156,
"percent_delta": 0.1848,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4798,
"after": 1.0,
"delta": 0.5202,
"percent_delta": 1.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1791,
"after": 0.0,
"delta": -0.1791,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6828,
"after": 1.0,
"delta": 0.3172,
"percent_delta": 0.4646,
"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.6828,
"after": 1.0,
"delta": 0.3172,
"percent_delta": 0.4646,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.25,
"delta": 0.014,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3515,
"after": 0.4,
"delta": 0.0485,
"percent_delta": 0.138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4381,
"after": 0.25,
"delta": -0.1881,
"percent_delta": -0.4294,
"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.3515,
"after": 0.4,
"delta": 0.0485,
"percent_delta": 0.138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4381,
"after": 0.25,
"delta": -0.1881,
"percent_delta": -0.4294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.236,
"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.3515,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4381,
"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.236,
"delta": -0.014,
"percent_delta": -0.0561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.3515,
"delta": -0.0485,
"percent_delta": -0.1213,
"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.4381,
"delta": 0.1881,
"percent_delta": 0.7526,
"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.4381,
"delta": 0.1881,
"percent_delta": 0.7526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3515,
"delta": -0.0485,
"percent_delta": -0.1213,
"direction": "deboost",
"projection_effect": "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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.77,
"after": 3.0,
"delta": -0.77,
"percent_delta": -0.2042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.236,
"delta": -0.008,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.638,
"after": 1.0,
"delta": 0.362,
"percent_delta": 0.5674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3515,
"delta": 0.0075,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "better",
"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.454,
"after": 0.4381,
"delta": -0.0159,
"percent_delta": -0.035,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 0.0,
"delta": -0.812,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.638,
"after": 1.0,
"delta": 0.362,
"percent_delta": 0.5674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.812,
"after": 0.0,
"delta": -0.812,
"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.014 | - |
| predicted_AB | 3.770 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.638 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 0.812 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.005 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.634 | -0.136 |
| predicted_AVG | 0.243 | -0.001 |
| predicted_BB | 0.653 | 0.015 |
| predicted_H | 0.882 | -0.038 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.182 | 0.002 |
| predicted_OBP | 0.350 | 0.006 |
| predicted_R | 0.716 | 0.049 |
| predicted_RBI | 0.503 | -0.017 |
| predicted_SLG | 0.457 | 0.003 |
| predicted_SO | 0.837 | 0.025 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.179 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.634 | 0.000 |
| predicted_AVG | 0.236 | -0.007 |
| predicted_BB | 0.647 | -0.006 |
| predicted_H | 0.858 | -0.024 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.177 | -0.005 |
| predicted_OBP | 0.351 | 0.002 |
| predicted_R | 0.683 | -0.033 |
| predicted_RBI | 0.480 | -0.023 |
| predicted_SLG | 0.438 | -0.019 |
| predicted_SO | 0.844 | 0.007 |
AB rounded to 4 (raw=3.77), rates preserved: AVG=0.227 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.179 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.366 |
| predicted_AVG | 0.250 | 0.014 |
| predicted_BB | 1.000 | 0.353 |
| predicted_H | 1.000 | 0.142 |
| predicted_HR | 0.000 | -0.177 |
| predicted_OBP | 0.400 | 0.049 |
| predicted_R | 1.000 | 0.317 |
| predicted_RBI | 1.000 | 0.520 |
| predicted_SLG | 0.250 | -0.188 |
| predicted_SO | 1.000 | 0.156 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 3.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 4.000 | 5.000 | 0.1875 | 0.3333 | 0.4375 | 0.1875 | 0.0625 | 0.1250 | 0.2500 | 0.3125 |
| last_10 | 0.20 | 10 | - | 33.000 | 8.000 | 2.000 | 0.000 | 1.000 | 3.000 | 10.000 | 8.000 | 9.000 | 0.2424 | 0.3810 | 0.3939 | 0.2424 | 0.0303 | 0.0909 | 0.2424 | 0.2727 |
| season | 0.60 | 69 | - | 242.000 | 62.000 | 12.000 | 1.000 | 15.000 | 39.000 | 46.000 | 44.000 | 56.000 | 0.2562 | 0.3655 | 0.5000 | 0.2562 | 0.0620 | 0.1612 | 0.1818 | 0.2314 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1860 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.4480 |
| predicted_AVG | 0.2407 |
| predicted_BB | 0.6730 |
| predicted_H | 0.8300 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1850 |
| predicted_OBP | 0.3576 |
| predicted_R | 0.7830 |
| predicted_RBI | 0.4800 |
| predicted_SLG | 0.4610 |
| predicted_SO | 0.8710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1740 | 0.1860 | 0.1791 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 3.7700 | 3.4480 | 3.6339 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2407 | 0.2426 | model_form_blend |
| predicted_BB | 0.6380 | 0.6730 | 0.6528 | model_form_blend |
| predicted_H | 0.9200 | 0.8300 | 0.8820 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1800 | 0.1850 | 0.1821 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3576 | 0.3497 | model_form_blend |
| predicted_R | 0.6670 | 0.7830 | 0.7160 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4800 | 0.5031 | model_form_blend |
| predicted_SLG | 0.4540 | 0.4610 | 0.4570 | model_form_blend |
| predicted_SO | 0.8120 | 0.8710 | 0.8369 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| 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 | 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 | 1B |
| gameID | 20260614_PHI@MIL |
| game_type | full |
| mlbID | 547180 |
| playerID | 547180 |
| playerName | Bryce Harper |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-14 |
| sl_k_percent | 19.0 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.377 |
| sl_xwoba | 0.409 |
| sl_xba | 0.287 |
| sl_xslg | 0.553 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 45.5 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 30.6 |
| 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.162 | 1.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | 0.832 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.580 | 4.000 | 5.000 | Hitting_AB | 4.281 | 4.000 | -0.281 | 0.000 |
| predicted_AVG | 0.214 | 0.500 | 0.200 | Hitting_AVG | 0.230 | 0.000 | 0.270 | 0.500 |
| predicted_BB | 0.279 | 0.000 | 0.000 | Hitting_BB | 0.285 | 0.000 | -0.285 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.980 | 2.000 | 1.000 | Hitting_H | 0.984 | 0.000 | 1.016 | 2.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.133 | 0.000 | -0.133 | 0.000 |
| predicted_OBP | 0.261 | 0.500 | 0.200 | Hitting_OBP | 0.277 | 0.000 | 0.223 | 0.500 |
| predicted_R | 0.603 | 1.000 | 1.000 | Hitting_R | 0.672 | 0.000 | 0.328 | 1.000 |
| predicted_RBI | 0.330 | 1.000 | 0.000 | Hitting_RBI | 0.355 | 0.000 | 0.645 | 1.000 |
| predicted_SLG | 0.330 | 0.750 | 0.200 | Hitting_SLG | 0.362 | 0.000 | 0.388 | 0.750 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 0.996 | 2.000 | 0.004 | -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 | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.9800 -> 2.0000 (boost 1.0200, better) |
| Biggest Deboost | predicted_AB: 4.5800 -> 4.0000 (deboost -0.5800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 0 | 6 | predicted_SO: 1.0000 -> 1.0911 (boost 0.0911, worse) | predicted_AB: 4.5800 -> 4.4164 (deboost -0.1636, 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.3137 -> 0.2980 (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 | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.4164 -> 5.0000 (boost 0.5836, better) | predicted_RBI: 0.2844 -> 0.0000 (deboost -0.2844, worse) | AB rounded to 5 (raw=4.58), rates preserved: AVG=0.195 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5427 -> 1.0000 (boost 0.4573, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2980 -> 0.2000 (deboost -0.0980, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 3 | 1 | predicted_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 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2000 -> 0.2980 (boost 0.0980, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607208",
"player_name": "Trea Turner",
"position": "SS",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.0,
"predicted_AB": 4.58,
"predicted_AVG": 0.214,
"predicted_BB": 0.279,
"predicted_H": 0.98,
"predicted_HR": 0.1,
"predicted_OBP": 0.261,
"predicted_R": 0.603,
"predicted_RBI": 0.33,
"predicted_SLG": 0.33,
"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.1688,
"predicted_3B": 0.0004,
"predicted_AB": 4.4164,
"predicted_AVG": 0.2076,
"predicted_BB": 0.2612,
"predicted_H": 0.9181,
"predicted_HBP": 0.003,
"predicted_HR": 0.0869,
"predicted_OBP": 0.2524,
"predicted_R": 0.5691,
"predicted_RBI": 0.2982,
"predicted_SLG": 0.3137,
"predicted_SO": 1.0911
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1688,
"delta": 0.0068,
"percent_delta": 0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 4.4164,
"delta": -0.1636,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2076,
"delta": -0.0064,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.279,
"after": 0.2612,
"delta": -0.0178,
"percent_delta": -0.0638,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9181,
"delta": -0.0619,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0869,
"delta": -0.0131,
"percent_delta": -0.131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.261,
"after": 0.2524,
"delta": -0.0086,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.603,
"after": 0.5691,
"delta": -0.0339,
"percent_delta": -0.0562,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.2982,
"delta": -0.0318,
"percent_delta": -0.0964,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.3137,
"delta": -0.0163,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0911,
"delta": 0.0911,
"percent_delta": 0.0911,
"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": 1.0911,
"delta": 0.0911,
"percent_delta": 0.0911,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 4.4164,
"delta": -0.1636,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1688,
"predicted_3B": 0.0004,
"predicted_AB": 4.4164,
"predicted_AVG": 0.2021,
"predicted_BB": 0.259,
"predicted_H": 0.8926,
"predicted_HBP": 0.003,
"predicted_HR": 0.0846,
"predicted_OBP": 0.2463,
"predicted_R": 0.5427,
"predicted_RBI": 0.2844,
"predicted_SLG": 0.298,
"predicted_SO": 1.1004
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1688,
"after": 0.1688,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4164,
"after": 4.4164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2076,
"after": 0.2021,
"delta": -0.0055,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2612,
"after": 0.259,
"delta": -0.0022,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9181,
"after": 0.8926,
"delta": -0.0255,
"percent_delta": -0.0278,
"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.0869,
"after": 0.0846,
"delta": -0.0023,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2524,
"after": 0.2463,
"delta": -0.0061,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5691,
"after": 0.5427,
"delta": -0.0264,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2982,
"after": 0.2844,
"delta": -0.0138,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3137,
"after": 0.298,
"delta": -0.0157,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0911,
"after": 1.1004,
"delta": 0.0093,
"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_SLG",
"before": 0.3137,
"after": 0.298,
"delta": -0.0157,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.58), rates preserved: AVG=0.195 HR/AB=0.018",
"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.1688,
"after": 0.0,
"delta": -0.1688,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4164,
"after": 5.0,
"delta": 0.5836,
"percent_delta": 0.1321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.259,
"after": 0.0,
"delta": -0.259,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8926,
"after": 1.0,
"delta": 0.1074,
"percent_delta": 0.1203,
"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.0846,
"after": 0.0,
"delta": -0.0846,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2844,
"after": 0.0,
"delta": -0.2844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1004,
"after": 1.0,
"delta": -0.1004,
"percent_delta": -0.0912,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.4164,
"after": 5.0,
"delta": 0.5836,
"percent_delta": 0.1321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2844,
"after": 0.0,
"delta": -0.2844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5427,
"after": 1.0,
"delta": 0.4573,
"percent_delta": 0.8426,
"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.5427,
"after": 1.0,
"delta": 0.4573,
"percent_delta": 0.8426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2021,
"after": 0.2,
"delta": -0.0021,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2463,
"after": 0.2,
"delta": -0.0463,
"percent_delta": -0.188,
"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.298,
"after": 0.2,
"delta": -0.098,
"percent_delta": -0.3289,
"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.298,
"after": 0.2,
"delta": -0.098,
"percent_delta": -0.3289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"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": 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.2021,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2463,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.298,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2021,
"delta": 0.0021,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2,
"after": 0.2463,
"delta": 0.0463,
"percent_delta": 0.2315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.298,
"delta": 0.098,
"percent_delta": 0.4898,
"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.298,
"delta": 0.098,
"percent_delta": 0.4898,
"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.162,
"after": 1.0,
"delta": 0.838,
"percent_delta": 5.1728,
"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.58,
"after": 4.0,
"delta": -0.58,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2021,
"delta": -0.0119,
"percent_delta": -0.0556,
"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": 0.98,
"after": 2.0,
"delta": 1.02,
"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.261,
"after": 0.2463,
"delta": -0.0147,
"percent_delta": -0.0563,
"direction": "deboost",
"projection_effect": "worse",
"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.33,
"after": 1.0,
"delta": 0.67,
"percent_delta": 2.0303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.298,
"delta": -0.032,
"percent_delta": -0.097,
"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": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.98,
"after": 2.0,
"delta": 1.02,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 4.0,
"delta": -0.58,
"percent_delta": -0.1266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.580 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.279 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.261 | - |
| predicted_R | 0.603 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.330 | - |
| 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.169 | 0.007 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.416 | -0.164 |
| predicted_AVG | 0.208 | -0.006 |
| predicted_BB | 0.261 | -0.018 |
| predicted_H | 0.918 | -0.062 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.087 | -0.013 |
| predicted_OBP | 0.252 | -0.009 |
| predicted_R | 0.569 | -0.034 |
| predicted_RBI | 0.298 | -0.032 |
| predicted_SLG | 0.314 | -0.016 |
| predicted_SO | 1.091 | 0.091 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 4.416 | 0.000 |
| predicted_AVG | 0.202 | -0.006 |
| predicted_BB | 0.259 | -0.002 |
| predicted_H | 0.893 | -0.026 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.085 | -0.002 |
| predicted_OBP | 0.246 | -0.006 |
| predicted_R | 0.543 | -0.026 |
| predicted_RBI | 0.284 | -0.014 |
| predicted_SLG | 0.298 | -0.016 |
| predicted_SO | 1.100 | 0.009 |
AB rounded to 5 (raw=4.58), rates preserved: AVG=0.195 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.169 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.584 |
| predicted_AVG | 0.200 | -0.002 |
| predicted_BB | 0.000 | -0.259 |
| predicted_H | 1.000 | 0.107 |
| predicted_HR | 0.000 | -0.085 |
| predicted_OBP | 0.200 | -0.046 |
| predicted_R | 1.000 | 0.457 |
| predicted_RBI | 0.000 | -0.284 |
| predicted_SLG | 0.200 | -0.098 |
| predicted_SO | 1.000 | -0.100 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 10.000 | 0.1364 | 0.1364 | 0.1818 | 0.1364 | 0.0000 | 0.0000 | 0.0000 | 0.4546 |
| last_10 | 0.20 | 10 | - | 42.000 | 7.000 | 2.000 | 0.000 | 0.000 | 2.000 | 6.000 | 3.000 | 13.000 | 0.1667 | 0.2222 | 0.2143 | 0.1667 | 0.0000 | 0.0476 | 0.0714 | 0.3095 |
| season | 0.60 | 68 | - | 284.000 | 63.000 | 11.000 | 0.000 | 7.000 | 21.000 | 41.000 | 19.000 | 68.000 | 0.2218 | 0.2697 | 0.3345 | 0.2218 | 0.0246 | 0.0739 | 0.0669 | 0.2394 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1780 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.1940 |
| predicted_AVG | 0.1988 |
| predicted_BB | 0.2370 |
| predicted_H | 0.8340 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0690 |
| predicted_OBP | 0.2407 |
| predicted_R | 0.5230 |
| predicted_RBI | 0.2550 |
| predicted_SLG | 0.2916 |
| predicted_SO | 1.2150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.1780 | 0.1688 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.5800 | 4.1940 | 4.4164 | model_form_blend |
| predicted_AVG | 0.2140 | 0.1988 | 0.2076 | model_form_blend |
| predicted_BB | 0.2790 | 0.2370 | 0.2612 | model_form_blend |
| predicted_H | 0.9800 | 0.8340 | 0.9181 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1000 | 0.0690 | 0.0869 | model_form_blend |
| predicted_OBP | 0.2610 | 0.2407 | 0.2524 | model_form_blend |
| predicted_R | 0.6030 | 0.5230 | 0.5691 | model_form_blend |
| predicted_RBI | 0.3300 | 0.2550 | 0.2982 | model_form_blend |
| predicted_SLG | 0.3300 | 0.2916 | 0.3137 | model_form_blend |
| predicted_SO | 1.0000 | 1.2150 | 1.0911 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 256 |
| Season rows before report date | 256 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| 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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_PHI@MIL |
| game_type | full |
| mlbID | 607208 |
| playerID | 607208 |
| playerName | Trea Turner |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.271 |
| sl_xwoba | 0.28 |
| sl_xba | 0.233 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 38.4 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 9.9 |
| sl_whiff_percent | 27.8 |
| 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.169 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 3.790 | 4.000 | 4.000 | Hitting_AB | 3.734 | 4.000 | 0.266 | 0.000 |
| predicted_AVG | 0.259 | 0.250 | 0.250 | Hitting_AVG | 0.336 | 0.000 | -0.086 | 0.250 |
| predicted_BB | 0.185 | 0.000 | 0.000 | Hitting_BB | 0.203 | 0.000 | -0.203 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.980 | 1.000 | 1.000 | Hitting_H | 1.256 | 0.000 | -0.256 | 1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.250 | Hitting_OBP | 0.369 | 0.000 | -0.119 | 0.250 |
| predicted_R | 0.554 | 0.000 | 1.000 | Hitting_R | 0.628 | 0.000 | -0.628 | 0.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.575 | 0.000 | -0.575 | 0.000 |
| predicted_SLG | 0.431 | 0.250 | 0.250 | Hitting_SLG | 0.511 | 0.000 | -0.261 | 0.250 |
| predicted_SO | 0.877 | 0.000 | 1.000 | Hitting_SO | 0.792 | 1.000 | -0.792 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.7900 -> 4.0000 (boost 0.2100, better) |
| Biggest Deboost | predicted_SO: 0.8770 -> 0.0000 (deboost -0.8770, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 2 | 1 | predicted_SO: 0.8770 -> 0.9436 (boost 0.0666, 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.3200 -> 0.2962 (deboost -0.0238, 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.5006 -> 1.0000 (boost 0.4994, better) | predicted_BB: 0.1905 -> 0.0000 (deboost -0.1905, worse) | AB rounded to 4 (raw=3.79), rates preserved: AVG=0.259 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5263 -> 1.0000 (boost 0.4737, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4228 -> 0.2500 (deboost -0.1728, 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_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4228 (boost 0.1728, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669016",
"player_name": "Brandon Marsh",
"position": "LF",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.031,
"predicted_AB": 3.79,
"predicted_AVG": 0.259,
"predicted_BB": 0.185,
"predicted_H": 0.98,
"predicted_HR": 0.13,
"predicted_OBP": 0.318,
"predicted_R": 0.554,
"predicted_RBI": 0.52,
"predicted_SLG": 0.431,
"predicted_SO": 0.877
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1744,
"predicted_3B": 0.026,
"predicted_AB": 3.7678,
"predicted_AVG": 0.2684,
"predicted_BB": 0.1921,
"predicted_H": 1.0101,
"predicted_HBP": 0.038,
"predicted_HR": 0.1317,
"predicted_OBP": 0.32,
"predicted_R": 0.5519,
"predicted_RBI": 0.525,
"predicted_SLG": 0.4381,
"predicted_SO": 0.9436
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1744,
"delta": 0.0054,
"percent_delta": 0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.026,
"delta": -0.005,
"percent_delta": -0.1613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 3.7678,
"delta": -0.0222,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2684,
"delta": 0.0094,
"percent_delta": 0.0363,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.1921,
"delta": 0.0071,
"percent_delta": 0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0101,
"delta": 0.0301,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1317,
"delta": 0.0017,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.32,
"delta": 0.002,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.5519,
"delta": -0.0021,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.525,
"delta": 0.005,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4381,
"delta": 0.0071,
"percent_delta": 0.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.877,
"after": 0.9436,
"delta": 0.0666,
"percent_delta": 0.0759,
"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.877,
"after": 0.9436,
"delta": 0.0666,
"percent_delta": 0.0759,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1744,
"predicted_3B": 0.026,
"predicted_AB": 3.7678,
"predicted_AVG": 0.2606,
"predicted_BB": 0.1905,
"predicted_H": 0.982,
"predicted_HBP": 0.038,
"predicted_HR": 0.1282,
"predicted_OBP": 0.2962,
"predicted_R": 0.5263,
"predicted_RBI": 0.5006,
"predicted_SLG": 0.4228,
"predicted_SO": 0.9516
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1744,
"after": 0.1744,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7678,
"after": 3.7678,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2684,
"after": 0.2606,
"delta": -0.0078,
"percent_delta": -0.0291,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1921,
"after": 0.1905,
"delta": -0.0016,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0101,
"after": 0.982,
"delta": -0.0281,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1317,
"after": 0.1282,
"delta": -0.0035,
"percent_delta": -0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.2962,
"delta": -0.0238,
"percent_delta": -0.0744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5519,
"after": 0.5263,
"delta": -0.0256,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.525,
"after": 0.5006,
"delta": -0.0244,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4381,
"after": 0.4228,
"delta": -0.0153,
"percent_delta": -0.0349,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9436,
"after": 0.9516,
"delta": 0.008,
"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_OBP",
"before": 0.32,
"after": 0.2962,
"delta": -0.0238,
"percent_delta": -0.0744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.79), rates preserved: AVG=0.259 HR/AB=0.034",
"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.1744,
"after": 0.0,
"delta": -0.1744,
"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.7678,
"after": 4.0,
"delta": 0.2322,
"percent_delta": 0.0616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1905,
"after": 0.0,
"delta": -0.1905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.982,
"after": 1.0,
"delta": 0.018,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1282,
"after": 0.0,
"delta": -0.1282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5006,
"after": 1.0,
"delta": 0.4994,
"percent_delta": 0.9976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9516,
"after": 1.0,
"delta": 0.0484,
"percent_delta": 0.0509,
"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.5006,
"after": 1.0,
"delta": 0.4994,
"percent_delta": 0.9976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.1905,
"after": 0.0,
"delta": -0.1905,
"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.5263,
"after": 1.0,
"delta": 0.4737,
"percent_delta": 0.9001,
"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.5263,
"after": 1.0,
"delta": 0.4737,
"percent_delta": 0.9001,
"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.2606,
"after": 0.25,
"delta": -0.0106,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2962,
"after": 0.25,
"delta": -0.0462,
"percent_delta": -0.156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4228,
"after": 0.25,
"delta": -0.1728,
"percent_delta": -0.4087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4228,
"after": 0.25,
"delta": -0.1728,
"percent_delta": -0.4087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2606,
"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.2962,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4228,
"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.2606,
"delta": 0.0106,
"percent_delta": 0.0425,
"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.2962,
"delta": 0.0462,
"percent_delta": 0.1848,
"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.4228,
"delta": 0.1728,
"percent_delta": 0.6912,
"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.4228,
"delta": 0.1728,
"percent_delta": 0.6912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.79,
"after": 4.0,
"delta": 0.21,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2606,
"delta": 0.0016,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 1.0,
"delta": 0.02,
"percent_delta": 0.0204,
"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.318,
"after": 0.2962,
"delta": -0.0218,
"percent_delta": -0.0686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.0,
"delta": -0.554,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4228,
"delta": -0.0082,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.877,
"after": 0.0,
"delta": -0.877,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.79,
"after": 4.0,
"delta": 0.21,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.877,
"after": 0.0,
"delta": -0.877,
"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.169 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.790 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.185 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.554 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.877 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | 0.005 |
| predicted_3B | 0.026 | -0.005 |
| predicted_AB | 3.768 | -0.022 |
| predicted_AVG | 0.268 | 0.009 |
| predicted_BB | 0.192 | 0.007 |
| predicted_H | 1.010 | 0.030 |
| predicted_HBP | 0.038 | - |
| predicted_HR | 0.132 | 0.002 |
| predicted_OBP | 0.320 | 0.002 |
| predicted_R | 0.552 | -0.002 |
| predicted_RBI | 0.525 | 0.005 |
| predicted_SLG | 0.438 | 0.007 |
| predicted_SO | 0.944 | 0.067 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 3.768 | 0.000 |
| predicted_AVG | 0.261 | -0.008 |
| predicted_BB | 0.191 | -0.002 |
| predicted_H | 0.982 | -0.028 |
| predicted_HBP | 0.038 | 0.000 |
| predicted_HR | 0.128 | -0.004 |
| predicted_OBP | 0.296 | -0.024 |
| predicted_R | 0.526 | -0.026 |
| predicted_RBI | 0.501 | -0.024 |
| predicted_SLG | 0.423 | -0.015 |
| predicted_SO | 0.952 | 0.008 |
AB rounded to 4 (raw=3.79), rates preserved: AVG=0.259 HR/AB=0.034
| 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.174 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 4.000 | 0.232 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.191 |
| predicted_H | 1.000 | 0.018 |
| predicted_HR | 0.000 | -0.128 |
| predicted_OBP | 0.250 | -0.046 |
| predicted_R | 1.000 | 0.474 |
| predicted_RBI | 1.000 | 0.499 |
| predicted_SLG | 0.250 | -0.173 |
| predicted_SO | 1.000 | 0.048 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 7.000 | 0.2000 | 0.2381 | 0.2500 | 0.2000 | 0.0000 | 0.1000 | 0.0500 | 0.3500 |
| last_10 | 0.20 | 10 | - | 39.000 | 10.000 | 2.000 | 0.000 | 3.000 | 8.000 | 7.000 | 2.000 | 13.000 | 0.2564 | 0.3095 | 0.5385 | 0.2564 | 0.0769 | 0.2051 | 0.0513 | 0.3333 |
| season | 0.60 | 65 | - | 232.000 | 75.000 | 11.000 | 2.000 | 8.000 | 32.000 | 36.000 | 12.000 | 57.000 | 0.3233 | 0.3574 | 0.4914 | 0.3233 | 0.0345 | 0.1379 | 0.0517 | 0.2457 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.7370 |
| predicted_AVG | 0.2815 |
| predicted_BB | 0.2020 |
| predicted_H | 1.0520 |
| predicted_HBP | 0.0380 |
| predicted_HR | 0.1340 |
| predicted_OBP | 0.3228 |
| predicted_R | 0.5490 |
| predicted_RBI | 0.5320 |
| predicted_SLG | 0.4479 |
| predicted_SO | 1.0360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1820 | 0.1744 | model_form_blend |
| predicted_3B | 0.0310 | 0.0190 | 0.0260 | model_form_blend |
| predicted_AB | 3.7900 | 3.7370 | 3.7678 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2815 | 0.2684 | model_form_blend |
| predicted_BB | 0.1850 | 0.2020 | 0.1921 | model_form_blend |
| predicted_H | 0.9800 | 1.0520 | 1.0101 | model_form_blend |
| predicted_HBP | - | 0.0380 | 0.0380 | form_only |
| predicted_HR | 0.1300 | 0.1340 | 0.1317 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3228 | 0.3200 | model_form_blend |
| predicted_R | 0.5540 | 0.5490 | 0.5519 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5320 | 0.5250 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4479 | 0.4381 | model_form_blend |
| predicted_SO | 0.8770 | 1.0360 | 0.9436 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.323 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | RF-LF |
| gameID | 20260614_PHI@MIL |
| game_type | full |
| mlbID | 669016 |
| playerID | 669016 |
| playerName | Brandon Marsh |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.373 |
| sl_xwoba | 0.336 |
| sl_xba | 0.294 |
| sl_xslg | 0.45 |
| sl_sweet_spot_percent | 46.0 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 24.2 |
| 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.203 | 1.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | 0.820 | 1.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.610 | 4.000 | 4.000 | Hitting_AB | 3.585 | 3.000 | 0.415 | 1.000 |
| predicted_AVG | 0.256 | 0.250 | 0.250 | Hitting_AVG | 0.223 | 0.333 | 0.027 | -0.083 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 1.000 | 1.000 | Hitting_H | 0.800 | 1.000 | 0.200 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.324 | 0.250 | 0.250 | Hitting_OBP | 0.276 | 0.333 | -0.026 | -0.083 |
| predicted_R | 0.297 | 1.000 | 0.000 | Hitting_R | 0.320 | 0.000 | 0.680 | 1.000 |
| predicted_RBI | 0.560 | 3.000 | 1.000 | Hitting_RBI | 0.530 | 0.000 | 2.470 | 3.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_SLG | 0.411 | 0.500 | 0.250 | Hitting_SLG | 0.375 | 0.333 | 0.125 | 0.167 |
| predicted_SO | 0.641 | 0.000 | 1.000 | Hitting_SO | 0.590 | 0.000 | -0.590 | 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_RBI: 0.5600 -> 3.0000 (boost 2.4400, better) |
| Biggest Deboost | predicted_SO: 0.6410 -> 0.0000 (deboost -0.6410, 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_AVG: 0.2560 -> 0.2644 (boost 0.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 | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3267 -> 0.3080 (deboost -0.0187, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5459 -> 1.0000 (boost 0.4541, better) | predicted_BB: 0.2586 -> 0.0000 (deboost -0.2586, worse) | AB rounded to 4 (raw=3.61), rates preserved: AVG=0.255 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2988 -> 0.0000 (deboost -0.2988, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3992 -> 0.2500 (deboost -0.1492, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3992 (boost 0.1492, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681082",
"player_name": "Bryson Stott",
"position": "2B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.016,
"predicted_AB": 3.61,
"predicted_AVG": 0.256,
"predicted_BB": 0.25,
"predicted_H": 0.93,
"predicted_HR": 0.09,
"predicted_OBP": 0.324,
"predicted_R": 0.297,
"predicted_RBI": 0.56,
"predicted_SLG": 0.411,
"predicted_SO": 0.641
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2456,
"predicted_3B": 0.0135,
"predicted_AB": 3.5745,
"predicted_AVG": 0.2644,
"predicted_BB": 0.2608,
"predicted_H": 0.9484,
"predicted_HBP": 0.012,
"predicted_HR": 0.0796,
"predicted_OBP": 0.3267,
"predicted_R": 0.3133,
"predicted_RBI": 0.5725,
"predicted_SLG": 0.4162,
"predicted_SO": 0.6744
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.2456,
"delta": 0.0426,
"percent_delta": 0.2099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0135,
"delta": -0.0025,
"percent_delta": -0.1563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.61,
"after": 3.5745,
"delta": -0.0355,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2644,
"delta": 0.0084,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.2608,
"delta": 0.0108,
"percent_delta": 0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9484,
"delta": 0.0184,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0796,
"delta": -0.0104,
"percent_delta": -0.1156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.3267,
"delta": 0.0027,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.297,
"after": 0.3133,
"delta": 0.0163,
"percent_delta": 0.0549,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5725,
"delta": 0.0125,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4162,
"delta": 0.0052,
"percent_delta": 0.0127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.641,
"after": 0.6744,
"delta": 0.0334,
"percent_delta": 0.0521,
"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.256,
"after": 0.2644,
"delta": 0.0084,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 64
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2456,
"predicted_3B": 0.0135,
"predicted_AB": 3.5745,
"predicted_AVG": 0.2579,
"predicted_BB": 0.2586,
"predicted_H": 0.922,
"predicted_HBP": 0.012,
"predicted_HR": 0.0775,
"predicted_OBP": 0.308,
"predicted_R": 0.2988,
"predicted_RBI": 0.5459,
"predicted_SLG": 0.3992,
"predicted_SO": 0.6801
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2456,
"after": 0.2456,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5745,
"after": 3.5745,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2644,
"after": 0.2579,
"delta": -0.0065,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2608,
"after": 0.2586,
"delta": -0.0022,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9484,
"after": 0.922,
"delta": -0.0264,
"percent_delta": -0.0278,
"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.0796,
"after": 0.0775,
"delta": -0.0021,
"percent_delta": -0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3267,
"after": 0.308,
"delta": -0.0187,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3133,
"after": 0.2988,
"delta": -0.0145,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5725,
"after": 0.5459,
"delta": -0.0266,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4162,
"after": 0.3992,
"delta": -0.017,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6744,
"after": 0.6801,
"delta": 0.0057,
"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_OBP",
"before": 0.3267,
"after": 0.308,
"delta": -0.0187,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.61), rates preserved: AVG=0.255 HR/AB=0.021",
"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.2456,
"after": 0.0,
"delta": -0.2456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0,
"delta": -0.0135,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5745,
"after": 4.0,
"delta": 0.4255,
"percent_delta": 0.119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2586,
"after": 0.0,
"delta": -0.2586,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.922,
"after": 1.0,
"delta": 0.078,
"percent_delta": 0.0846,
"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.0775,
"after": 0.0,
"delta": -0.0775,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5459,
"after": 1.0,
"delta": 0.4541,
"percent_delta": 0.8318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6801,
"after": 1.0,
"delta": 0.3199,
"percent_delta": 0.4704,
"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.5459,
"after": 1.0,
"delta": 0.4541,
"percent_delta": 0.8318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2586,
"after": 0.0,
"delta": -0.2586,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2988,
"after": 0.0,
"delta": -0.2988,
"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.2988,
"after": 0.0,
"delta": -0.2988,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2579,
"after": 0.25,
"delta": -0.0079,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.25,
"delta": -0.058,
"percent_delta": -0.1883,
"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.3992,
"after": 0.25,
"delta": -0.1492,
"percent_delta": -0.3737,
"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.3992,
"after": 0.25,
"delta": -0.1492,
"percent_delta": -0.3737,
"direction": "deboost",
"projection_effect": "worse",
"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": 3.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": 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": 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": 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": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"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_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2579,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.308,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3992,
"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.2579,
"delta": 0.0079,
"percent_delta": 0.0318,
"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.308,
"delta": 0.058,
"percent_delta": 0.232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.25,
"after": 0.3992,
"delta": 0.1492,
"percent_delta": 0.597,
"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.3992,
"delta": 0.1492,
"percent_delta": 0.597,
"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.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.61,
"after": 4.0,
"delta": 0.39,
"percent_delta": 0.108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2579,
"delta": 0.0019,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.324,
"after": 0.308,
"delta": -0.016,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.297,
"after": 1.0,
"delta": 0.703,
"percent_delta": 2.367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 3.0,
"delta": 2.44,
"percent_delta": 4.3571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.3992,
"delta": -0.0118,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.641,
"after": 0.0,
"delta": -0.641,
"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.56,
"after": 3.0,
"delta": 2.44,
"percent_delta": 4.3571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.641,
"after": 0.0,
"delta": -0.641,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.610 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.324 | - |
| predicted_R | 0.297 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.411 | - |
| predicted_SO | 0.641 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.246 | 0.043 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.575 | -0.035 |
| predicted_AVG | 0.264 | 0.008 |
| predicted_BB | 0.261 | 0.011 |
| predicted_H | 0.948 | 0.018 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.080 | -0.010 |
| predicted_OBP | 0.327 | 0.003 |
| predicted_R | 0.313 | 0.016 |
| predicted_RBI | 0.573 | 0.012 |
| predicted_SLG | 0.416 | 0.005 |
| predicted_SO | 0.674 | 0.033 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.246 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.575 | 0.000 |
| predicted_AVG | 0.258 | -0.007 |
| predicted_BB | 0.259 | -0.002 |
| predicted_H | 0.922 | -0.026 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.077 | -0.002 |
| predicted_OBP | 0.308 | -0.019 |
| predicted_R | 0.299 | -0.015 |
| predicted_RBI | 0.546 | -0.027 |
| predicted_SLG | 0.399 | -0.017 |
| predicted_SO | 0.680 | 0.006 |
AB rounded to 4 (raw=3.61), rates preserved: AVG=0.255 HR/AB=0.021
| 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 | 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.246 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.425 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.259 |
| predicted_H | 1.000 | 0.078 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.250 | -0.058 |
| predicted_R | 0.000 | -0.299 |
| predicted_RBI | 1.000 | 0.454 |
| predicted_SLG | 0.250 | -0.149 |
| predicted_SO | 1.000 | 0.320 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.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 | - | 19.000 | 7.000 | 3.000 | 0.000 | 0.000 | 4.000 | 2.000 | 1.000 | 4.000 | 0.3684 | 0.4000 | 0.5263 | 0.3684 | 0.0000 | 0.2105 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 10 | - | 33.000 | 11.000 | 4.000 | 0.000 | 0.000 | 7.000 | 3.000 | 4.000 | 8.000 | 0.3333 | 0.4054 | 0.4545 | 0.3333 | 0.0000 | 0.2121 | 0.1212 | 0.2424 |
| season | 0.60 | 64 | - | 220.000 | 51.000 | 13.000 | 1.000 | 6.000 | 32.000 | 19.000 | 16.000 | 41.000 | 0.2318 | 0.2857 | 0.3818 | 0.2318 | 0.0273 | 0.1454 | 0.0727 | 0.1864 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3050 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.5250 |
| predicted_AVG | 0.2762 |
| predicted_BB | 0.2760 |
| predicted_H | 0.9740 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.3304 |
| predicted_R | 0.3360 |
| predicted_RBI | 0.5900 |
| predicted_SLG | 0.4235 |
| predicted_SO | 0.7210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.3050 | 0.2456 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0135 | model_form_blend |
| predicted_AB | 3.6100 | 3.5250 | 3.5745 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2762 | 0.2644 | model_form_blend |
| predicted_BB | 0.2500 | 0.2760 | 0.2608 | model_form_blend |
| predicted_H | 0.9300 | 0.9740 | 0.9484 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0900 | 0.0650 | 0.0796 | model_form_blend |
| predicted_OBP | 0.3240 | 0.3304 | 0.3267 | model_form_blend |
| predicted_R | 0.2970 | 0.3360 | 0.3133 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5900 | 0.5725 | model_form_blend |
| predicted_SLG | 0.4110 | 0.4235 | 0.4162 | model_form_blend |
| predicted_SO | 0.6410 | 0.7210 | 0.6744 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260614_PHI@MIL |
| game_type | full |
| mlbID | 681082 |
| playerID | 681082 |
| playerName | Bryson Stott |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-14 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.297 |
| sl_xwoba | 0.312 |
| sl_xba | 0.257 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 41.4 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 17.4 |
| 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.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 | 4.000 | 3.000 | Hitting_AB | 3.000 | 3.000 | 1.000 | 1.000 |
| predicted_AVG | 0.249 | 0.000 | 0.333 | Hitting_AVG | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.730 | 0.000 | 1.000 | Hitting_H | 0.000 | 0.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.292 | 0.000 | 0.333 | Hitting_OBP | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.379 | 0.000 | 0.333 | Hitting_SLG | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SO | 2.000 | 1.000 | 2.000 | Hitting_SO | 2.000 | 2.000 | -1.000 | -1.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 | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 2.0000 -> 1.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 | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 3.1449 (boost 0.1449, better) | predicted_SO: 2.0000 -> 1.8139 (deboost -0.1861, better) | Final model input calibrated with local 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.2907 -> 0.2449 (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 | 5 | 2 | 3 | 1 | 4 | predicted_H: 0.7335 -> 1.0000 (boost 0.2665, better) | predicted_RBI: 0.3830 -> 0.0000 (deboost -0.3830, worse) | AB rounded to 3 (raw=3.14), rates preserved: AVG=0.233 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.0779 -> 0.0000 (deboost -0.0779, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2332 -> 0.3330 (boost 0.0998, better) | predicted_SLG: 0.3403 -> 0.3330 (deboost -0.0073, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3403 (boost 0.0073, better) | predicted_AVG: 0.3330 -> 0.2332 (deboost -0.0998, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687282",
"player_name": "Gabriel Rincones Jr.",
"position": "RF",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.249,
"predicted_BB": 0.0,
"predicted_H": 0.73,
"predicted_HR": 0.1,
"predicted_OBP": 0.292,
"predicted_R": 0.0,
"predicted_RBI": 0.39,
"predicted_SLG": 0.379,
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0309,
"predicted_3B": 0.0024,
"predicted_AB": 3.1449,
"predicted_AVG": 0.2451,
"predicted_BB": 0.0488,
"predicted_H": 0.7545,
"predicted_HBP": 0.031,
"predicted_HR": 0.1031,
"predicted_OBP": 0.2907,
"predicted_R": 0.0817,
"predicted_RBI": 0.4016,
"predicted_SLG": 0.3778,
"predicted_SO": 1.8139
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0309,
"delta": 0.0309,
"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.1449,
"delta": 0.1449,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2451,
"delta": -0.0039,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0488,
"delta": 0.0488,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7545,
"delta": 0.0245,
"percent_delta": 0.0336,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1031,
"delta": 0.0031,
"percent_delta": 0.031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2907,
"delta": -0.0013,
"percent_delta": -0.0045,
"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.39,
"after": 0.4016,
"delta": 0.0116,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3778,
"delta": -0.0012,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.8139,
"delta": -0.1861,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 3.1449,
"delta": 0.1449,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.8139,
"delta": -0.1861,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.0309,
"predicted_3B": 0.0024,
"predicted_AB": 3.1449,
"predicted_AVG": 0.2332,
"predicted_BB": 0.0484,
"predicted_H": 0.7335,
"predicted_HBP": 0.031,
"predicted_HR": 0.1004,
"predicted_OBP": 0.2449,
"predicted_R": 0.0779,
"predicted_RBI": 0.383,
"predicted_SLG": 0.3403,
"predicted_SO": 1.8293
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0309,
"after": 0.0309,
"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.1449,
"after": 3.1449,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2451,
"after": 0.2332,
"delta": -0.0119,
"percent_delta": -0.0486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0488,
"after": 0.0484,
"delta": -0.0004,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7545,
"after": 0.7335,
"delta": -0.021,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1031,
"after": 0.1004,
"delta": -0.0027,
"percent_delta": -0.0262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2907,
"after": 0.2449,
"delta": -0.0458,
"percent_delta": -0.1576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0817,
"after": 0.0779,
"delta": -0.0038,
"percent_delta": -0.0465,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4016,
"after": 0.383,
"delta": -0.0186,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3778,
"after": 0.3403,
"delta": -0.0375,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8139,
"after": 1.8293,
"delta": 0.0154,
"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_OBP",
"before": 0.2907,
"after": 0.2449,
"delta": -0.0458,
"percent_delta": -0.1576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.14), rates preserved: AVG=0.233 HR/AB=0.032",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0309,
"after": 0.0,
"delta": -0.0309,
"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.1449,
"after": 3.0,
"delta": -0.1449,
"percent_delta": -0.0461,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0484,
"after": 0.0,
"delta": -0.0484,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7335,
"after": 1.0,
"delta": 0.2665,
"percent_delta": 0.3633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1004,
"after": 0.0,
"delta": -0.1004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.383,
"after": 0.0,
"delta": -0.383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8293,
"after": 2.0,
"delta": 0.1707,
"percent_delta": 0.0933,
"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_H",
"before": 0.7335,
"after": 1.0,
"delta": 0.2665,
"percent_delta": 0.3633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.383,
"after": 0.0,
"delta": -0.383,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0779,
"after": 0.0,
"delta": -0.0779,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.0779,
"after": 0.0,
"delta": -0.0779,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2332,
"after": 0.333,
"delta": 0.0998,
"percent_delta": 0.428,
"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.2449,
"after": 0.333,
"delta": 0.0881,
"percent_delta": 0.3597,
"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.3403,
"after": 0.333,
"delta": -0.0073,
"percent_delta": -0.0215,
"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.2332,
"after": 0.333,
"delta": 0.0998,
"percent_delta": 0.428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3403,
"after": 0.333,
"delta": -0.0073,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 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_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.2332,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2449,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3403,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2332,
"delta": -0.0998,
"percent_delta": -0.2996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2449,
"delta": -0.0881,
"percent_delta": -0.2647,
"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.3403,
"delta": 0.0073,
"percent_delta": 0.022,
"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.3403,
"delta": 0.0073,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2332,
"delta": -0.0998,
"percent_delta": -0.2996,
"direction": "deboost",
"projection_effect": "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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2332,
"delta": -0.0158,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2449,
"delta": -0.0471,
"percent_delta": -0.1613,
"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.379,
"after": 0.3403,
"delta": -0.0387,
"percent_delta": -0.1021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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.249 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 2.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.245 | -0.004 |
| predicted_BB | 0.049 | 0.049 |
| predicted_H | 0.754 | 0.024 |
| predicted_HBP | 0.031 | - |
| predicted_HR | 0.103 | 0.003 |
| predicted_OBP | 0.291 | -0.001 |
| predicted_R | 0.082 | 0.082 |
| predicted_RBI | 0.402 | 0.012 |
| predicted_SLG | 0.378 | -0.001 |
| predicted_SO | 1.814 | -0.186 |
Step 3: 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.233 | -0.012 |
| predicted_BB | 0.048 | -0.000 |
| predicted_H | 0.734 | -0.021 |
| predicted_HBP | 0.031 | 0.000 |
| predicted_HR | 0.100 | -0.003 |
| predicted_OBP | 0.245 | -0.046 |
| predicted_R | 0.078 | -0.004 |
| predicted_RBI | 0.383 | -0.019 |
| predicted_SLG | 0.340 | -0.038 |
| predicted_SO | 1.829 | 0.015 |
AB rounded to 3 (raw=3.14), rates preserved: AVG=0.233 HR/AB=0.032
| 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 | 2.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 2.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.031 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.145 |
| predicted_AVG | 0.333 | 0.100 |
| predicted_BB | 0.000 | -0.048 |
| predicted_H | 1.000 | 0.266 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.333 | 0.088 |
| predicted_R | 0.000 | -0.078 |
| predicted_RBI | 0.000 | -0.383 |
| predicted_SLG | 0.333 | -0.007 |
| 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 | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -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 | 2.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.6667 |
| last_10 | 0.20 | 1 | - | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.6667 |
| season | 0.60 | 1 | - | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.6667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.7870 |
| predicted_AVG | 0.2277 |
| predicted_BB | 0.2650 |
| predicted_H | 0.8630 |
| predicted_HBP | 0.0310 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.2850 |
| predicted_R | 0.4440 |
| predicted_RBI | 0.4530 |
| predicted_SLG | 0.3723 |
| predicted_SO | 0.9890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1680 | 0.0309 | model_form_blend |
| predicted_3B | 0.0000 | 0.0130 | 0.0024 | model_form_blend |
| predicted_AB | 3.0000 | 3.7870 | 3.1449 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2277 | 0.2451 | model_form_blend |
| predicted_BB | 0.0000 | 0.2650 | 0.0488 | model_form_blend |
| predicted_H | 0.7300 | 0.8630 | 0.7545 | model_form_blend |
| predicted_HBP | - | 0.0310 | 0.0310 | form_only |
| predicted_HR | 0.1000 | 0.1170 | 0.1031 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2850 | 0.2907 | model_form_blend |
| predicted_R | 0.0000 | 0.4440 | 0.0817 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4530 | 0.4016 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3723 | 0.3778 | model_form_blend |
| predicted_SO | 2.0000 | 0.9890 | 1.8139 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260612_PHI@MIL |
| game_type | full |
| mlbID | 687282 |
| playerID | 687282 |
| playerName | Gabriel Rincones Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-12 |
| sl_k_percent | 66.7 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.0 |
| sl_xwoba | 0.013 |
| sl_xba | 0.014 |
| sl_xslg | 0.014 |
| sl_sweet_spot_percent | 0.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 0.0 |
| sl_exit_velocity_avg | 75.1 |
| sl_launch_angle_avg | -21.2 |
| sl_whiff_percent | 12.5 |
| sl_swing_percent | 72.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.087 | 1.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | 0.882 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.413 | 4.000 | 3.000 | Hitting_AB | 3.438 | 4.000 | 0.562 | 0.000 |
| predicted_AVG | 0.233 | 0.500 | 0.333 | Hitting_AVG | 0.244 | 0.750 | 0.256 | -0.250 |
| predicted_BB | 0.304 | 0.000 | 0.000 | Hitting_BB | 0.292 | 1.000 | -0.292 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.780 | 2.000 | 1.000 | Hitting_H | 0.840 | 3.000 | 1.160 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.076 | 1.000 | -0.076 | -1.000 |
| predicted_OBP | 0.289 | 0.500 | 0.333 | Hitting_OBP | 0.324 | 0.800 | 0.176 | -0.300 |
| predicted_R | 0.326 | 1.000 | 0.000 | Hitting_R | 0.340 | 1.000 | 0.660 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.326 | 4.000 | -0.326 | -4.000 |
| predicted_SLG | 0.358 | 0.750 | 0.333 | Hitting_SLG | 0.345 | 1.500 | 0.405 | -0.750 |
| predicted_SO | 0.739 | 0.000 | 1.000 | Hitting_SO | 0.646 | 0.000 | -0.646 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.7800 -> 2.0000 (boost 1.2200, better) |
| Biggest Deboost | predicted_SO: 0.7390 -> 0.0000 (deboost -0.7390, 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 | 1 | 3 | predicted_SO: 0.7390 -> 0.8095 (boost 0.0705, worse) | predicted_AVG: 0.2330 -> 0.2217 (deboost -0.0113, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2217 -> 0.2127 (deboost -0.0090, 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_H: 0.7373 -> 1.0000 (boost 0.2627, better) | predicted_AB: 3.4660 -> 3.0000 (deboost -0.4660, worse) | AB rounded to 3 (raw=3.47), rates preserved: AVG=0.213 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3175 -> 0.0000 (deboost -0.3175, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2127 -> 0.3330 (boost 0.1203, better) | predicted_SLG: 0.3414 -> 0.3330 (deboost -0.0084, 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3414 (boost 0.0084, better) | predicted_AVG: 0.3330 -> 0.2127 (deboost -0.1203, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592663",
"player_name": "J.T. Realmuto",
"position": "C",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.087,
"predicted_3B": 0.0,
"predicted_AB": 3.413,
"predicted_AVG": 0.233,
"predicted_BB": 0.304,
"predicted_H": 0.78,
"predicted_HR": 0.12,
"predicted_OBP": 0.289,
"predicted_R": 0.326,
"predicted_RBI": 0.47,
"predicted_SLG": 0.358,
"predicted_SO": 0.739
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0809,
"predicted_3B": 0.0008,
"predicted_AB": 3.466,
"predicted_AVG": 0.2217,
"predicted_BB": 0.3117,
"predicted_H": 0.7584,
"predicted_HBP": 0.051,
"predicted_HR": 0.1245,
"predicted_OBP": 0.2856,
"predicted_R": 0.3329,
"predicted_RBI": 0.4851,
"predicted_SLG": 0.3498,
"predicted_SO": 0.8095
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 0.0809,
"delta": -0.0061,
"percent_delta": -0.0701,
"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": 3.413,
"after": 3.466,
"delta": 0.053,
"percent_delta": 0.0155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2217,
"delta": -0.0113,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 0.3117,
"delta": 0.0077,
"percent_delta": 0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.7584,
"delta": -0.0216,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1245,
"delta": 0.0045,
"percent_delta": 0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2856,
"delta": -0.0034,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.3329,
"delta": 0.0069,
"percent_delta": 0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4851,
"delta": 0.0151,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3498,
"delta": -0.0082,
"percent_delta": -0.0229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 0.8095,
"delta": 0.0705,
"percent_delta": 0.0954,
"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": 0.739,
"after": 0.8095,
"delta": 0.0705,
"percent_delta": 0.0954,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2217,
"delta": -0.0113,
"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": 5,
"last_10": 10,
"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.0809,
"predicted_3B": 0.0008,
"predicted_AB": 3.466,
"predicted_AVG": 0.2127,
"predicted_BB": 0.3091,
"predicted_H": 0.7373,
"predicted_HBP": 0.051,
"predicted_HR": 0.1212,
"predicted_OBP": 0.2772,
"predicted_R": 0.3175,
"predicted_RBI": 0.4626,
"predicted_SLG": 0.3414,
"predicted_SO": 0.8164
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0809,
"after": 0.0809,
"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.466,
"after": 3.466,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2217,
"after": 0.2127,
"delta": -0.009,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3117,
"after": 0.3091,
"delta": -0.0026,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7584,
"after": 0.7373,
"delta": -0.0211,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1245,
"after": 0.1212,
"delta": -0.0033,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2856,
"after": 0.2772,
"delta": -0.0084,
"percent_delta": -0.0294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3329,
"after": 0.3175,
"delta": -0.0154,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4851,
"after": 0.4626,
"delta": -0.0225,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3498,
"after": 0.3414,
"delta": -0.0084,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8095,
"after": 0.8164,
"delta": 0.0069,
"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_AVG",
"before": 0.2217,
"after": 0.2127,
"delta": -0.009,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.47), rates preserved: AVG=0.213 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0809,
"after": 0.0,
"delta": -0.0809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.466,
"after": 3.0,
"delta": -0.466,
"percent_delta": -0.1344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3091,
"after": 0.0,
"delta": -0.3091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7373,
"after": 1.0,
"delta": 0.2627,
"percent_delta": 0.3563,
"direction": "boost",
"projection_effect": "better",
"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.1212,
"after": 0.0,
"delta": -0.1212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4626,
"after": 0.0,
"delta": -0.4626,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8164,
"after": 1.0,
"delta": 0.1836,
"percent_delta": 0.2249,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7373,
"after": 1.0,
"delta": 0.2627,
"percent_delta": 0.3563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.466,
"after": 3.0,
"delta": -0.466,
"percent_delta": -0.1344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3175,
"after": 0.0,
"delta": -0.3175,
"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.3175,
"after": 0.0,
"delta": -0.3175,
"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.2127,
"after": 0.333,
"delta": 0.1203,
"percent_delta": 0.5656,
"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.2772,
"after": 0.333,
"delta": 0.0558,
"percent_delta": 0.2013,
"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.3414,
"after": 0.333,
"delta": -0.0084,
"percent_delta": -0.0246,
"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.2127,
"after": 0.333,
"delta": 0.1203,
"percent_delta": 0.5656,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3414,
"after": 0.333,
"delta": -0.0084,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 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": 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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2127,
"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.2772,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3414,
"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.333,
"after": 0.2127,
"delta": -0.1203,
"percent_delta": -0.3612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2772,
"delta": -0.0558,
"percent_delta": -0.1676,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3414,
"delta": 0.0084,
"percent_delta": 0.0253,
"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.3414,
"delta": 0.0084,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2127,
"delta": -0.1203,
"percent_delta": -0.3612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.087,
"after": 1.0,
"delta": 0.913,
"percent_delta": 10.4943,
"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.413,
"after": 4.0,
"delta": 0.587,
"percent_delta": 0.172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2127,
"delta": -0.0203,
"percent_delta": -0.0871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 0.0,
"delta": -0.304,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2772,
"delta": -0.0118,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 1.0,
"delta": 0.674,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3414,
"delta": -0.0166,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 0.0,
"delta": -0.739,
"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.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.739,
"after": 0.0,
"delta": -0.739,
"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.087 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.413 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.304 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.326 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 0.739 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.081 | -0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.466 | 0.053 |
| predicted_AVG | 0.222 | -0.011 |
| predicted_BB | 0.312 | 0.008 |
| predicted_H | 0.758 | -0.022 |
| predicted_HBP | 0.051 | - |
| predicted_HR | 0.124 | 0.005 |
| predicted_OBP | 0.286 | -0.003 |
| predicted_R | 0.333 | 0.007 |
| predicted_RBI | 0.485 | 0.015 |
| predicted_SLG | 0.350 | -0.008 |
| predicted_SO | 0.809 | 0.071 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.081 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.466 | 0.000 |
| predicted_AVG | 0.213 | -0.009 |
| predicted_BB | 0.309 | -0.003 |
| predicted_H | 0.737 | -0.021 |
| predicted_HBP | 0.051 | 0.000 |
| predicted_HR | 0.121 | -0.003 |
| predicted_OBP | 0.277 | -0.008 |
| predicted_R | 0.318 | -0.015 |
| predicted_RBI | 0.463 | -0.022 |
| predicted_SLG | 0.341 | -0.008 |
| predicted_SO | 0.816 | 0.007 |
AB rounded to 3 (raw=3.47), rates preserved: AVG=0.213 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.081 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.466 |
| predicted_AVG | 0.333 | 0.120 |
| predicted_BB | 0.000 | -0.309 |
| predicted_H | 1.000 | 0.263 |
| predicted_HR | 0.000 | -0.121 |
| predicted_OBP | 0.333 | 0.056 |
| predicted_R | 0.000 | -0.318 |
| predicted_RBI | 0.000 | -0.463 |
| predicted_SLG | 0.333 | -0.008 |
| predicted_SO | 1.000 | 0.184 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 0.000 | 0.000 | 1.000 | 5.000 | 1.000 | 1.000 | 6.000 | 0.2105 | 0.2500 | 0.3684 | 0.2105 | 0.0526 | 0.2632 | 0.0526 | 0.3158 |
| last_10 | 0.20 | 10 | - | 34.000 | 5.000 | 0.000 | 0.000 | 2.000 | 6.000 | 4.000 | 5.000 | 12.000 | 0.1471 | 0.2564 | 0.3235 | 0.1471 | 0.0588 | 0.1765 | 0.1471 | 0.3529 |
| season | 0.60 | 46 | - | 157.000 | 33.000 | 4.000 | 0.000 | 4.000 | 15.000 | 15.000 | 14.000 | 34.000 | 0.2102 | 0.2898 | 0.3121 | 0.2102 | 0.0255 | 0.0955 | 0.0892 | 0.2166 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0720 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5430 |
| predicted_AVG | 0.2053 |
| predicted_BB | 0.3230 |
| predicted_H | 0.7270 |
| predicted_HBP | 0.0510 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.2807 |
| predicted_R | 0.3430 |
| predicted_RBI | 0.5070 |
| predicted_SLG | 0.3379 |
| predicted_SO | 0.9120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0870 | 0.0720 | 0.0809 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.4130 | 3.5430 | 3.4660 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2053 | 0.2217 | model_form_blend |
| predicted_BB | 0.3040 | 0.3230 | 0.3117 | model_form_blend |
| predicted_H | 0.7800 | 0.7270 | 0.7584 | model_form_blend |
| predicted_HBP | - | 0.0510 | 0.0510 | form_only |
| predicted_HR | 0.1200 | 0.1310 | 0.1245 | model_form_blend |
| predicted_OBP | 0.2890 | 0.2807 | 0.2856 | model_form_blend |
| predicted_R | 0.3260 | 0.3430 | 0.3329 | model_form_blend |
| predicted_RBI | 0.4700 | 0.5070 | 0.4851 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3379 | 0.3498 | model_form_blend |
| predicted_SO | 0.7390 | 0.9120 | 0.8095 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 144 |
| Season rows before report date | 144 |
| Report year | 2026 |
| Profile rows used | 46 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 4 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| 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 | 20260613_PHI@MIL |
| game_type | full |
| mlbID | 592663 |
| playerID | 592663 |
| playerName | J.T. Realmuto |
| pos | C |
| started | True |
| startingPosition | C |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-13 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 7.9 |
| sl_woba | 0.278 |
| sl_xwoba | 0.32 |
| sl_xba | 0.251 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 38.7 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 10.7 |
| sl_whiff_percent | 23.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.143 | 0.000 | 0.000 | Hitting_2B | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_AB | 3.032 | 3.000 | 3.000 | Hitting_AB | 3.351 | 1.000 | -0.351 | 2.000 |
| predicted_AVG | 0.242 | 0.000 | 0.333 | Hitting_AVG | 0.237 | 1.000 | -0.237 | -1.000 |
| predicted_BB | 0.222 | 1.000 | 0.000 | Hitting_BB | 0.266 | 0.000 | 0.734 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 0.670 | 0.000 | 1.000 | Hitting_H | 0.793 | 1.000 | -0.793 | -1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_OBP | 0.274 | 0.250 | 0.333 | Hitting_OBP | 0.300 | 1.000 | -0.050 | -0.750 |
| predicted_R | 0.286 | 0.000 | 0.000 | Hitting_R | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.239 | 0.000 | -0.239 | 0.000 |
| predicted_SLG | 0.320 | 0.000 | 0.333 | Hitting_SLG | 0.360 | 1.000 | -0.360 | -1.000 |
| predicted_SO | 0.698 | 1.000 | 1.000 | Hitting_SO | 0.681 | 0.000 | 0.319 | 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.2220 -> 1.0000 (boost 0.7780, better) |
| Biggest Deboost | predicted_H: 0.6700 -> 0.0000 (deboost -0.6700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 0 | 5 | predicted_SO: 0.6980 -> 0.7591 (boost 0.0611, worse) | predicted_AB: 3.0320 -> 2.9701 (deboost -0.0619, 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.2309 -> 0.2126 (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 | 5 | 2 | 3 | 1 | 4 | predicted_H: 0.6313 -> 1.0000 (boost 0.3687, better) | predicted_RBI: 0.2045 -> 0.0000 (deboost -0.2045, worse) | AB rounded to 3 (raw=3.03), rates preserved: AVG=0.208 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2857 -> 0.0000 (deboost -0.2857, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2126 -> 0.3330 (boost 0.1204, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2126 (deboost -0.1204, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "702222",
"player_name": "Justin Crawford",
"position": "CF",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.032,
"predicted_AB": 3.032,
"predicted_AVG": 0.242,
"predicted_BB": 0.222,
"predicted_H": 0.67,
"predicted_HR": 0.05,
"predicted_OBP": 0.274,
"predicted_R": 0.286,
"predicted_RBI": 0.25,
"predicted_SLG": 0.32,
"predicted_SO": 0.698
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1294,
"predicted_3B": 0.0258,
"predicted_AB": 2.9701,
"predicted_AVG": 0.2309,
"predicted_BB": 0.1964,
"predicted_H": 0.6494,
"predicted_HBP": 0.019,
"predicted_HR": 0.0409,
"predicted_OBP": 0.2683,
"predicted_R": 0.2996,
"predicted_RBI": 0.2145,
"predicted_SLG": 0.3096,
"predicted_SO": 0.7591
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1294,
"delta": -0.0136,
"percent_delta": -0.0951,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0258,
"delta": -0.0062,
"percent_delta": -0.1938,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.032,
"after": 2.9701,
"delta": -0.0619,
"percent_delta": -0.0204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2309,
"delta": -0.0111,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.1964,
"delta": -0.0256,
"percent_delta": -0.1153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.6494,
"delta": -0.0206,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0409,
"delta": -0.0091,
"percent_delta": -0.182,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2683,
"delta": -0.0057,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.2996,
"delta": 0.0136,
"percent_delta": 0.0476,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2145,
"delta": -0.0355,
"percent_delta": -0.142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3096,
"delta": -0.0104,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.698,
"after": 0.7591,
"delta": 0.0611,
"percent_delta": 0.0875,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.698,
"after": 0.7591,
"delta": 0.0611,
"percent_delta": 0.0875,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.032,
"after": 2.9701,
"delta": -0.0619,
"percent_delta": -0.0204,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1294,
"predicted_3B": 0.0258,
"predicted_AB": 2.9701,
"predicted_AVG": 0.2126,
"predicted_BB": 0.1947,
"predicted_H": 0.6313,
"predicted_HBP": 0.019,
"predicted_HR": 0.0398,
"predicted_OBP": 0.261,
"predicted_R": 0.2857,
"predicted_RBI": 0.2045,
"predicted_SLG": 0.3137,
"predicted_SO": 0.7656
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1294,
"after": 0.1294,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0258,
"after": 0.0258,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9701,
"after": 2.9701,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.2126,
"delta": -0.0183,
"percent_delta": -0.0793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1964,
"after": 0.1947,
"delta": -0.0017,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6494,
"after": 0.6313,
"delta": -0.0181,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0409,
"after": 0.0398,
"delta": -0.0011,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2683,
"after": 0.261,
"delta": -0.0073,
"percent_delta": -0.0272,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2996,
"after": 0.2857,
"delta": -0.0139,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2145,
"after": 0.2045,
"delta": -0.01,
"percent_delta": -0.0466,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3096,
"after": 0.3137,
"delta": 0.0041,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7591,
"after": 0.7656,
"delta": 0.0065,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2309,
"after": 0.2126,
"delta": -0.0183,
"percent_delta": -0.0793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.03), rates preserved: AVG=0.208 HR/AB=0.013",
"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.1294,
"after": 0.0,
"delta": -0.1294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0258,
"after": 0.0,
"delta": -0.0258,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9701,
"after": 3.0,
"delta": 0.0299,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1947,
"after": 0.0,
"delta": -0.1947,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6313,
"after": 1.0,
"delta": 0.3687,
"percent_delta": 0.584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0398,
"after": 0.0,
"delta": -0.0398,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2045,
"after": 0.0,
"delta": -0.2045,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7656,
"after": 1.0,
"delta": 0.2344,
"percent_delta": 0.3062,
"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_H",
"before": 0.6313,
"after": 1.0,
"delta": 0.3687,
"percent_delta": 0.584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2045,
"after": 0.0,
"delta": -0.2045,
"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.2857,
"after": 0.0,
"delta": -0.2857,
"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.2857,
"after": 0.0,
"delta": -0.2857,
"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.2126,
"after": 0.333,
"delta": 0.1204,
"percent_delta": 0.5663,
"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.261,
"after": 0.333,
"delta": 0.072,
"percent_delta": 0.2759,
"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.3137,
"after": 0.333,
"delta": 0.0193,
"percent_delta": 0.0615,
"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.2126,
"after": 0.333,
"delta": 0.1204,
"percent_delta": 0.5663,
"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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2126,
"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.261,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3137,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2126,
"delta": -0.1204,
"percent_delta": -0.3617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.261,
"delta": -0.072,
"percent_delta": -0.2162,
"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.3137,
"delta": -0.0193,
"percent_delta": -0.0579,
"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.2126,
"delta": -0.1204,
"percent_delta": -0.3617,
"direction": "deboost",
"projection_effect": "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.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.032,
"after": 3.0,
"delta": -0.032,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2126,
"delta": -0.0294,
"percent_delta": -0.1215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 1.0,
"delta": 0.778,
"percent_delta": 3.5045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.261,
"delta": -0.013,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.32,
"after": 0.3137,
"delta": -0.0063,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.698,
"after": 1.0,
"delta": 0.302,
"percent_delta": 0.4327,
"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.222,
"after": 1.0,
"delta": 0.778,
"percent_delta": 3.5045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.032 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.222 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.286 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.320 | - |
| predicted_SO | 0.698 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | -0.014 |
| predicted_3B | 0.026 | -0.006 |
| predicted_AB | 2.970 | -0.062 |
| predicted_AVG | 0.231 | -0.011 |
| predicted_BB | 0.196 | -0.026 |
| predicted_H | 0.649 | -0.021 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.041 | -0.009 |
| predicted_OBP | 0.268 | -0.006 |
| predicted_R | 0.300 | 0.014 |
| predicted_RBI | 0.214 | -0.036 |
| predicted_SLG | 0.310 | -0.010 |
| predicted_SO | 0.759 | 0.061 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | 0.000 |
| predicted_3B | 0.026 | 0.000 |
| predicted_AB | 2.970 | 0.000 |
| predicted_AVG | 0.213 | -0.018 |
| predicted_BB | 0.195 | -0.002 |
| predicted_H | 0.631 | -0.018 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.040 | -0.001 |
| predicted_OBP | 0.261 | -0.007 |
| predicted_R | 0.286 | -0.014 |
| predicted_RBI | 0.204 | -0.010 |
| predicted_SLG | 0.314 | 0.004 |
| predicted_SO | 0.766 | 0.006 |
AB rounded to 3 (raw=3.03), rates preserved: AVG=0.208 HR/AB=0.013
| 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.129 |
| predicted_3B | 0.000 | -0.026 |
| predicted_AB | 3.000 | 0.030 |
| predicted_AVG | 0.333 | 0.120 |
| predicted_BB | 0.000 | -0.195 |
| predicted_H | 1.000 | 0.369 |
| predicted_HR | 0.000 | -0.040 |
| predicted_OBP | 0.333 | 0.072 |
| predicted_R | 0.000 | -0.286 |
| predicted_RBI | 0.000 | -0.204 |
| predicted_SLG | 0.333 | 0.019 |
| predicted_SO | 1.000 | 0.234 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 5.000 | 0.1818 | 0.1818 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.4546 |
| last_10 | 0.20 | 10 | - | 24.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 1.000 | 9.000 | 0.2083 | 0.2400 | 0.2500 | 0.2083 | 0.0000 | 0.0417 | 0.0417 | 0.3750 |
| season | 0.60 | 63 | - | 191.000 | 42.000 | 9.000 | 2.000 | 2.000 | 12.000 | 18.000 | 14.000 | 44.000 | 0.2199 | 0.2802 | 0.3194 | 0.2199 | 0.0105 | 0.0628 | 0.0733 | 0.2304 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1100 |
| predicted_3B | 0.0170 |
| predicted_AB | 2.8820 |
| predicted_AVG | 0.2151 |
| predicted_BB | 0.1600 |
| predicted_H | 0.6200 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.0280 |
| predicted_OBP | 0.2602 |
| predicted_R | 0.3190 |
| predicted_RBI | 0.1640 |
| predicted_SLG | 0.2947 |
| predicted_SO | 0.8460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1100 | 0.1294 | model_form_blend |
| predicted_3B | 0.0320 | 0.0170 | 0.0258 | model_form_blend |
| predicted_AB | 3.0320 | 2.8820 | 2.9701 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2151 | 0.2309 | model_form_blend |
| predicted_BB | 0.2220 | 0.1600 | 0.1964 | model_form_blend |
| predicted_H | 0.6700 | 0.6200 | 0.6494 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.0500 | 0.0280 | 0.0409 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2602 | 0.2683 | model_form_blend |
| predicted_R | 0.2860 | 0.3190 | 0.2996 | model_form_blend |
| predicted_RBI | 0.2500 | 0.1640 | 0.2145 | model_form_blend |
| predicted_SLG | 0.3200 | 0.2947 | 0.3096 | model_form_blend |
| predicted_SO | 0.6980 | 0.8460 | 0.7591 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 188 |
| Season rows before report date | 188 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260614_PHI@MIL |
| game_type | ph |
| mlbID | 702222 |
| note | Singled for Sosa, E in the 7th. |
| playerID | 702222 |
| playerName | Justin Crawford |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.275 |
| sl_xwoba | 0.262 |
| sl_xba | 0.228 |
| sl_xslg | 0.29 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 1.3 |
| sl_hard_hit_percent | 34.0 |
| sl_exit_velocity_avg | 87.4 |
| sl_launch_angle_avg | 1.7 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 52.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.105 | 0.000 | 0.000 | Hitting_2B | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.737 | 4.000 | 3.000 | Hitting_AB | 3.111 | 1.000 | 0.889 | 3.000 |
| predicted_AVG | 0.264 | 0.250 | 0.333 | Hitting_AVG | 0.195 | 0.000 | 0.055 | 0.250 |
| predicted_BB | 0.053 | 0.000 | 0.000 | Hitting_BB | 0.091 | 0.000 | -0.091 | 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.606 | 0.000 | 0.394 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.071 | 0.000 | -0.071 | 0.000 |
| predicted_OBP | 0.278 | 0.250 | 0.333 | Hitting_OBP | 0.233 | 0.500 | 0.017 | -0.250 |
| predicted_R | 0.316 | 0.000 | 0.000 | Hitting_R | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_RBI | 0.170 | 0.000 | 0.000 | Hitting_RBI | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_SLG | 0.428 | 0.250 | 0.333 | Hitting_SLG | 0.299 | 0.000 | -0.049 | 0.250 |
| predicted_SO | 0.684 | 2.000 | 1.000 | Hitting_SO | 0.747 | 0.000 | 1.253 | 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.6840 -> 2.0000 (boost 1.3160, worse) |
| Biggest Deboost | predicted_R: 0.3160 -> 0.0000 (deboost -0.3160, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.2400 -> 0.4199 (boost 0.1799, better) | predicted_AVG: 0.2640 -> 0.2583 (deboost -0.0057, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4408 -> 0.2847 (deboost -0.1561, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7207 -> 1.0000 (boost 0.2793, worse) | predicted_H: 0.4082 -> 0.0000 (deboost -0.4082, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.147 HR/AB=0.031 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3287 -> 0.0000 (deboost -0.3287, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1473 -> 0.3330 (boost 0.1857, better) | - | 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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1473 (deboost -0.1857, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624641",
"player_name": "Edmundo Sosa",
"position": "3B",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.105,
"predicted_3B": 0.0,
"predicted_AB": 2.737,
"predicted_AVG": 0.264,
"predicted_BB": 0.053,
"predicted_H": 0.24,
"predicted_HR": 0.05,
"predicted_OBP": 0.278,
"predicted_R": 0.316,
"predicted_RBI": 0.17,
"predicted_SLG": 0.428,
"predicted_SO": 0.684
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1186,
"predicted_3B": 0.0008,
"predicted_AB": 2.7707,
"predicted_AVG": 0.2583,
"predicted_BB": 0.0604,
"predicted_H": 0.4199,
"predicted_HBP": 0.123,
"predicted_HR": 0.0892,
"predicted_OBP": 0.2842,
"predicted_R": 0.3447,
"predicted_RBI": 0.27,
"predicted_SLG": 0.4408,
"predicted_SO": 0.7146
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.1186,
"delta": 0.0136,
"percent_delta": 0.1295,
"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.737,
"after": 2.7707,
"delta": 0.0337,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2583,
"delta": -0.0057,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.053,
"after": 0.0604,
"delta": 0.0074,
"percent_delta": 0.1396,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.24,
"after": 0.4199,
"delta": 0.1799,
"percent_delta": 0.7496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0892,
"delta": 0.0392,
"percent_delta": 0.784,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2842,
"delta": 0.0062,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.3447,
"delta": 0.0287,
"percent_delta": 0.0908,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.27,
"delta": 0.1,
"percent_delta": 0.5882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4408,
"delta": 0.0128,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.684,
"after": 0.7146,
"delta": 0.0306,
"percent_delta": 0.0447,
"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.24,
"after": 0.4199,
"delta": 0.1799,
"percent_delta": 0.7496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.2583,
"delta": -0.0057,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1186,
"predicted_3B": 0.0008,
"predicted_AB": 2.7707,
"predicted_AVG": 0.1473,
"predicted_BB": 0.0599,
"predicted_H": 0.4082,
"predicted_HBP": 0.123,
"predicted_HR": 0.0868,
"predicted_OBP": 0.1654,
"predicted_R": 0.3287,
"predicted_RBI": 0.2575,
"predicted_SLG": 0.2847,
"predicted_SO": 0.7207
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1186,
"after": 0.1186,
"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": 2.7707,
"after": 2.7707,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2583,
"after": 0.1473,
"delta": -0.111,
"percent_delta": -0.4297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0604,
"after": 0.0599,
"delta": -0.0005,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4199,
"after": 0.4082,
"delta": -0.0117,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0892,
"after": 0.0868,
"delta": -0.0024,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2842,
"after": 0.1654,
"delta": -0.1188,
"percent_delta": -0.418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3447,
"after": 0.3287,
"delta": -0.016,
"percent_delta": -0.0464,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2575,
"delta": -0.0125,
"percent_delta": -0.0463,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4408,
"after": 0.2847,
"delta": -0.1561,
"percent_delta": -0.3541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7146,
"after": 0.7207,
"delta": 0.0061,
"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_SLG",
"before": 0.4408,
"after": 0.2847,
"delta": -0.1561,
"percent_delta": -0.3541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.147 HR/AB=0.031",
"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.1186,
"after": 0.0,
"delta": -0.1186,
"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": 2.7707,
"after": 3.0,
"delta": 0.2293,
"percent_delta": 0.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0599,
"after": 0.0,
"delta": -0.0599,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4082,
"after": 0.0,
"delta": -0.4082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.0868,
"after": 0.0,
"delta": -0.0868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2575,
"after": 0.0,
"delta": -0.2575,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7207,
"after": 1.0,
"delta": 0.2793,
"percent_delta": 0.3875,
"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.7207,
"after": 1.0,
"delta": 0.2793,
"percent_delta": 0.3875,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4082,
"after": 0.0,
"delta": -0.4082,
"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.3287,
"after": 0.0,
"delta": -0.3287,
"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.3287,
"after": 0.0,
"delta": -0.3287,
"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.1473,
"after": 0.333,
"delta": 0.1857,
"percent_delta": 1.2607,
"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.1654,
"after": 0.333,
"delta": 0.1676,
"percent_delta": 1.0133,
"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.2847,
"after": 0.333,
"delta": 0.0483,
"percent_delta": 0.1697,
"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.1473,
"after": 0.333,
"delta": 0.1857,
"percent_delta": 1.2607,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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.1473,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1654,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2847,
"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.333,
"after": 0.1473,
"delta": -0.1857,
"percent_delta": -0.5575,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.1654,
"delta": -0.1676,
"percent_delta": -0.5034,
"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.2847,
"delta": -0.0483,
"percent_delta": -0.1449,
"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.1473,
"delta": -0.1857,
"percent_delta": -0.5575,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"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.737,
"after": 4.0,
"delta": 1.263,
"percent_delta": 0.4615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.1473,
"delta": -0.1167,
"percent_delta": -0.442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.1654,
"delta": -0.1126,
"percent_delta": -0.405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.2847,
"delta": -0.1433,
"percent_delta": -0.3348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.684,
"after": 2.0,
"delta": 1.316,
"percent_delta": 1.924,
"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.684,
"after": 2.0,
"delta": 1.316,
"percent_delta": 1.924,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"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.105 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.737 | - |
| predicted_AVG | 0.264 | - |
| predicted_BB | 0.053 | - |
| predicted_H | 0.240 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.316 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.428 | - |
| predicted_SO | 0.684 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | 0.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.771 | 0.034 |
| predicted_AVG | 0.258 | -0.006 |
| predicted_BB | 0.060 | 0.007 |
| predicted_H | 0.420 | 0.180 |
| predicted_HBP | 0.123 | - |
| predicted_HR | 0.089 | 0.039 |
| predicted_OBP | 0.284 | 0.006 |
| predicted_R | 0.345 | 0.029 |
| predicted_RBI | 0.270 | 0.100 |
| predicted_SLG | 0.441 | 0.013 |
| predicted_SO | 0.715 | 0.031 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.119 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.771 | 0.000 |
| predicted_AVG | 0.147 | -0.111 |
| predicted_BB | 0.060 | -0.001 |
| predicted_H | 0.408 | -0.012 |
| predicted_HBP | 0.123 | 0.000 |
| predicted_HR | 0.087 | -0.002 |
| predicted_OBP | 0.165 | -0.119 |
| predicted_R | 0.329 | -0.016 |
| predicted_RBI | 0.258 | -0.013 |
| predicted_SLG | 0.285 | -0.156 |
| predicted_SO | 0.721 | 0.006 |
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.147 HR/AB=0.031
| 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.119 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.229 |
| predicted_AVG | 0.333 | 0.186 |
| predicted_BB | 0.000 | -0.060 |
| predicted_H | 1.000 | 0.592 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.333 | 0.168 |
| predicted_R | 0.000 | -0.329 |
| predicted_RBI | 0.000 | -0.258 |
| predicted_SLG | 0.333 | 0.048 |
| 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 | 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 | 5 | - | 11.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.000 | 4.000 | 0.3636 | 0.4167 | 0.7273 | 0.3636 | 0.0909 | 0.0909 | 0.0000 | 0.3636 |
| last_10 | 0.20 | 10 | - | 23.000 | 5.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 0.000 | 7.000 | 0.2174 | 0.2692 | 0.5217 | 0.2174 | 0.0870 | 0.1739 | 0.0000 | 0.3044 |
| season | 0.60 | 38 | - | 104.000 | 23.000 | 4.000 | 0.000 | 4.000 | 18.000 | 12.000 | 2.000 | 26.000 | 0.2212 | 0.2523 | 0.3750 | 0.2212 | 0.0385 | 0.1731 | 0.0192 | 0.2500 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1400 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.8240 |
| predicted_AVG | 0.2493 |
| predicted_BB | 0.0720 |
| predicted_H | 0.7040 |
| predicted_HBP | 0.1230 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.2939 |
| predicted_R | 0.3900 |
| predicted_RBI | 0.4280 |
| predicted_SLG | 0.4609 |
| predicted_SO | 0.7630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1050 | 0.1400 | 0.1186 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.7370 | 2.8240 | 2.7707 | model_form_blend |
| predicted_AVG | 0.2640 | 0.2493 | 0.2583 | model_form_blend |
| predicted_BB | 0.0530 | 0.0720 | 0.0604 | model_form_blend |
| predicted_H | 0.2400 | 0.7040 | 0.4199 | model_form_blend |
| predicted_HBP | - | 0.1230 | 0.1230 | form_only |
| predicted_HR | 0.0500 | 0.1510 | 0.0892 | model_form_blend |
| predicted_OBP | 0.2780 | 0.2939 | 0.2842 | model_form_blend |
| predicted_R | 0.3160 | 0.3900 | 0.3447 | model_form_blend |
| predicted_RBI | 0.1700 | 0.4280 | 0.2700 | model_form_blend |
| predicted_SLG | 0.4280 | 0.4609 | 0.4408 | model_form_blend |
| predicted_SO | 0.6840 | 0.7630 | 0.7146 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260614_PHI@MIL |
| game_type | full |
| mlbID | 624641 |
| playerID | 624641 |
| playerName | Edmundo Sosa |
| pos | 2B |
| started | True |
| startingPosition | LF |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 2.7 |
| sl_woba | 0.276 |
| sl_xwoba | 0.328 |
| sl_xba | 0.28 |
| sl_xslg | 0.448 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 9.7 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 60.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.333 | 0.000 | -1.333 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 1.556 | 1.000 | -0.556 | 0.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 4.000 | 6.000 | -1.000 | -3.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.244 | 6.000 | -0.144 | 0.100 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.889 | 5.000 | 0.111 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 4.0000 -> 6.0000 (boost 2.0000, better) |
| Biggest Deboost | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 6.0000 (boost 2.0000, better) | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "554430",
"player_name": "Zack Wheeler",
"position": "Starter",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.3333,
"predicted_SO": 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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_R": 1.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.1,
"after": 6.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 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 | 0.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.100 | -0.233 |
| predicted_SO | 6.000 | 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 | 32.000 | 7.000 | 19.000 | 6.000 | 31.000 | 6.000 | 1.9688 | 0.7812 | 0.2188 | 0.5938 | 0.1875 | 0.9688 | 0.1875 |
| last_10 | 0.35 | 9 | 56.200 | 14.000 | 36.000 | 12.000 | 53.000 | 7.000 | 2.2235 | 0.8471 | 0.2471 | 0.6353 | 0.2118 | 0.9353 | 0.1235 |
| season | 0.20 | 9 | 56.200 | 14.000 | 36.000 | 12.000 | 53.000 | 7.000 | 2.2235 | 0.8471 | 0.2471 | 0.6353 | 0.2118 | 0.9353 | 0.1235 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6180 |
| predicted_ER | 2.0580 |
| predicted_ERA | 2.9242 |
| predicted_H | 4.6810 |
| predicted_HR | 0.9920 |
| predicted_IP | 6.1000 |
| predicted_SO | 6.0040 |
| predicted_WHIP | 0.9946 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.6180 | 0.8076 | model_form_blend |
| predicted_ER | 1.0000 | 2.0580 | 1.5281 | model_form_blend |
| predicted_ERA | - | 2.9242 | 2.9242 | form_only |
| predicted_H | 3.0000 | 4.6810 | 3.8390 | model_form_blend |
| predicted_HR | 1.0000 | 0.9920 | 0.9960 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 4.0000 | 6.0040 | 5.0002 | model_form_blend |
| predicted_WHIP | - | 0.9946 | 0.9946 | 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 | 6.1 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 6 |
| HR | 1 |
| BF | 23 |
| Pitches | 94 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.22 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 9 |
| Pitching_H | 6 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 1 |
| Pitching_SO | 5 |
| Pitching_Strikes | 63 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_PHI@TOR |
| game_type | full |
| mlbID | 554430 |
| playerID | 554430 |
| playerName | Zack Wheeler |
| pos | P |
| started | True |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-09 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.254 |
| sl_xwoba | 0.284 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 26.6 |
| sl_swing_percent | 51.3 |
| sl_avg_best_speed | 76.45905589 |
| sl_avg_hyper_speed | 93.539639517 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.387 | 2.000 | -0.387 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.452 | 3.000 | -0.452 | -3.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.935 | 3.000 | -0.935 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.926 | 1.000 | 0.074 | 0.000 |
| 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 | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641745",
"player_name": "Brad Keller",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 4.000 | 7.000 | 4.000 | 3.000 | 0.000 | 7.7143 | 2.3571 | 0.8571 | 1.5000 | 0.8571 | 0.6429 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 5.000 | 11.000 | 6.000 | 7.000 | 1.000 | 4.6552 | 1.7586 | 0.5172 | 1.1379 | 0.6207 | 0.7241 | 0.1035 |
| season | 0.20 | 31 | 30.100 | 14.000 | 29.000 | 12.000 | 31.000 | 4.000 | 4.1538 | 1.3516 | 0.4615 | 0.9560 | 0.3956 | 1.0220 | 0.1319 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5360 |
| predicted_ER | 0.5850 |
| predicted_ERA | 5.2668 |
| predicted_H | 1.1320 |
| predicted_HR | 0.1000 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8320 |
| predicted_WHIP | 1.6679 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5360 | 0.2455 | model_form_blend |
| predicted_ER | 0.0000 | 0.5850 | 0.2680 | model_form_blend |
| predicted_ERA | - | 5.2668 | 5.2668 | form_only |
| predicted_H | 0.0000 | 1.1320 | 0.5185 | model_form_blend |
| predicted_HR | 0.0000 | 0.1000 | 0.0458 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8320 | 0.9230 | model_form_blend |
| predicted_WHIP | - | 1.6679 | 1.6679 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 9 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 3 |
| Pitching_ERA | 4.15 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 32 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 1 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260613_PHI@MIL |
| game_type | full |
| mlbID | 641745 |
| playerID | 641745 |
| playerName | Brad Keller |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-13 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.315 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 32.6 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 45.3 |
| sl_avg_best_speed | 74.451226977 |
| sl_avg_hyper_speed | 92.766311059 |
| 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.192 | 0.000 | -0.192 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.692 | 0.000 | -0.692 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.892 | 1.000 | 0.108 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.346 | 1.000 | -1.346 | -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": "661395",
"player_name": "Jhoan Duran",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 3.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.6000 | 0.0000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 5.000 | 0.000 | 13.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.5000 | 0.0000 | 1.3000 | 0.0000 |
| season | 0.20 | 24 | 23.200 | 3.000 | 15.000 | 5.000 | 35.000 | 1.000 | 1.1408 | 0.8451 | 0.1268 | 0.6338 | 0.2113 | 1.4789 | 0.0423 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2070 |
| predicted_ER | 0.2690 |
| predicted_ERA | 2.4169 |
| predicted_H | 0.7780 |
| predicted_HR | 0.0790 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1070 |
| predicted_WHIP | 0.9853 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2070 | 0.0894 | model_form_blend |
| predicted_ER | 0.0000 | 0.2690 | 0.1162 | model_form_blend |
| predicted_ERA | - | 2.4169 | 2.4169 | form_only |
| predicted_H | 0.0000 | 0.7780 | 0.3360 | model_form_blend |
| predicted_HR | 0.0000 | 0.0790 | 0.0341 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1070 | 0.4781 | model_form_blend |
| predicted_WHIP | - | 0.9853 | 0.9853 | 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 | 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 | 1.90 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260613_PHI@MIL |
| game_type | full |
| mlbID | 661395 |
| playerID | 661395 |
| playerName | Jhoan Duran |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-13 |
| sl_k_percent | 38.5 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.241 |
| sl_xwoba | 0.242 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 49.0 |
| sl_whiff_percent | 39.6 |
| sl_swing_percent | 52.3 |
| sl_avg_best_speed | 82.546527308 |
| sl_avg_hyper_speed | 95.401983725 |
| 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.379 | 0.000 | -0.379 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.207 | 0.000 | -0.207 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.655 | 0.000 | -0.655 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.831 | 1.000 | -0.631 | -0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 0.000 | -1.000 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "689147",
"player_name": "Orion Kerkering",
"position": "Middle Reliever",
"team": "PHI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 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": 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.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": 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.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 3.000 | 3.000 | 6.000 | 0.000 | 0.0000 | 1.1250 | 0.0000 | 0.5625 | 0.5625 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 7.000 | 4.000 | 17.000 | 0.000 | 1.8000 | 1.1000 | 0.2000 | 0.7000 | 0.4000 | 1.7000 | 0.0000 |
| season | 0.20 | 29 | 26.200 | 6.000 | 19.000 | 11.000 | 29.000 | 2.000 | 2.0250 | 1.1250 | 0.2250 | 0.7125 | 0.4125 | 1.0875 | 0.0750 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3520 |
| predicted_ER | 0.2520 |
| predicted_ERA | 2.7050 |
| predicted_H | 0.6720 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9480 |
| predicted_WHIP | 1.2218 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3520 | 0.1565 | model_form_blend |
| predicted_ER | 0.0000 | 0.2520 | 0.1120 | model_form_blend |
| predicted_ERA | - | 2.7050 | 2.7050 | form_only |
| predicted_H | 0.0000 | 0.6720 | 0.2987 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0293 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9480 | 0.9769 | model_form_blend |
| predicted_WHIP | - | 1.2218 | 1.2218 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.03 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 17 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260613_PHI@MIL |
| game_type | full |
| mlbID | 689147 |
| playerID | 689147 |
| playerName | Orion Kerkering |
| pos | P |
| started | False |
| startingPosition | P |
| team | PHI |
| teamID | 21 |
| game_date | 2026-06-13 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.27 |
| sl_xwoba | 0.245 |
| sl_sweet_spot_percent | 26.8 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 21.1 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 43.9 |
| sl_avg_best_speed | 69.752572 |
| sl_avg_hyper_speed | 91.627460725 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIN 3 - 2 TEX | MIN | 0.545 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | MIN 3 - 2 TEX | MIN | - | 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.5454 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 6.044 | 2.823 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 3 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 2 | 0.5454 | 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 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.42375965665236054,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.008309012875536481,
"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": 108,
"near_bucket_sample_size": 108,
"medium_bucket_sample_size": 199,
"wide_bucket_sample_size": 214,
"global_sample_size": 214,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5185,
"bayesian_hit_rate": 0.5159,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8571,
"confidence_cap": 0.78,
"raw_pick_probability": 0.6022,
"calibrated_pick_probability": 0.5454,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "TEX",
"games": 71,
"wins": 35,
"losses": 36,
"win_pct": 0.49295774647887325,
"runs_scored": 285,
"runs_allowed": 279,
"run_differential": 6,
"run_differential_per_game": 0.08450704225352113,
"available": true
},
"away": {
"team": "MIN",
"games": 73,
"wins": 33,
"losses": 40,
"win_pct": 0.4520547945205479,
"runs_scored": 338,
"runs_allowed": 380,
"run_differential": -42,
"run_differential_per_game": -0.5753424657534246,
"available": true
},
"run_differential_edge_per_game": 0.6598,
"win_pct_edge": 0.0409,
"quality_edge": 0.7212,
"margin_adjustment": 0.3029,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.782,
"home_runs": 1.579,
"home_win_probability": 0.3978
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "MIN",
"guardrail_predicted_team": "MIN",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "MIN",
"output_opponent_team": "TEX",
"final_score_winner": "MIN",
"pre_simulation_winner": "MIN",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "MIN 3 - 2 TEX",
"winner": "MIN"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "MIN 3 - 2 TEX",
"winner": "MIN"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 0,
"home_run_delta": 0,
"total_run_delta": 0,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "TEX",
"games": 71,
"wins": 35,
"losses": 36,
"win_pct": 0.49295774647887325,
"runs_scored": 285,
"runs_allowed": 279,
"run_differential": 6,
"run_differential_per_game": 0.08450704225352113,
"available": true
},
"away": {
"team": "MIN",
"games": 73,
"wins": 33,
"losses": 40,
"win_pct": 0.4520547945205479,
"runs_scored": 338,
"runs_allowed": 380,
"run_differential": -42,
"run_differential_per_game": -0.5753424657534246,
"available": true
}
}
}{
"applied": false,
"raw_margin": -1.2027,
"final_margin": -1.2027,
"margin_cap": 1.5,
"season_quality_edge": 0.7212,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.545375,
"final_confidence": 0.545375,
"confidence_cap": 0.66,
"score_gap": 1.2027,
"calibration_sample_size": 108,
"calibration_empirical_hit_rate": 0.5185,
"calibration_bayesian_hit_rate": 0.5159,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.7212,
"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": "MIN 3 - 2 TEX",
"winner": "MIN"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "MIN 3 - 2 TEX",
"winner": "MIN"
},
"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": 3,
"home_runs": 2,
"confidence": 0.5453749999999999,
"home_win_probability": 0.45462500000000006,
"away_win_probability": 0.5453749999999999,
"predicted_score_text": "MIN 3 - 2 TEX",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "MIN",
"original_runs": 3,
"run_delta": -0.024,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.01789440637286452,
"contact": -0.25718627035126745,
"power": 0.05533922712367953,
"discipline": -0.3654345167958492,
"xwoba": 0.30384848484848476,
"recent_xwoba": 0.30384848484848476,
"barrel": 9.248484848484848,
"ab_hard_contact": -0.1078705801815276,
"ab_bat_speed": 70.06509001482124,
"ab_strikeout_rate": 0.2759017074998821,
"available_players": 9,
"top_players": [
{
"player_id": "621439",
"player_name": "Byron Buxton",
"position": "CF",
"weight": 5.0,
"quality": 0.6445029707134574,
"contact": 0.41521899985547855,
"power": 1.5943846224018967,
"discipline": -0.54978867381219,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 19.3,
"ab_hard_contact": 0.4116924480379431,
"ab_bat_speed": 72.5943463356974,
"ab_strikeout_rate": 0.26063829787234044,
"available": 1.0
},
{
"player_id": "807712",
"player_name": "Luke Keaschall",
"position": "2B",
"weight": 4.0,
"quality": -0.6126812773091824,
"contact": -0.7018302464464461,
"power": -1.047908755447647,
"discipline": 0.509063909774436,
"xwoba": 0.285,
"recent_xwoba": 0.285,
"barrel": 3.1,
"ab_hard_contact": -0.5684608232386532,
"ab_bat_speed": 66.92657222222222,
"ab_strikeout_rate": 0.158,
"available": 1.0
},
{
"player_id": "665019",
"player_name": "Kody Clemens",
"position": "1B",
"weight": 4.0,
"quality": 0.4016069607234101,
"contact": 0.490693830408482,
"power": 0.9749562856484281,
"discipline": -0.32328160517572996,
"xwoba": 0.333,
"recent_xwoba": 0.333,
"barrel": 13.6,
"ab_hard_contact": 0.8088399986828555,
"ab_bat_speed": 68.88689750290361,
"ab_strikeout_rate": 0.2534883720930233,
"available": 1.0
},
{
"player_id": "668885",
"player_name": "Austin Martin",
"position": "RF",
"weight": 3.0,
"quality": -0.3131755303373554,
"contact": -0.2777624643035891,
"power": -0.9581419390307789,
"discipline": 0.786369104579631,
"xwoba": 0.314,
"recent_xwoba": 0.314,
"barrel": 2.6,
"ab_hard_contact": -0.3956006853774827,
"ab_bat_speed": 65.9339172979798,
"ab_strikeout_rate": 0.1659090909090909,
"available": 1.0
},
{
"player_id": "656577",
"player_name": "Alex Jackson",
"position": "C",
"weight": 3.0,
"quality": -0.07265655048555043,
"contact": -1.5673691977691966,
"power": -1.452595238095237,
"discipline": -1.969428571428571,
"xwoba": 0.19499999999999998,
"recent_xwoba": 0.19499999999999998,
"barrel": 0.0,
"ab_hard_contact": -1.727714285714285,
"ab_bat_speed": 68.74861111111112,
"ab_strikeout_rate": 0.5833333333333334,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669022",
"player_name": "MacKenzie Gore",
"quality": -0.20341906736206009,
"contact": -0.45363209368444457,
"command": 0.09371428571428568,
"movement": 0.06896786118660816,
"xwoba": 0.323,
"whiff": 25.4,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "TEX",
"original_runs": 2,
"run_delta": 0.2098,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.21941695181454737,
"contact": -0.013923039226942305,
"power": -0.18599938974384492,
"discipline": -0.3021537194245924,
"xwoba": 0.2968387096774194,
"recent_xwoba": 0.2968387096774194,
"barrel": 6.106451612903226,
"ab_hard_contact": -0.056368747257848906,
"ab_bat_speed": 70.42204210831123,
"ab_strikeout_rate": 0.2114564520626392,
"available_players": 8,
"top_players": [
{
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"weight": 4.0,
"quality": 1.0293698464439065,
"contact": 1.2115653814960514,
"power": 1.1378490291622663,
"discipline": 0.036312337447392116,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 10.9,
"ab_hard_contact": 0.5066948689596105,
"ab_bat_speed": 71.322872491764,
"ab_strikeout_rate": 0.19025157232704404,
"available": 1.0
},
{
"player_id": "683227",
"player_name": "Cody Freeman",
"position": "2B",
"weight": 3.0,
"quality": -0.0,
"contact": -2.0,
"power": -2.0,
"discipline": -1.9500000000000004,
"xwoba": 0.116,
"recent_xwoba": 0.116,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.2222222222222222,
"available": 0.0
},
{
"player_id": "670032",
"player_name": "Nicky Lopez",
"position": "SS",
"weight": 3.0,
"quality": -0.07500009077238551,
"contact": -1.2918285714285709,
"power": -1.6548380952380954,
"discipline": -0.4704360902255639,
"xwoba": 0.251,
"recent_xwoba": 0.251,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 61.67933333333333,
"ab_strikeout_rate": 0.25,
"available": 1.0
},
{
"player_id": "673962",
"player_name": "Josh Jung",
"position": "3B",
"weight": 4.0,
"quality": 0.4962183003857512,
"contact": 0.9944656073630775,
"power": 0.2582583269276365,
"discipline": 0.18999248120300766,
"xwoba": 0.35,
"recent_xwoba": 0.35,
"barrel": 5.3,
"ab_hard_contact": 0.6386903480765401,
"ab_bat_speed": 70.08618944444444,
"ab_strikeout_rate": 0.16699999999999998,
"available": 1.0
},
{
"player_id": "592626",
"player_name": "Joc Pederson",
"position": "DH",
"weight": 3.0,
"quality": 0.3733676005892456,
"contact": 0.6410878530773633,
"power": 0.5281801459676969,
"discipline": 0.4496591478696743,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 9.6,
"ab_hard_contact": 0.010079109830130018,
"ab_bat_speed": 70.09404365079365,
"ab_strikeout_rate": 0.21433333333333335,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "702474",
"player_name": "Mike Paredes",
"quality": 0.0,
"contact": 1.0682459183390476,
"command": -0.6415714285714287,
"movement": -1.4745714285714286,
"xwoba": 0.259,
"whiff": 19.7,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"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": "MIN 3 - 2 TEX",
"confidence": 0.5453749999999999,
"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": 3,
"home_runs": 2,
"score_text": "MIN 3 - 2 TEX",
"winner": "MIN"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "MIN 3 - 2 TEX",
"winner": "MIN"
},
"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 MIN | True | 1.0014 | 1.0014 | 1 | 9 | 0 |
| Home TEX | True | 1.0084 | 1.0084 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Royce Lewis | 276 | 1.0046 | 0.0620 | neutral | 0.3030 | 0.2180 | 0.3750 | 13.20 | 41.80 | 88.60 | 15.70 | 34.60 | 27.70 | 9.50 | 0.0857 |
| RF | Austin Martin | 165 | 0.9871 | -0.1716 | neutral | 0.3140 | 0.2420 | 0.3290 | 2.60 | 28.20 | 86.80 | 11.40 | 20.40 | 17.40 | 12.60 | 0 |
| 1B | Kody Clemens | 104 | 1.0373 | 0.4969 | neutral | 0.3330 | 0.2480 | 0.4470 | 13.60 | 43.90 | 92.50 | 16.60 | 25.10 | 22.20 | 6.70 | -0.4000 |
| CF | Byron Buxton | 22 | 1.0640 | 0.8535 | negative_batter_regression | 0.3470 | 0.2430 | 0.5100 | 19.30 | 47.70 | 90.50 | 21.80 | 31.20 | 26 | 7.40 | -1.3429 |
| 2B | Luke Keaschall | 295 | 0.9607 | -0.5246 | neutral | 0.2850 | 0.2250 | 0.3300 | 3.10 | 28.20 | 84.50 | 16.90 | 15.70 | 15.80 | 8.70 | -0.1714 |
| DH | Josh Bell | 487 | 1.0170 | 0.2269 | neutral | 0.3030 | 0.2340 | 0.4070 | 10.20 | 41.70 | 89.60 | 12.90 | 25.60 | 23.90 | 6.60 | 0.4571 |
| SS | Ryan Kreidler | 270 | 0.9976 | -0.0319 | neutral | 0.3190 | 0.2260 | 0.3940 | 6.40 | 29.80 | 86.50 | 9.70 | 33.30 | 22.20 | 11.10 | -0.3429 |
| C | Alex Jackson | 437 | 0.9396 | -0.8048 | negative_batter_regression | 0.1950 | 0.1790 | 0.2270 | 0 | 36.80 | 89.40 | 13.40 | 33.90 | 35.50 | 0 | -2 |
| DH_656484 | Tristan Gray | 481 | 1.0044 | 0.0581 | neutral | 0.3040 | 0.2500 | 0.3810 | 7.10 | 42.40 | 89.60 | 14.20 | 33.40 | 29.30 | 6 | -0.0286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Brandon Nimmo | 75 | 1.1083 | 1.4441 | positive_batter_regression | 0.3710 | 0.2830 | 0.5000 | 10.90 | 51.70 | 92 | 11.10 | 22.90 | 20.90 | 8.20 | 1.3714 |
| DH | Joc Pederson | 170 | 1.0412 | 0.5497 | neutral | 0.3490 | 0.2530 | 0.4170 | 9.60 | 47.80 | 91.70 | 15.10 | 29.70 | 20.10 | 13.40 | 0.1143 |
| 3B | Josh Jung | 72 | 1.0507 | 0.6765 | neutral | 0.3500 | 0.2980 | 0.4450 | 5.30 | 44.70 | 89.50 | 11.80 | 18.90 | 16.30 | 7.20 | -0.4000 |
| LF | Wyatt Langford | 150 | 0.9821 | -0.2381 | neutral | 0.2710 | 0.2310 | 0.3460 | 5.90 | 35.30 | 89.30 | 15.30 | 24.20 | 22.90 | 5.10 | -0.4857 |
| 2B | Cody Freeman | 307 | 0.9293 | -0.9432 | negative_batter_regression | 0.1160 | 0.1260 | 0.1350 | 0 | 0 | 71 | -25.80 | 50 | 66.70 | 0 | -2 |
| SS | Nicky Lopez | 384 | 0.9542 | -0.6101 | negative_batter_regression | 0.2510 | 0.2260 | 0.2840 | 0 | 24.30 | 83.80 | 0.30 | 21.30 | 20 | 4 | -1.7429 |
| 1B | Jake Burger | 97 | 1.0225 | 0.2997 | neutral | 0.3140 | 0.2460 | 0.4150 | 10 | 47.50 | 90.10 | 11.70 | 34.70 | 25.90 | 7.70 | -0.3429 |
| CF | Alejandro Osuna | 244 | 0.9999 | -0.0020 | neutral | 0.3280 | 0.2630 | 0.3160 | 0 | 33.80 | 88.40 | 3.80 | 16 | 13.60 | 10.90 | 0.4286 |
| C | Elias Díaz | 189 | 0.9872 | -0.1701 | negative_batter_regression | 0.2820 | 0.2430 | 0.3850 | 10.70 | 42.90 | 88.20 | 15.10 | 28 | 19.40 | 2.80 | -2 |
{
"home": {
"applied": true,
"offense_factor": 1.0084,
"raw_average_factor": 1.0084,
"team_espn_average_rank": 187.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"offense_factor": 1.1083,
"quality_score": 1.4441,
"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": 75,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 75,
"gp_value": 69.0,
"gp_rank": 44,
"ab_value": 265.0,
"ab_rank": 30,
"r_value": 28.0,
"r_rank": 130,
"h_value": 68.0,
"h_rank": 48,
"avg_value": 0.2566037,
"avg_rank": 73.0,
"2b_value": 15.0,
"2b_rank": 24,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 25.0,
"rbi_rank": 152,
"tb_value": 108.0,
"tb_rank": 444,
"bb_value": 24.0,
"bb_rank": 89,
"so_value": 61.0,
"so_rank": 70,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3299663,
"obp_rank": "87",
"slg_value": 0.4075471,
"slg_rank": "93",
"ops_value": 0.7375134,
"ops_rank": 180.0,
"war_value": 1.54,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 231.0,
"k_percent": 20.9,
"bb_percent": 8.2,
"woba": 0.323,
"xwoba": 0.371,
"xba": 0.283,
"xslg": 0.5,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 51.7,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 11.1,
"whiff_percent": 22.9,
"swing_percent": 49.3
},
"components": {
"expected_quality": 1.4559,
"regression_edge": 1.3714,
"xwoba_edge": 1.8857,
"xba_edge": 1.2857,
"xslg_edge": 1.7857,
"barrel_edge": 0.8889,
"hard_hit_edge": 1.8714,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "592626",
"player_name": "Joc Pederson",
"offense_factor": 1.0412,
"quality_score": 0.5497,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592626",
"espn_id": 31392,
"player_name": "Joc Pederson",
"team": "TEX",
"role": "batter",
"espn_rank": 170,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 170,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 176.0,
"ab_rank": 187,
"r_value": 26.0,
"r_rank": 149,
"h_value": 42.0,
"h_rank": 185,
"avg_value": 0.2386363,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 23.0,
"rbi_rank": 171,
"tb_value": 77.0,
"tb_rank": 696,
"bb_value": 28.0,
"bb_rank": 63,
"so_value": 42.0,
"so_rank": 169,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3444976,
"obp_rank": "-",
"slg_value": 0.4375,
"slg_rank": "-",
"ops_value": 0.7819976,
"ops_rank": null,
"war_value": 0.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 155.0,
"k_percent": 20.1,
"bb_percent": 13.4,
"woba": 0.345,
"xwoba": 0.349,
"xba": 0.253,
"xslg": 0.417,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 47.8,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 15.1,
"whiff_percent": 29.7,
"swing_percent": 44.4
},
"components": {
"expected_quality": 0.8886,
"regression_edge": 0.1143,
"xwoba_edge": 1.2571,
"xba_edge": 0.4286,
"xslg_edge": 0.6,
"barrel_edge": 0.6,
"hard_hit_edge": 1.3143,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "673962",
"player_name": "Josh Jung",
"offense_factor": 1.0507,
"quality_score": 0.6765,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673962",
"espn_id": 42437,
"player_name": "Josh Jung",
"team": "TEX",
"role": "batter",
"espn_rank": 72,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 72,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 254.0,
"ab_rank": 58,
"r_value": 32.0,
"r_rank": 86,
"h_value": 78.0,
"h_rank": 10,
"avg_value": 0.3070866,
"avg_rank": 8.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 30.0,
"rbi_rank": 105,
"tb_value": 118.0,
"tb_rank": 663,
"bb_value": 21.0,
"bb_rank": 133,
"so_value": 45.0,
"so_rank": 149,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.366548,
"obp_rank": "34",
"slg_value": 0.4645669,
"slg_rank": "43",
"ops_value": 0.8311149,
"ops_rank": 9.0,
"war_value": 1.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 203.0,
"k_percent": 16.3,
"bb_percent": 7.2,
"woba": 0.364,
"xwoba": 0.35,
"xba": 0.298,
"xslg": 0.445,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 44.7,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 11.8,
"whiff_percent": 18.9,
"swing_percent": 47.5
},
"components": {
"expected_quality": 0.9176,
"regression_edge": -0.4,
"xwoba_edge": 1.2857,
"xba_edge": 1.7143,
"xslg_edge": 1.0,
"barrel_edge": -0.3556,
"hard_hit_edge": 0.8714,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.9333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "694671",
"player_name": "Wyatt Langford",
"offense_factor": 0.9821,
"quality_score": -0.2381,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694671",
"espn_id": 4719324,
"player_name": "Wyatt Langford",
"team": "TEX",
"role": "batter",
"espn_rank": 150,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 150,
"gp_value": 29.0,
"gp_rank": 359,
"ab_value": 116.0,
"ab_rank": 284,
"r_value": 15.0,
"r_rank": 259,
"h_value": 28.0,
"h_rank": 270,
"avg_value": 0.2413793,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 8.0,
"rbi_rank": 344,
"tb_value": 46.0,
"tb_rank": 1252,
"bb_value": 7.0,
"bb_rank": 327,
"so_value": 28.0,
"so_rank": 279,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.2845528,
"obp_rank": "-",
"slg_value": 0.3965517,
"slg_rank": "-",
"ops_value": 0.6811045,
"ops_rank": null,
"war_value": 0.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 22.9,
"bb_percent": 5.1,
"woba": 0.288,
"xwoba": 0.271,
"xba": 0.231,
"xslg": 0.346,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 35.3,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 15.3,
"whiff_percent": 24.2,
"swing_percent": 46.6
},
"components": {
"expected_quality": -0.5363,
"regression_edge": -0.4857,
"xwoba_edge": -0.9714,
"xba_edge": -0.2,
"xslg_edge": -0.4143,
"barrel_edge": -0.2222,
"hard_hit_edge": -0.4714,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -1.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "683227",
"player_name": "Cody Freeman",
"offense_factor": 0.9293,
"quality_score": -0.9432,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683227",
"espn_id": 42925,
"player_name": "Cody Freeman",
"team": "TEX",
"role": "batter",
"espn_rank": 307,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 307,
"gp_value": 3.0,
"gp_rank": 537,
"ab_value": 10.0,
"ab_rank": 525,
"r_value": 1.0,
"r_rank": 499,
"h_value": 4.0,
"h_rank": 481,
"avg_value": 0.4,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 482,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 0.0,
"rbi_rank": 515,
"tb_value": 4.0,
"tb_rank": 2654,
"bb_value": 1.0,
"bb_rank": 469,
"so_value": 4.0,
"so_rank": 505,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.4545454,
"obp_rank": "-",
"slg_value": 0.4,
"slg_rank": "-",
"ops_value": 0.8545454,
"ops_rank": null,
"war_value": 0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 66.7,
"bb_percent": 0.0,
"woba": 0.298,
"xwoba": 0.116,
"xba": 0.126,
"xslg": 0.135,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 0.0,
"exit_velocity_avg": 71.0,
"launch_angle_avg": -25.8,
"whiff_percent": 50.0,
"swing_percent": 48.0
},
"components": {
"expected_quality": -2.1116,
"regression_edge": -2.0,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670032",
"player_name": "Nicky Lopez",
"offense_factor": 0.9542,
"quality_score": -0.6101,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670032",
"espn_id": 38106,
"player_name": "Nicky Lopez",
"team": "TEX",
"role": "batter",
"espn_rank": 384,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 384,
"gp_value": 18.0,
"gp_rank": 420,
"ab_value": 48.0,
"ab_rank": 411,
"r_value": 5.0,
"r_rank": 411,
"h_value": 13.0,
"h_rank": 380,
"avg_value": 0.2708333,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 5.0,
"rbi_rank": 396,
"tb_value": 17.0,
"tb_rank": 2261,
"bb_value": 2.0,
"bb_rank": 440,
"so_value": 10.0,
"so_rank": 437,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3137254,
"obp_rank": "-",
"slg_value": 0.3541666,
"slg_rank": "-",
"ops_value": 0.667892,
"ops_rank": null,
"war_value": -0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 12.0,
"k_percent": 20.0,
"bb_percent": 4.0,
"woba": 0.312,
"xwoba": 0.251,
"xba": 0.226,
"xslg": 0.284,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 24.3,
"exit_velocity_avg": 83.8,
"launch_angle_avg": 0.3,
"whiff_percent": 21.3,
"swing_percent": 51.9
},
"components": {
"expected_quality": -1.2927,
"regression_edge": -1.7429,
"xwoba_edge": -1.5429,
"xba_edge": -0.3429,
"xslg_edge": -1.3,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.0429,
"exit_velocity_edge": -2.0,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "669394",
"player_name": "Jake Burger",
"offense_factor": 1.0225,
"quality_score": 0.2997,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669394",
"espn_id": 39882,
"player_name": "Jake Burger",
"team": "TEX",
"role": "batter",
"espn_rank": 97,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 97,
"gp_value": 69.0,
"gp_rank": 44,
"ab_value": 255.0,
"ab_rank": 54,
"r_value": 32.0,
"r_rank": 86,
"h_value": 63.0,
"h_rank": 75,
"avg_value": 0.2470588,
"avg_rank": 92.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 12.0,
"hr_rank": 42,
"rbi_value": 42.0,
"rbi_rank": 24,
"tb_value": 112.0,
"tb_rank": 632,
"bb_value": 21.0,
"bb_rank": 133,
"so_value": 73.0,
"so_rank": 29,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3046594,
"obp_rank": "123",
"slg_value": 0.4392156,
"slg_rank": "66",
"ops_value": 0.743875,
"ops_rank": 57.0,
"war_value": 1.32,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 25.9,
"bb_percent": 7.7,
"woba": 0.326,
"xwoba": 0.314,
"xba": 0.246,
"xslg": 0.415,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 47.5,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 11.7,
"whiff_percent": 34.7,
"swing_percent": 49.8
},
"components": {
"expected_quality": 0.4192,
"regression_edge": -0.3429,
"xwoba_edge": 0.2571,
"xba_edge": 0.2286,
"xslg_edge": 0.5714,
"barrel_edge": 0.6889,
"hard_hit_edge": 1.2714,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"offense_factor": 0.9999,
"quality_score": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696030",
"espn_id": 4916547,
"player_name": "Alejandro Osuna",
"team": "TEX",
"role": "batter",
"espn_rank": 244,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 244,
"gp_value": 38.0,
"gp_rank": 311,
"ab_value": 95.0,
"ab_rank": 326,
"r_value": 11.0,
"r_rank": 322,
"h_value": 24.0,
"h_rank": 298,
"avg_value": 0.2526315,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 384,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 9.0,
"rbi_rank": 331,
"tb_value": 26.0,
"tb_rank": 2373,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 15.0,
"so_rank": 396,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.3716814,
"obp_rank": "-",
"slg_value": 0.2736842,
"slg_rank": "-",
"ops_value": 0.6453656,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 13.6,
"bb_percent": 10.9,
"woba": 0.313,
"xwoba": 0.328,
"xba": 0.263,
"xslg": 0.316,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 33.8,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 3.8,
"whiff_percent": 16.0,
"swing_percent": 47.5
},
"components": {
"expected_quality": -0.0749,
"regression_edge": 0.4286,
"xwoba_edge": 0.6571,
"xba_edge": 0.7143,
"xslg_edge": -0.8429,
"barrel_edge": -1.5333,
"hard_hit_edge": -0.6857,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.5667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "553869",
"player_name": "Elias Díaz",
"offense_factor": 0.9872,
"quality_score": -0.1701,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "553869",
"espn_id": 33594,
"player_name": "Elias Diaz",
"team": "TEX",
"role": "batter",
"espn_rank": 189,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 189,
"gp_value": 16.0,
"gp_rank": 437,
"ab_value": 35.0,
"ab_rank": 440,
"r_value": 5.0,
"r_rank": 411,
"h_value": 10.0,
"h_rank": 406,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 7.0,
"rbi_rank": 358,
"tb_value": 19.0,
"tb_rank": 2012,
"bb_value": 1.0,
"bb_rank": 469,
"so_value": 7.0,
"so_rank": 467,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3055555,
"obp_rank": "-",
"slg_value": 0.5428571,
"slg_rank": "-",
"ops_value": 0.8484126,
"ops_rank": null,
"war_value": 0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 20.0,
"k_percent": 19.4,
"bb_percent": 2.8,
"woba": 0.364,
"xwoba": 0.282,
"xba": 0.243,
"xslg": 0.385,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 10.7,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 15.1,
"whiff_percent": 28.0,
"swing_percent": 58.6
},
"components": {
"expected_quality": -0.114,
"regression_edge": -2.0,
"xwoba_edge": -0.6571,
"xba_edge": 0.1429,
"xslg_edge": 0.1429,
"barrel_edge": 0.8444,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0014,
"raw_average_factor": 1.0014,
"team_espn_average_rank": 281.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "668904",
"player_name": "Royce Lewis",
"offense_factor": 1.0046,
"quality_score": 0.062,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668904",
"espn_id": 40635,
"player_name": "Royce Lewis",
"team": "MIN",
"role": "batter",
"espn_rank": 276,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 276,
"gp_value": 39.0,
"gp_rank": 307,
"ab_value": 133.0,
"ab_rank": 254,
"r_value": 15.0,
"r_rank": 259,
"h_value": 28.0,
"h_rank": 270,
"avg_value": 0.2105263,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 18.0,
"rbi_rank": 222,
"tb_value": 51.0,
"tb_rank": 1347,
"bb_value": 15.0,
"bb_rank": 197,
"so_value": 41.0,
"so_rank": 180,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.2960526,
"obp_rank": "-",
"slg_value": 0.3834586,
"slg_rank": "-",
"ops_value": 0.6795112,
"ops_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 27.7,
"bb_percent": 9.5,
"woba": 0.3,
"xwoba": 0.303,
"xba": 0.218,
"xslg": 0.375,
"sweet_spot_percent": 34.1,
"barrel_batted_rate": 13.2,
"hard_hit_percent": 41.8,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 15.7,
"whiff_percent": 34.6,
"swing_percent": 48.5
},
"components": {
"expected_quality": 0.1193,
"regression_edge": 0.0857,
"xwoba_edge": -0.0571,
"xba_edge": -0.5714,
"xslg_edge": 0.0,
"barrel_edge": 1.4,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.1333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "668885",
"player_name": "Austin Martin",
"offense_factor": 0.9871,
"quality_score": -0.1716,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668885",
"espn_id": 4297998,
"player_name": "Austin Martin",
"team": "MIN",
"role": "batter",
"espn_rank": 165,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 165,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 197.0,
"ab_rank": 153,
"r_value": 27.0,
"r_rank": 141,
"h_value": 47.0,
"h_rank": 160,
"avg_value": 0.2385786,
"avg_rank": 106.0,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 17.0,
"rbi_rank": 236,
"tb_value": 63.0,
"tb_rank": 1537,
"bb_value": 29.0,
"bb_rank": 59,
"so_value": 42.0,
"so_rank": 169,
"sb_value": 8.0,
"sb_rank": 52,
"obp_value": 0.3491379,
"obp_rank": "55",
"slg_value": 0.3197969,
"slg_rank": "149",
"ops_value": 0.6689348,
"ops_rank": 94.0,
"war_value": 0.73,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 173.0,
"k_percent": 17.4,
"bb_percent": 12.6,
"woba": 0.314,
"xwoba": 0.314,
"xba": 0.242,
"xslg": 0.329,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 28.2,
"exit_velocity_avg": 86.8,
"launch_angle_avg": 11.4,
"whiff_percent": 20.4,
"swing_percent": 39.4
},
"components": {
"expected_quality": -0.2537,
"regression_edge": 0.0,
"xwoba_edge": 0.2571,
"xba_edge": 0.1143,
"xslg_edge": -0.6571,
"barrel_edge": -0.9556,
"hard_hit_edge": -1.4857,
"exit_velocity_edge": -0.8,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "665019",
"player_name": "Kody Clemens",
"offense_factor": 1.0373,
"quality_score": 0.4969,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665019",
"espn_id": 41311,
"player_name": "Kody Clemens",
"team": "MIN",
"role": "batter",
"espn_rank": 104,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 104,
"gp_value": 60.0,
"gp_rank": 163,
"ab_value": 207.0,
"ab_rank": 138,
"r_value": 29.0,
"r_rank": 121,
"h_value": 52.0,
"h_rank": 124,
"avg_value": 0.2512077,
"avg_rank": 85.0,
"2b_value": 14.0,
"2b_rank": 37,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 10.0,
"hr_rank": 60,
"rbi_value": 25.0,
"rbi_rank": 152,
"tb_value": 100.0,
"tb_rank": 371,
"bb_value": 15.0,
"bb_rank": 197,
"so_value": 50.0,
"so_rank": 128,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.3171806,
"obp_rank": "108",
"slg_value": 0.4830917,
"slg_rank": "35",
"ops_value": 0.8002723,
"ops_rank": 143.0,
"war_value": 1.22,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 163.0,
"k_percent": 22.2,
"bb_percent": 6.7,
"woba": 0.347,
"xwoba": 0.333,
"xba": 0.248,
"xslg": 0.447,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 43.9,
"exit_velocity_avg": 92.5,
"launch_angle_avg": 16.6,
"whiff_percent": 25.1,
"swing_percent": 48.7
},
"components": {
"expected_quality": 0.845,
"regression_edge": -0.4,
"xwoba_edge": 0.8,
"xba_edge": 0.2857,
"xslg_edge": 1.0286,
"barrel_edge": 1.4889,
"hard_hit_edge": 0.7571,
"exit_velocity_edge": 1.48,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "621439",
"player_name": "Byron Buxton",
"offense_factor": 1.064,
"quality_score": 0.8535,
"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": 22,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 22,
"gp_value": 61.0,
"gp_rank": 155,
"ab_value": 250.0,
"ab_rank": 73,
"r_value": 47.0,
"r_rank": 11,
"h_value": 69.0,
"h_rank": 43,
"avg_value": 0.276,
"avg_rank": 42.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 22.0,
"hr_rank": 3,
"rbi_value": 35.0,
"rbi_rank": 58,
"tb_value": 150.0,
"tb_rank": 219,
"bb_value": 20.0,
"bb_rank": 142,
"so_value": 72.0,
"so_rank": 33,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.3357664,
"obp_rank": "76",
"slg_value": 0.6,
"slg_rank": "3",
"ops_value": 0.9357664,
"ops_rank": 73.0,
"war_value": 2.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 26.0,
"bb_percent": 7.4,
"woba": 0.394,
"xwoba": 0.347,
"xba": 0.243,
"xslg": 0.51,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 19.3,
"hard_hit_percent": 47.7,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 21.8,
"whiff_percent": 31.2,
"swing_percent": 53.4
},
"components": {
"expected_quality": 1.2341,
"regression_edge": -1.3429,
"xwoba_edge": 1.2,
"xba_edge": 0.1429,
"xslg_edge": 1.9286,
"barrel_edge": 2.5,
"hard_hit_edge": 1.3,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "807712",
"player_name": "Luke Keaschall",
"offense_factor": 0.9607,
"quality_score": -0.5246,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "807712",
"espn_id": 4977664,
"player_name": "Luke Keaschall",
"team": "MIN",
"role": "batter",
"espn_rank": 295,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 295,
"gp_value": 67.0,
"gp_rank": 78,
"ab_value": 237.0,
"ab_rank": 99,
"r_value": 32.0,
"r_rank": 86,
"h_value": 58.0,
"h_rank": 96,
"avg_value": 0.2447257,
"avg_rank": 99.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 23.0,
"rbi_rank": 171,
"tb_value": 77.0,
"tb_rank": 1205,
"bb_value": 24.0,
"bb_rank": 89,
"so_value": 42.0,
"so_rank": 169,
"sb_value": 10.0,
"sb_rank": 34,
"obp_value": 0.32342,
"obp_rank": "97",
"slg_value": 0.3248945,
"slg_rank": "146",
"ops_value": 0.6483145,
"ops_rank": 243.0,
"war_value": 0.13,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 15.8,
"bb_percent": 8.7,
"woba": 0.291,
"xwoba": 0.285,
"xba": 0.225,
"xslg": 0.33,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 3.1,
"hard_hit_percent": 28.2,
"exit_velocity_avg": 84.5,
"launch_angle_avg": 16.9,
"whiff_percent": 15.7,
"swing_percent": 41.8
},
"components": {
"expected_quality": -0.6268,
"regression_edge": -0.1714,
"xwoba_edge": -0.5714,
"xba_edge": -0.3714,
"xslg_edge": -0.6429,
"barrel_edge": -0.8444,
"hard_hit_edge": -1.4857,
"exit_velocity_edge": -1.72,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "605137",
"player_name": "Josh Bell",
"offense_factor": 1.017,
"quality_score": 0.2269,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605137",
"espn_id": 32517,
"player_name": "Josh Bell",
"team": "MIN",
"role": "batter",
"espn_rank": 487,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 487,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 254.0,
"ab_rank": 58,
"r_value": 33.0,
"r_rank": 80,
"h_value": 59.0,
"h_rank": 90,
"avg_value": 0.2322834,
"avg_rank": 116.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 40.0,
"rbi_rank": 35,
"tb_value": 93.0,
"tb_rank": 863,
"bb_value": 18.0,
"bb_rank": 168,
"so_value": 66.0,
"so_rank": 50,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.2862318,
"obp_rank": "141",
"slg_value": 0.3661417,
"slg_rank": "120",
"ops_value": 0.6523735,
"ops_rank": 261.0,
"war_value": -0.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 23.9,
"bb_percent": 6.6,
"woba": 0.287,
"xwoba": 0.303,
"xba": 0.234,
"xslg": 0.407,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 12.9,
"whiff_percent": 25.6,
"swing_percent": 51.6
},
"components": {
"expected_quality": 0.1981,
"regression_edge": 0.4571,
"xwoba_edge": -0.0571,
"xba_edge": -0.1143,
"xslg_edge": 0.4571,
"barrel_edge": 0.7333,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "668952",
"player_name": "Ryan Kreidler",
"offense_factor": 0.9976,
"quality_score": -0.0319,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668952",
"espn_id": 42701,
"player_name": "Ryan Kreidler",
"team": "MIN",
"role": "batter",
"espn_rank": 270,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 270,
"gp_value": 31.0,
"gp_rank": 345,
"ab_value": 65.0,
"ab_rank": 382,
"r_value": 12.0,
"r_rank": 304,
"h_value": 16.0,
"h_rank": 361,
"avg_value": 0.2461538,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 12.0,
"rbi_rank": 286,
"tb_value": 30.0,
"tb_rank": 1538,
"bb_value": 8.0,
"bb_rank": 307,
"so_value": 16.0,
"so_rank": 387,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3378378,
"obp_rank": "-",
"slg_value": 0.4615384,
"slg_rank": "-",
"ops_value": 0.7993762,
"ops_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 48.0,
"k_percent": 22.2,
"bb_percent": 11.1,
"woba": 0.331,
"xwoba": 0.319,
"xba": 0.226,
"xslg": 0.394,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 29.8,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 9.7,
"whiff_percent": 33.3,
"swing_percent": 50.9
},
"components": {
"expected_quality": -0.0267,
"regression_edge": -0.3429,
"xwoba_edge": 0.4,
"xba_edge": -0.3429,
"xslg_edge": 0.2714,
"barrel_edge": -0.1111,
"hard_hit_edge": -1.2571,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "656577",
"player_name": "Alex Jackson",
"offense_factor": 0.9396,
"quality_score": -0.8048,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "656577",
"espn_id": 33707,
"player_name": "Alex Jackson",
"team": "MIN",
"role": "batter",
"espn_rank": 437,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 437,
"gp_value": 11.0,
"gp_rank": 476,
"ab_value": 30.0,
"ab_rank": 454,
"r_value": 3.0,
"r_rank": 443,
"h_value": 8.0,
"h_rank": 429,
"avg_value": 0.2666666,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 1.0,
"rbi_rank": 494,
"tb_value": 9.0,
"tb_rank": 2544,
"bb_value": 0.0,
"bb_rank": 517,
"so_value": 11.0,
"so_rank": 426,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2903225,
"obp_rank": "-",
"slg_value": 0.3,
"slg_rank": "-",
"ops_value": 0.5903225,
"ops_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 10.0,
"k_percent": 35.5,
"bb_percent": 0.0,
"woba": 0.267,
"xwoba": 0.195,
"xba": 0.179,
"xslg": 0.227,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 36.8,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 13.4,
"whiff_percent": 33.9,
"swing_percent": 53.9
},
"components": {
"expected_quality": -1.7541,
"regression_edge": -2.0,
"xwoba_edge": -2.5,
"xba_edge": -1.6857,
"xslg_edge": -2.1143,
"barrel_edge": -1.5333,
"hard_hit_edge": -0.2571,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -1.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH_656484",
"player_id": "656484",
"player_name": "Tristan Gray",
"offense_factor": 1.0044,
"quality_score": 0.0581,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656484",
"espn_id": 39918,
"player_name": "Tristan Gray",
"team": "MIN",
"role": "batter",
"espn_rank": 481,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 481,
"gp_value": 45.0,
"gp_rank": 256,
"ab_value": 122.0,
"ab_rank": 268,
"r_value": 13.0,
"r_rank": 295,
"h_value": 31.0,
"h_rank": 256,
"avg_value": 0.2540983,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 27.0,
"rbi_rank": 130,
"tb_value": 47.0,
"tb_rank": 1525,
"bb_value": 8.0,
"bb_rank": 307,
"so_value": 40.0,
"so_rank": 186,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.2985074,
"obp_rank": "-",
"slg_value": 0.3852459,
"slg_rank": "-",
"ops_value": 0.6837533,
"ops_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 29.3,
"bb_percent": 6.0,
"woba": 0.305,
"xwoba": 0.304,
"xba": 0.25,
"xslg": 0.381,
"sweet_spot_percent": 42.4,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 42.4,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 14.2,
"whiff_percent": 33.4,
"swing_percent": 55.4
},
"components": {
"expected_quality": 0.1548,
"regression_edge": -0.0286,
"xwoba_edge": -0.0286,
"xba_edge": 0.3429,
"xslg_edge": 0.0857,
"barrel_edge": 0.0444,
"hard_hit_edge": 0.5429,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 1.5167,
"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 MIN | True | 390 | 0.2023 | 0.4500 | 0.9828 | 0.9725 | 1.0378 | 0.9182 | neutral | 0.2590 | 0.2490 | 17.80 | 13.30 | 19.70 | 0 | 37.90 | |
| Home TEX | True | 183 | -0.1749 | 0.9280 | 1.0149 | 1.0095 | 1.0297 | 1.0586 | neutral | 0.3230 | 0.3100 | 24.60 | 10.70 | 25.40 | 8.60 | 44.40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIN | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home TEX | True | None | 74 | 89.98 | 2180 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0143 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0138 |
| home_runs_vs_away_pitcher | 0.9923 |
| home_pitcher_quality_edge | -0.3772 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669022",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 232.0,
"k_percent": 24.6,
"bb_percent": 10.7,
"woba": 0.31,
"xwoba": 0.323,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 44.4,
"avg_best_speed": 77.8018,
"avg_hyper_speed": 95.105,
"whiff_percent": 25.4,
"swing_percent": 48.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2896,
"command_and_miss": 0.0371,
"regression_edge": -0.3714,
"xwoba_edge": -0.2286,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.8286,
"whiff_edge": -0.0143,
"bb_edge": -0.4,
"pitch_design_score": 0.0143
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 74,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 74,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 74,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9839,
"release_spin_rate": 2180.004,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0143,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1024,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1749,
"sample_weight": 0.928,
"run_prevention_factor": 1.0149,
"strikeout_factor": 1.0095,
"walk_factor": 1.0297,
"homer_factor": 1.0586,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669022",
"espn_id": 39636,
"player_name": "MacKenzie Gore",
"team": "TEX",
"role": "pitcher",
"espn_rank": 183,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 183,
"gp_value": 14.0,
"gp_rank": 251,
"gs_value": 14.0,
"gs_rank": 18,
"qs_value": 4.0,
"qs_rank": 70,
"era_value": 4.183,
"era_rank": 47.0,
"w_value": 4.0,
"w_rank": 59,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 71.0,
"ip_rank": 67,
"h_value": 63.0,
"h_rank": 81,
"er_value": 33.0,
"er_rank": 59,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 33.0,
"bb_rank": 9,
"k_value": 76.0,
"k_rank": 35,
"k_per_9_value": 9.633802,
"k_per_9_rank": 14,
"whip_value": 1.3521,
"whip_rank": 57.0,
"war_value": 0.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "702474",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 17.8,
"bb_percent": 13.3,
"woba": 0.249,
"xwoba": 0.259,
"sweet_spot_percent": 20.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 37.9,
"avg_best_speed": 82.1612,
"avg_hyper_speed": 93.2399,
"whiff_percent": 19.7,
"swing_percent": 43.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.2323,
"command_and_miss": -0.815,
"regression_edge": -0.2857,
"xwoba_edge": 1.6,
"barrel_edge": 1.6222,
"hard_hit_edge": 0.1,
"whiff_edge": -0.8286,
"bb_edge": -1.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "702474",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2023,
"sample_weight": 0.45,
"run_prevention_factor": 0.9828,
"strikeout_factor": 0.9725,
"walk_factor": 1.0378,
"homer_factor": 0.9182,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702474",
"espn_id": 5337593,
"player_name": "Mike Paredes",
"team": "MIN",
"role": "pitcher",
"espn_rank": 390,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 390,
"gp_value": 3.0,
"gp_rank": 539,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.3548,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 10.1,
"ip_rank": 470,
"h_value": 5.0,
"h_rank": 556,
"er_value": 5.0,
"er_rank": 490,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 6.0,
"bb_rank": 428,
"k_value": 8.0,
"k_rank": 479,
"k_per_9_value": 6.967742,
"k_per_9_rank": 27,
"whip_value": 1.0645,
"whip_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0138,
"home_runs_vs_away_pitcher": 0.9923,
"home_pitcher_quality_edge": -0.3772
},
"score_before": {
"away_runs": 2.8787,
"home_runs": 1.4239
},
"score_after": {
"away_runs": 2.9185,
"home_runs": 1.4129,
"home_win_probability": 0.3652
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away MIN | 13-52 | 0.200 | 1.10 | 4.10 | -191 | cold | average | |
| Home TEX | 16-45 | 0.262 | 1 | 3.10 | -128 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIN | 33-40 | 0.452 | -42 | -0.575 | True |
| Home TEX | 35-36 | 0.493 | 6 | 0.085 | True |
| Signal | - | - | 0.660 | 0.721 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIN | - | - | 3 | - | - | - | - |
| Game target TEX | - | - | 2 | - | - | - | - |
| Player finalized MIN | 33 | 9 | 2 | 0 | 3 | 0 | 9 |
| Player finalized TEX | 31 | 9 | 1 | 0 | 1 | 0 | 8 |
| Player model fractional MIN | 30.52 | 7.26 | 4.02 | 1.16 | 3.85 | 2.47 | 7.81 |
| Player model fractional TEX | 30.82 | 7.04 | 3.64 | 0.85 | 3.29 | 2.48 | 7.05 |
| Simulation box MIN | 32 | 5 | 3 | 1 | 3 | 3 | 7 |
| Simulation box TEX | 33 | 6 | 2 | 0 | 2 | 4 | 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 MIN | Starter | Mike Paredes | 3.10 | 2 | 4 | 5 | 2 | 4.43 | 1.23 | True |
| Away MIN | Middle Reliever | Anthony Banda | 1.20 | 0 | 2 | 1 | 1 | 2.53 | 1.39 | True |
| Away MIN | Middle Reliever | Eric Orze | 1 | 0 | 0 | 0 | 0 | 6.89 | 1.60 | True |
| Away MIN | Middle Reliever | Travis Adams | 1.20 | 0 | 1 | 0 | 0 | 5.06 | 1.34 | True |
| Away MIN | Middle Reliever | Yoendrys Gómez | 1.10 | 0 | 0 | 0 | 1 | 4.05 | 1.57 | True |
| Home TEX | Starter | MacKenzie Gore | 4.20 | 2 | 3 | 4 | 3 | 4.17 | 1.45 | True |
| Home TEX | Middle Reliever | Jacob Latz | 1.10 | 0 | 2 | 0 | 0 | 2.14 | 0.86 | True |
| Home TEX | Middle Reliever | Jakob Junis | 1 | 1 | 2 | 1 | 0 | 3.47 | 1.18 | True |
| Home TEX | Middle Reliever | Tyler Alexander | 1 | 0 | 0 | 0 | 0 | 5.62 | 1.39 | True |
| Home TEX | Middle Reliever | Cole Winn | 1 | 0 | 0 | 0 | 0 | 6.07 | 1.42 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | TEX | batter | DH | Joc Pederson | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 2.2920 | boost | better |
| away | MIN | batter | C | Alex Jackson | better | 10 | 5 | 5 | 6 | 4 | predicted_RBI | 1.7300 | boost | better |
| home | TEX | batter | CF | Alejandro Osuna | worse | 10 | 5 | 5 | 4 | 6 | predicted_SO | 1.5950 | boost | worse |
| away | MIN | batter | SS | Ryan Kreidler | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 1.5000 | boost | better |
| home | TEX | batter | LF | Wyatt Langford | worse | 11 | 3 | 8 | 3 | 8 | predicted_AB | -1.3500 | deboost | worse |
| home | TEX | batter | 2B | Cody Freeman | better | 9 | 4 | 5 | 5 | 4 | predicted_SO | -1.3330 | deboost | better |
| home | TEX | batter | C | Elias Díaz | worse | 11 | 4 | 7 | 3 | 8 | predicted_AB | 1.3080 | boost | better |
| home | TEX | batter | 3B | Josh Jung | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.2900 | deboost | worse |
| away | MIN | batter | CF | Byron Buxton | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -1.2100 | deboost | worse |
| home | TEX | batter | SS | Nicky Lopez | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | 1.1760 | boost | better |
| home | TEX | batter | RF | Brandon Nimmo | worse | 9 | 4 | 5 | 3 | 6 | predicted_SO | 1.1160 | boost | worse |
| home | TEX | batter | 1B | Jake Burger | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -1.0580 | deboost | better |
| away | MIN | batter | 3B | Royce Lewis | worse | 9 | 2 | 7 | 3 | 6 | predicted_H | -0.9200 | deboost | worse |
| away | MIN | batter | DH | Josh Bell | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.9200 | deboost | worse |
| away | MIN | pitcher | Starter | Mike Paredes | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.9000 | deboost | worse |
| away | MIN | batter | 2B | Luke Keaschall | worse | 9 | 1 | 8 | 2 | 7 | predicted_H | -0.8800 | deboost | worse |
| away | MIN | batter | RF | Austin Martin | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.7700 | deboost | worse |
| away | MIN | batter | 1B | Kody Clemens | worse | 11 | 6 | 5 | 5 | 6 | predicted_2B | 0.7630 | boost | better |
| home | TEX | pitcher | Starter | MacKenzie Gore | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | MIN | batter | LF | Tristan Gray | worse | 11 | 3 | 8 | 2 | 9 | predicted_RBI | -0.4000 | deboost | worse |
| home | TEX | pitcher | Middle Reliever | Cole Winn | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
| home | TEX | pitcher | Middle Reliever | Jacob Latz | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | MIN | pitcher | Middle Reliever | Anthony Banda | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | MIN | pitcher | Middle Reliever | Travis Adams | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | MIN | pitcher | Middle Reliever | Yoendrys Gómez | 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 | Mike Paredes |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2023 |
| ESPN Rank | 390 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 3.1000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 4.3548 |
| Season WHIP | 1.0645 |
| Role Avg IP | 3 |
| Recent Avg IP | 3 |
| Last Start IP | 3 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"opponent": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"edges": {
"quality_edge": -0.1406,
"offense_edge": 0.0548,
"opponent_offense_edge": -0.0856,
"defense_strength": -0.1224,
"opponent_defense_weakness": -0.1294,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9941,
"run_prevention": 1.0056,
"strikeout": 1.0026
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "702474",
"profile": {
"available": true,
"pitcher_id": "702474",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 17.8,
"bb_percent": 13.3,
"woba": 0.249,
"xwoba": 0.259,
"sweet_spot_percent": 20.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 37.9,
"avg_best_speed": 82.1612,
"avg_hyper_speed": 93.2399,
"whiff_percent": 19.7,
"swing_percent": 43.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.2323,
"command_and_miss": -0.815,
"regression_edge": -0.2857,
"xwoba_edge": 1.6,
"barrel_edge": 1.6222,
"hard_hit_edge": 0.1,
"whiff_edge": -0.8286,
"bb_edge": -1.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "702474",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2023,
"sample_weight": 0.45,
"run_prevention_factor": 0.9828,
"strikeout_factor": 0.9725,
"walk_factor": 1.0378,
"homer_factor": 0.9182,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702474",
"espn_id": 5337593,
"player_name": "Mike Paredes",
"team": "MIN",
"role": "pitcher",
"espn_rank": 390,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 390,
"gp_value": 3.0,
"gp_rank": 539,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.3548,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 10.1,
"ip_rank": 470,
"h_value": 5.0,
"h_rank": 556,
"er_value": 5.0,
"er_rank": 490,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 6.0,
"bb_rank": 428,
"k_value": 8.0,
"k_rank": 479,
"k_per_9_value": 6.967742,
"k_per_9_rank": 27,
"whip_value": 1.0645,
"whip_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9923,
"adjusted": 1
},
"predicted_H": {
"original": 1.0,
"factor": 0.9923,
"adjusted": 1
},
"predicted_BB": {
"original": 2.0,
"factor": 1.017,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9632,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9876,
"adjusted": 4
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "insufficient_data"
},
"pitching": {
"IP": 10.1,
"ER": 5,
"H": 5,
"BB": 6,
"SO": 8,
"HR": 1,
"ERA": 4.35483870967742,
"WHIP": 1.0645161290322582,
"K9": 6.967741935483872,
"HR9": 0.870967741935484,
"games_pitched": 3,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 3,
"error_prone": false
},
"games_count": 3,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": false,
"pitcher_id": "702474",
"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": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"role": "pitcher",
"player_id": "702474",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 3,
"reference_playing_time": 4.0,
"windows": {
"last_5": {
"games": 3,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 6.0,
"H": 5.0,
"BB": 6.0,
"SO": 8.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 173.0
},
"per_game": {
"IP": 3.1,
"ER": 1.6667,
"R": 2.0,
"H": 1.6667,
"BB": 2.0,
"SO": 2.6667,
"HR": 0.3333,
"BF": 15.0,
"Pitches": 57.6667
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.0645,
"ER_per_IP": 0.48387,
"H_per_IP": 0.48387,
"BB_per_IP": 0.58065,
"SO_per_IP": 0.77419,
"HR_per_IP": 0.09677
}
},
"last_10": {
"games": 3,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 6.0,
"H": 5.0,
"BB": 6.0,
"SO": 8.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 173.0
},
"per_game": {
"IP": 3.1,
"ER": 1.6667,
"R": 2.0,
"H": 1.6667,
"BB": 2.0,
"SO": 2.6667,
"HR": 0.3333,
"BF": 15.0,
"Pitches": 57.6667
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.0645,
"ER_per_IP": 0.48387,
"H_per_IP": 0.48387,
"BB_per_IP": 0.58065,
"SO_per_IP": 0.77419,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 3,
"totals": {
"IP": 10.1,
"ER": 5.0,
"R": 6.0,
"H": 5.0,
"BB": 6.0,
"SO": 8.0,
"HR": 1.0,
"BF": 45.0,
"Pitches": 173.0
},
"per_game": {
"IP": 3.1,
"ER": 1.6667,
"R": 2.0,
"H": 1.6667,
"BB": 2.0,
"SO": 2.6667,
"HR": 0.3333,
"BF": 15.0,
"Pitches": 57.6667
},
"rates": {
"ERA": 4.3548,
"WHIP": 1.0645,
"ER_per_IP": 0.48387,
"H_per_IP": 0.48387,
"BB_per_IP": 0.58065,
"SO_per_IP": 0.77419,
"HR_per_IP": 0.09677
}
}
},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.844,
"predicted_H": 2.959,
"predicted_BB": 1.663,
"predicted_SO": 3.277,
"predicted_HR": 0.476,
"predicted_ERA": 4.4258,
"predicted_WHIP": 1.2324
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6141,
"form_weight": 0.3859,
"form_reliability": 0.375,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"applied_metrics": {
"predicted_IP": {
"model": 4.0,
"form": 3.2,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.844,
"final": 1.9398,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 2.959,
"final": 4.2123,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.663,
"final": 1.8699,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.277,
"final": 3.721,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.476,
"final": 0.1837,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4258,
"final": 4.4258,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2324,
"final": 1.2324,
"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 Banda |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0008 |
| ESPN Rank | 379 |
| 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 | 1 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 4.5000 |
| Season WHIP | 1.3000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"opponent": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"edges": {
"quality_edge": -0.1406,
"offense_edge": 0.0548,
"opponent_offense_edge": -0.0856,
"defense_strength": -0.1224,
"opponent_defense_weakness": -0.1294,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9941,
"run_prevention": 1.0056,
"strikeout": 1.0026
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607455",
"profile": {
"available": true,
"pitcher_id": "607455",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 104.0,
"k_percent": 20.6,
"bb_percent": 9.9,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 38.8,
"avg_best_speed": 80.8352,
"avg_hyper_speed": 94.1586,
"whiff_percent": 26.3,
"swing_percent": 45.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.039,
"command_and_miss": -0.135,
"regression_edge": 0.1143,
"xwoba_edge": 0.0857,
"barrel_edge": 0.2889,
"hard_hit_edge": -0.0286,
"whiff_edge": 0.1143,
"bb_edge": -0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "607455",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0008,
"sample_weight": 0.45,
"run_prevention_factor": 1.0001,
"strikeout_factor": 0.9967,
"walk_factor": 1.0072,
"homer_factor": 0.989,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607455",
"espn_id": 34542,
"player_name": "Anthony Banda",
"team": "MIN",
"role": "pitcher",
"espn_rank": 379,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 379,
"gp_value": 34.0,
"gp_rank": 7,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.5,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 9.0,
"hld_rank": 27,
"ip_value": 30.0,
"ip_rank": 240,
"h_value": 25.0,
"h_rank": 259,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 14.0,
"bb_rank": 199,
"k_value": 27.0,
"k_rank": 266,
"k_per_9_value": 8.1,
"k_per_9_rank": 29,
"whip_value": 1.3,
"whip_rank": null,
"war_value": 0.02,
"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.0032,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.995,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9985,
"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": 0,
"H": 6,
"BB": 6,
"SO": 8,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.44,
"K9": 8.639999999999999,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "607455",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"role": "pitcher",
"player_id": "607455",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 72.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.4
},
"rates": {
"ERA": 0.0,
"WHIP": 1.5,
"ER_per_IP": 0.0,
"H_per_IP": 1.0,
"BB_per_IP": 0.5,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 0.0,
"R": 1.0,
"H": 6.0,
"BB": 6.0,
"SO": 8.0,
"HR": 0.0,
"BF": 36.0,
"Pitches": 144.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.1,
"H": 0.6,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.4
},
"rates": {
"ERA": 0.0,
"WHIP": 1.44,
"ER_per_IP": 0.0,
"H_per_IP": 0.72,
"BB_per_IP": 0.72,
"SO_per_IP": 0.96,
"HR_per_IP": 0.0
}
},
"season": {
"games": 34,
"totals": {
"IP": 30.0,
"ER": 15.0,
"R": 17.0,
"H": 25.0,
"BB": 14.0,
"SO": 27.0,
"HR": 2.0,
"BF": 134.0,
"Pitches": 537.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4412,
"R": 0.5,
"H": 0.7353,
"BB": 0.4118,
"SO": 0.7941,
"HR": 0.0588,
"BF": 3.9412,
"Pitches": 15.7941
},
"rates": {
"ERA": 4.5,
"WHIP": 1.3,
"ER_per_IP": 0.5,
"H_per_IP": 0.83333,
"BB_per_IP": 0.46667,
"SO_per_IP": 0.9,
"HR_per_IP": 0.06667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.24,
"predicted_H": 0.783,
"predicted_BB": 0.406,
"predicted_SO": 0.761,
"predicted_HR": 0.063,
"predicted_ERA": 2.5307,
"predicted_WHIP": 1.3906
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5431,
"form_weight": 0.4569,
"form_reliability": 0.543,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.24,
"final": 0.1097,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.783,
"final": 0.9008,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.406,
"final": 0.7286,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.761,
"final": 1.4339,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.063,
"final": 0.0288,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5307,
"final": 2.5307,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3906,
"final": 1.3906,
"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.0346 |
| ESPN Rank | 422 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.0625 |
| Season WHIP | 1.5000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"opponent": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"edges": {
"quality_edge": -0.1406,
"offense_edge": 0.0548,
"opponent_offense_edge": -0.0856,
"defense_strength": -0.1224,
"opponent_defense_weakness": -0.1294,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9941,
"run_prevention": 1.0056,
"strikeout": 1.0026
},
"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": 20.0,
"bb_percent": 11.0,
"woba": 0.302,
"xwoba": 0.306,
"sweet_spot_percent": 39.4,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 29.3,
"avg_best_speed": 74.5575,
"avg_hyper_speed": 93.0565,
"whiff_percent": 23.1,
"swing_percent": 43.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.3382,
"command_and_miss": -0.3886,
"regression_edge": -0.1143,
"xwoba_edge": 0.2571,
"barrel_edge": 0.2667,
"hard_hit_edge": 1.3286,
"whiff_edge": -0.3429,
"bb_edge": -0.475,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "679358",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0346,
"sample_weight": 0.45,
"run_prevention_factor": 0.9971,
"strikeout_factor": 0.9869,
"walk_factor": 1.0171,
"homer_factor": 0.963,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679358",
"espn_id": 4299966,
"player_name": "Eric Orze",
"team": "MIN",
"role": "pitcher",
"espn_rank": 422,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 422,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.0625,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 32.0,
"ip_rank": 205,
"h_value": 32.0,
"h_rank": 185,
"er_value": 18.0,
"er_rank": 167,
"hr_value": 0.0,
"hr_rank": 568,
"bb_value": 16.0,
"bb_rank": 171,
"k_value": 29.0,
"k_rank": 250,
"k_per_9_value": 8.15625,
"k_per_9_rank": 32,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9987,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9987,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0077,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9833,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9941,
"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": 9,
"H": 13,
"BB": 4,
"SO": 12,
"HR": 0,
"ERA": 7.363636363636363,
"WHIP": 1.5454545454545454,
"K9": 9.818181818181818,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "679358",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.337,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5589,
"prior_weight": 0.4411
},
"role": "pitcher",
"player_id": "679358",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 6.0,
"R": 7.0,
"H": 7.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 98.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.4,
"H": 1.4,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 5.4,
"Pitches": 19.6
},
"rates": {
"ERA": 11.5714,
"WHIP": 2.1429,
"ER_per_IP": 1.28571,
"H_per_IP": 1.5,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 9.0,
"R": 10.0,
"H": 13.0,
"BB": 4.0,
"SO": 12.0,
"HR": 0.0,
"BF": 53.0,
"Pitches": 193.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 1.0,
"H": 1.3,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 5.3,
"Pitches": 19.3
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.5455,
"ER_per_IP": 0.81818,
"H_per_IP": 1.18182,
"BB_per_IP": 0.36364,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 32.0,
"ER": 18.0,
"R": 19.0,
"H": 32.0,
"BB": 16.0,
"SO": 29.0,
"HR": 0.0,
"BF": 145.0,
"Pitches": 534.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6429,
"R": 0.6786,
"H": 1.1429,
"BB": 0.5714,
"SO": 1.0357,
"HR": 0.0,
"BF": 5.1786,
"Pitches": 19.0714
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.5,
"ER_per_IP": 0.5625,
"H_per_IP": 1.0,
"BB_per_IP": 0.5,
"SO_per_IP": 0.90625,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.765,
"predicted_H": 1.149,
"predicted_BB": 0.448,
"predicted_SO": 0.942,
"predicted_HR": 0.064,
"predicted_ERA": 6.8876,
"predicted_WHIP": 1.597
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5364,
"form_weight": 0.4636,
"form_reliability": 0.5589,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.337,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5589,
"prior_weight": 0.4411
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.765,
"final": 0.3547,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.149,
"final": 0.5327,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.448,
"final": 0.2077,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.942,
"final": 0.4367,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.064,
"final": 0.0297,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.8876,
"final": 6.8876,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.597,
"final": 1.597,
"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 | Travis Adams |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1082 |
| ESPN Rank | 594 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0219 |
| Avg Velo | 89.3371 |
| Avg Spin | 2344.9974 |
| 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 | 6.8936 |
| Season WHIP | 1.5319 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"opponent": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"edges": {
"quality_edge": -0.1406,
"offense_edge": 0.0548,
"opponent_offense_edge": -0.0856,
"defense_strength": -0.1224,
"opponent_defense_weakness": -0.1294,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9941,
"run_prevention": 1.0056,
"strikeout": 1.0026
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "701519",
"profile": {
"available": true,
"pitcher_id": "701519",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 46.0,
"k_percent": 23.9,
"bb_percent": 9.9,
"woba": 0.365,
"xwoba": 0.344,
"sweet_spot_percent": 40.4,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 31.9,
"avg_best_speed": 73.7884,
"avg_hyper_speed": 93.9783,
"whiff_percent": 27.1,
"swing_percent": 48.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.5876,
"command_and_miss": 0.1171,
"regression_edge": 0.6,
"xwoba_edge": -0.8286,
"barrel_edge": -0.7333,
"hard_hit_edge": 0.9571,
"whiff_edge": 0.2286,
"bb_edge": -0.2,
"pitch_design_score": -0.0219
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "701519",
"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": 89.33713054415583,
"release_spin_rate": 2344.997365972707,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.33713054415583,
"release_spin_rate": 2344.997365972707,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3371,
"release_spin_rate": 2344.9974,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0219,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1563,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1082,
"sample_weight": 0.45,
"run_prevention_factor": 1.0092,
"strikeout_factor": 1.0072,
"walk_factor": 1.0072,
"homer_factor": 1.0204,
"woba_minus_xwoba": 0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701519",
"espn_id": 4424951,
"player_name": "Travis Adams",
"team": "MIN",
"role": "pitcher",
"espn_rank": 594,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 594,
"gp_value": 11.0,
"gp_rank": 370,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 6.8936,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 1.0,
"hld_rank": 193,
"ip_value": 15.2,
"ip_rank": 423,
"h_value": 17.0,
"h_rank": 375,
"er_value": 12.0,
"er_rank": 258,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 17.0,
"k_rank": 377,
"k_per_9_value": 9.765957,
"k_per_9_rank": 24,
"whip_value": 1.5319,
"whip_rank": null,
"war_value": -0.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0041,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0041,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0032,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0092,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0032,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 14.1,
"ER": 10,
"H": 13,
"BB": 5,
"SO": 15,
"HR": 4,
"ERA": 6.27906976744186,
"WHIP": 1.255813953488372,
"K9": 9.41860465116279,
"HR9": 2.511627906976744,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": true,
"pitcher_id": "701519",
"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": 89.33713054415583,
"release_spin_rate": 2344.997365972707,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 89.33713054415583,
"release_spin_rate": 2344.997365972707,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3371,
"release_spin_rate": 2344.9974,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0219,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1563,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.102,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3829,
"prior_weight": 0.6171
},
"role": "pitcher",
"player_id": "701519",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 4.0,
"R": 4.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 28.0,
"Pitches": 115.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8,
"R": 0.8,
"H": 1.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.4,
"BF": 5.6,
"Pitches": 23.0
},
"rates": {
"ERA": 5.4,
"WHIP": 1.35,
"ER_per_IP": 0.6,
"H_per_IP": 1.05,
"BB_per_IP": 0.3,
"SO_per_IP": 0.9,
"HR_per_IP": 0.3
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.1,
"ER": 10.0,
"R": 10.0,
"H": 13.0,
"BB": 5.0,
"SO": 15.0,
"HR": 4.0,
"BF": 61.0,
"Pitches": 226.0
},
"per_game": {
"IP": 1.1,
"ER": 1.0,
"R": 1.0,
"H": 1.3,
"BB": 0.5,
"SO": 1.5,
"HR": 0.4,
"BF": 6.1,
"Pitches": 22.6
},
"rates": {
"ERA": 6.2791,
"WHIP": 1.2558,
"ER_per_IP": 0.69767,
"H_per_IP": 0.90698,
"BB_per_IP": 0.34884,
"SO_per_IP": 1.04651,
"HR_per_IP": 0.27907
}
},
"season": {
"games": 11,
"totals": {
"IP": 15.2,
"ER": 12.0,
"R": 12.0,
"H": 17.0,
"BB": 7.0,
"SO": 17.0,
"HR": 4.0,
"BF": 71.0,
"Pitches": 269.0
},
"per_game": {
"IP": 1.1,
"ER": 1.0909,
"R": 1.0909,
"H": 1.5455,
"BB": 0.6364,
"SO": 1.5455,
"HR": 0.3636,
"BF": 6.4545,
"Pitches": 24.4545
},
"rates": {
"ERA": 6.8936,
"WHIP": 1.5319,
"ER_per_IP": 0.76596,
"H_per_IP": 1.08511,
"BB_per_IP": 0.44681,
"SO_per_IP": 1.08511,
"HR_per_IP": 0.25532
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.634,
"predicted_H": 1.111,
"predicted_BB": 0.401,
"predicted_SO": 1.077,
"predicted_HR": 0.224,
"predicted_ERA": 5.0573,
"predicted_WHIP": 1.3409
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6107,
"form_weight": 0.3893,
"form_reliability": 0.3829,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.102,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3829,
"prior_weight": 0.6171
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.634,
"final": 0.2468,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.111,
"final": 0.4325,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.401,
"final": 0.1561,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.077,
"final": 1.03,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.224,
"final": 0.0872,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0573,
"final": 5.0573,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3409,
"final": 1.3409,
"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.3000 |
| ESPN Rank | 188 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 4.0099 |
| Season WHIP | 1.3960 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"opponent": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"edges": {
"quality_edge": -0.1406,
"offense_edge": 0.0548,
"opponent_offense_edge": -0.0856,
"defense_strength": -0.1224,
"opponent_defense_weakness": -0.1294,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9941,
"run_prevention": 1.0056,
"strikeout": 1.0026
},
"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.8,
"bb_percent": 11.6,
"woba": 0.331,
"xwoba": 0.364,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 43.2,
"avg_best_speed": 78.7735,
"avg_hyper_speed": 94.5977,
"whiff_percent": 24.4,
"swing_percent": 46.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.9119,
"command_and_miss": -0.2379,
"regression_edge": -0.9429,
"xwoba_edge": -1.4,
"barrel_edge": -0.9111,
"hard_hit_edge": -0.6571,
"whiff_edge": -0.1571,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "672782",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.3,
"sample_weight": 0.45,
"run_prevention_factor": 1.0255,
"strikeout_factor": 0.9949,
"walk_factor": 1.0225,
"homer_factor": 1.0635,
"woba_minus_xwoba": -0.033,
"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": 188,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 188,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.0099,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 6.0,
"sv_rank": 22,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 33.2,
"ip_rank": 186,
"h_value": 30.0,
"h_rank": 200,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 5.0,
"hr_rank": 150,
"bb_value": 17.0,
"bb_rank": 151,
"k_value": 33.0,
"k_rank": 205,
"k_per_9_value": 8.821782,
"k_per_9_rank": 29,
"whip_value": 1.396,
"whip_rank": null,
"war_value": 0.47,
"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.0101,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0286,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9977,
"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": 8,
"BB": 4,
"SO": 11,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 1.3846153846153848,
"K9": 11.423076923076923,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "672782",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.667,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5714,
"prior_weight": 0.4286
},
"role": "pitcher",
"player_id": "672782",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 84.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.8
},
"rates": {
"ERA": 4.9091,
"WHIP": 2.1818,
"ER_per_IP": 0.54545,
"H_per_IP": 1.36364,
"BB_per_IP": 0.81818,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 3.0,
"H": 8.0,
"BB": 4.0,
"SO": 11.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.8,
"BB": 0.4,
"SO": 1.1,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.3
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3846,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.26923,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 33.2,
"ER": 15.0,
"R": 17.0,
"H": 30.0,
"BB": 17.0,
"SO": 33.0,
"HR": 5.0,
"BF": 150.0,
"Pitches": 578.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5357,
"R": 0.6071,
"H": 1.0714,
"BB": 0.6071,
"SO": 1.1786,
"HR": 0.1786,
"BF": 5.3571,
"Pitches": 20.6429
},
"rates": {
"ERA": 4.0099,
"WHIP": 1.396,
"ER_per_IP": 0.44554,
"H_per_IP": 0.89109,
"BB_per_IP": 0.50495,
"SO_per_IP": 0.9802,
"HR_per_IP": 0.14851
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.429,
"predicted_H": 1.004,
"predicted_BB": 0.491,
"predicted_SO": 0.997,
"predicted_HR": 0.075,
"predicted_ERA": 4.051,
"predicted_WHIP": 1.5689
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5311,
"form_weight": 0.4689,
"form_reliability": 0.5714,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.667,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5714,
"prior_weight": 0.4286
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.429,
"final": 0.2012,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.004,
"final": 0.4708,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.491,
"final": 0.7613,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.997,
"final": 0.4675,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.075,
"final": 0.0352,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.051,
"final": 4.051,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5689,
"final": 1.5689,
"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.128 | 0.000 | 0.000 | Hitting_2B | 0.102 | 0.000 | -0.102 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.610 | 4.000 | 4.000 | Hitting_AB | 3.402 | 3.000 | 0.598 | 1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.250 | Hitting_AVG | 0.181 | 0.333 | -0.181 | -0.333 |
| predicted_BB | 0.385 | 0.000 | 0.000 | Hitting_BB | 0.394 | 1.000 | -0.394 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.920 | 0.000 | 1.000 | Hitting_H | 0.614 | 1.000 | -0.614 | -1.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.333 | 0.000 | 0.250 | Hitting_OBP | 0.274 | 0.500 | -0.274 | -0.500 |
| predicted_R | 0.385 | 0.000 | 0.000 | Hitting_R | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_RBI | 0.540 | 0.000 | 1.000 | Hitting_RBI | 0.457 | 1.000 | -0.457 | -1.000 |
| predicted_SLG | 0.477 | 0.000 | 0.250 | Hitting_SLG | 0.315 | 0.333 | -0.315 | -0.333 |
| predicted_SO | 1.051 | 1.000 | 1.000 | Hitting_SO | 1.150 | 0.000 | -0.150 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.6100 -> 4.0000 (boost 0.3900, better) |
| Biggest Deboost | predicted_H: 0.9200 -> 0.0000 (deboost -0.9200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 3 | 0 | predicted_SLG: 0.4770 -> 0.4997 (boost 0.0227, better) | predicted_SO: 1.0510 -> 1.0000 (deboost -0.0510, better) | Final model input calibrated with local 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.4997 -> 0.4809 (deboost -0.0188, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.5373 -> 1.0000 (boost 0.4627, better) | predicted_BB: 0.3746 -> 0.0000 (deboost -0.3746, worse) | AB rounded to 4 (raw=3.61), rates preserved: AVG=0.258 HR/AB=0.060 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4111 -> 0.0000 (deboost -0.4111, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4809 -> 0.2500 (deboost -0.2309, 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_H: 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.4809 (boost 0.2309, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668904",
"player_name": "Royce Lewis",
"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.128,
"predicted_3B": 0.0,
"predicted_AB": 3.61,
"predicted_AVG": 0.255,
"predicted_BB": 0.385,
"predicted_H": 0.92,
"predicted_HR": 0.2,
"predicted_OBP": 0.333,
"predicted_R": 0.385,
"predicted_RBI": 0.54,
"predicted_SLG": 0.477,
"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.1413,
"predicted_3B": 0.0008,
"predicted_AB": 3.5855,
"predicted_AVG": 0.2637,
"predicted_BB": 0.3754,
"predicted_H": 0.9449,
"predicted_HBP": 0.032,
"predicted_HR": 0.2193,
"predicted_OBP": 0.3367,
"predicted_R": 0.4208,
"predicted_RBI": 0.55,
"predicted_SLG": 0.4997,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1413,
"delta": 0.0133,
"percent_delta": 0.1039,
"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": 3.61,
"after": 3.5855,
"delta": -0.0245,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2637,
"delta": 0.0087,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.3754,
"delta": -0.0096,
"percent_delta": -0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9449,
"delta": 0.0249,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2193,
"delta": 0.0193,
"percent_delta": 0.0965,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3367,
"delta": 0.0037,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.4208,
"delta": 0.0358,
"percent_delta": 0.093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.55,
"delta": 0.01,
"percent_delta": 0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4997,
"delta": 0.0227,
"percent_delta": 0.0476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 1.0,
"delta": -0.051,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4997,
"delta": 0.0227,
"percent_delta": 0.0476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.051,
"after": 1.0,
"delta": -0.051,
"percent_delta": -0.0485,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1413,
"predicted_3B": 0.0008,
"predicted_AB": 3.5855,
"predicted_AVG": 0.26,
"predicted_BB": 0.3746,
"predicted_H": 0.9321,
"predicted_HBP": 0.032,
"predicted_HR": 0.2164,
"predicted_OBP": 0.33,
"predicted_R": 0.4111,
"predicted_RBI": 0.5373,
"predicted_SLG": 0.4809,
"predicted_SO": 1.002
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1413,
"after": 0.1413,
"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.5855,
"after": 3.5855,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2637,
"after": 0.26,
"delta": -0.0037,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3754,
"after": 0.3746,
"delta": -0.0008,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9449,
"after": 0.9321,
"delta": -0.0128,
"percent_delta": -0.0135,
"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.2193,
"after": 0.2164,
"delta": -0.0029,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3367,
"after": 0.33,
"delta": -0.0067,
"percent_delta": -0.0199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4208,
"after": 0.4111,
"delta": -0.0097,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5373,
"delta": -0.0127,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4997,
"after": 0.4809,
"delta": -0.0188,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.002,
"delta": 0.002,
"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.4997,
"after": 0.4809,
"delta": -0.0188,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.61), rates preserved: AVG=0.258 HR/AB=0.060",
"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.1413,
"after": 0.0,
"delta": -0.1413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5855,
"after": 4.0,
"delta": 0.4145,
"percent_delta": 0.1156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3746,
"after": 0.0,
"delta": -0.3746,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9321,
"after": 1.0,
"delta": 0.0679,
"percent_delta": 0.0728,
"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.2164,
"after": 0.0,
"delta": -0.2164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5373,
"after": 1.0,
"delta": 0.4627,
"percent_delta": 0.8612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.002,
"after": 1.0,
"delta": -0.002,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5373,
"after": 1.0,
"delta": 0.4627,
"percent_delta": 0.8612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3746,
"after": 0.0,
"delta": -0.3746,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4111,
"after": 0.0,
"delta": -0.4111,
"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.4111,
"after": 0.0,
"delta": -0.4111,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.25,
"delta": -0.01,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.25,
"delta": -0.08,
"percent_delta": -0.2424,
"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.4809,
"after": 0.25,
"delta": -0.2309,
"percent_delta": -0.4801,
"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.4809,
"after": 0.25,
"delta": -0.2309,
"percent_delta": -0.4801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.26,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.33,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4809,
"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.26,
"delta": 0.01,
"percent_delta": 0.0399,
"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.33,
"delta": 0.08,
"percent_delta": 0.3199,
"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.4809,
"delta": 0.2309,
"percent_delta": 0.9234,
"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.4809,
"delta": 0.2309,
"percent_delta": 0.9234,
"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.128,
"after": 0.0,
"delta": -0.128,
"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.61,
"after": 4.0,
"delta": 0.39,
"percent_delta": 0.108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.26,
"delta": 0.005,
"percent_delta": 0.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"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.333,
"after": 0.33,
"delta": -0.003,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.4809,
"delta": 0.0039,
"percent_delta": 0.0082,
"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": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.61,
"after": 4.0,
"delta": 0.39,
"percent_delta": 0.108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.610 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.385 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.385 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.477 | - |
| 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.141 | 0.013 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.586 | -0.024 |
| predicted_AVG | 0.264 | 0.009 |
| predicted_BB | 0.375 | -0.010 |
| predicted_H | 0.945 | 0.025 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.219 | 0.019 |
| predicted_OBP | 0.337 | 0.004 |
| predicted_R | 0.421 | 0.036 |
| predicted_RBI | 0.550 | 0.010 |
| predicted_SLG | 0.500 | 0.023 |
| predicted_SO | 1.000 | -0.051 |
Step 3: 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 | 3.586 | 0.000 |
| predicted_AVG | 0.260 | -0.004 |
| predicted_BB | 0.375 | -0.001 |
| predicted_H | 0.932 | -0.013 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.216 | -0.003 |
| predicted_OBP | 0.330 | -0.007 |
| predicted_R | 0.411 | -0.010 |
| predicted_RBI | 0.537 | -0.013 |
| predicted_SLG | 0.481 | -0.019 |
| predicted_SO | 1.002 | 0.002 |
AB rounded to 4 (raw=3.61), rates preserved: AVG=0.258 HR/AB=0.060
| 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 | 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.141 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.414 |
| predicted_AVG | 0.250 | -0.010 |
| predicted_BB | 0.000 | -0.375 |
| predicted_H | 1.000 | 0.068 |
| predicted_HR | 0.000 | -0.216 |
| predicted_OBP | 0.250 | -0.080 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 1.000 | 0.463 |
| predicted_SLG | 0.250 | -0.231 |
| predicted_SO | 1.000 | -0.002 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 8.000 | 1.000 | 0.000 | 3.000 | 5.000 | 4.000 | 2.000 | 3.000 | 0.4444 | 0.4762 | 1.0000 | 0.4444 | 0.1667 | 0.2778 | 0.1111 | 0.1667 |
| last_10 | 0.20 | 10 | - | 36.000 | 12.000 | 2.000 | 0.000 | 3.000 | 5.000 | 4.000 | 3.000 | 9.000 | 0.3333 | 0.3750 | 0.6389 | 0.3333 | 0.0833 | 0.1389 | 0.0833 | 0.2500 |
| season | 0.60 | 39 | - | 133.000 | 28.000 | 5.000 | 0.000 | 6.000 | 18.000 | 15.000 | 15.000 | 41.000 | 0.2105 | 0.2961 | 0.3835 | 0.2105 | 0.0451 | 0.1353 | 0.1128 | 0.3083 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1610 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5490 |
| predicted_AVG | 0.2767 |
| predicted_BB | 0.3610 |
| predicted_H | 0.9820 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.2480 |
| predicted_OBP | 0.3422 |
| predicted_R | 0.4740 |
| predicted_RBI | 0.5650 |
| predicted_SLG | 0.5334 |
| predicted_SO | 0.9240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.1610 | 0.1413 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.6100 | 3.5490 | 3.5855 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2767 | 0.2637 | model_form_blend |
| predicted_BB | 0.3850 | 0.3610 | 0.3754 | model_form_blend |
| predicted_H | 0.9200 | 0.9820 | 0.9449 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.2000 | 0.2480 | 0.2193 | model_form_blend |
| predicted_OBP | 0.3330 | 0.3422 | 0.3367 | model_form_blend |
| predicted_R | 0.3850 | 0.4740 | 0.4208 | model_form_blend |
| predicted_RBI | 0.5400 | 0.5650 | 0.5500 | model_form_blend |
| predicted_SLG | 0.4770 | 0.5334 | 0.4997 | model_form_blend |
| predicted_SO | 1.0510 | 0.9240 | 1.0000 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 39 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 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 | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 668904 |
| playerID | 668904 |
| playerName | Royce Lewis |
| pos | 3B |
| started | True |
| startingPosition | 1B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 27.7 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.3 |
| sl_xwoba | 0.303 |
| sl_xba | 0.218 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 34.1 |
| sl_barrel_batted_rate | 13.2 |
| sl_hard_hit_percent | 41.8 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 34.6 |
| 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.172 | 0.000 | 0.000 | Hitting_2B | 0.210 | 0.000 | -0.210 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.410 | 3.000 | 3.000 | Hitting_AB | 3.487 | 2.000 | -0.487 | 1.000 |
| predicted_AVG | 0.226 | 0.000 | 0.333 | Hitting_AVG | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_BB | 0.448 | 1.000 | 0.000 | Hitting_BB | 0.513 | 0.000 | 0.487 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_H | 0.770 | 0.000 | 1.000 | Hitting_H | 0.979 | 0.000 | -0.979 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_OBP | 0.301 | 0.250 | 0.333 | Hitting_OBP | 0.384 | 0.000 | -0.134 | 0.250 |
| predicted_R | 0.431 | 0.000 | 0.000 | Hitting_R | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_SLG | 0.305 | 0.000 | 0.333 | Hitting_SLG | 0.385 | 0.000 | -0.385 | 0.000 |
| predicted_SO | 0.724 | 1.000 | 1.000 | Hitting_SO | 0.621 | 2.000 | 0.379 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.4480 -> 1.0000 (boost 0.5520, 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 | 4 | 1 | 3 | 0 | 4 | predicted_SO: 0.7240 -> 0.8222 (boost 0.0982, worse) | predicted_H: 0.7700 -> 0.7138 (deboost -0.0562, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.2845 -> 0.2953 (boost 0.0108, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.7042 -> 1.0000 (boost 0.2958, better) | predicted_BB: 0.4342 -> 0.0000 (deboost -0.4342, worse) | AB rounded to 3 (raw=3.41), rates preserved: AVG=0.206 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4435 -> 0.0000 (deboost -0.4435, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2077 -> 0.3330 (boost 0.1253, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2077 (deboost -0.1253, worse) | 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.172,
"predicted_3B": 0.0,
"predicted_AB": 3.41,
"predicted_AVG": 0.226,
"predicted_BB": 0.448,
"predicted_H": 0.77,
"predicted_HR": 0.06,
"predicted_OBP": 0.301,
"predicted_R": 0.431,
"predicted_RBI": 0.29,
"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.1537,
"predicted_3B": 0.0008,
"predicted_AB": 3.3909,
"predicted_AVG": 0.2106,
"predicted_BB": 0.4351,
"predicted_H": 0.7138,
"predicted_HBP": 0.097,
"predicted_HR": 0.0479,
"predicted_OBP": 0.2992,
"predicted_R": 0.4539,
"predicted_RBI": 0.2546,
"predicted_SLG": 0.2845,
"predicted_SO": 0.8222
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1537,
"delta": -0.0183,
"percent_delta": -0.1064,
"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": 3.41,
"after": 3.3909,
"delta": -0.0191,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2106,
"delta": -0.0154,
"percent_delta": -0.0681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.448,
"after": 0.4351,
"delta": -0.0129,
"percent_delta": -0.0288,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7138,
"delta": -0.0562,
"percent_delta": -0.073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0479,
"delta": -0.0121,
"percent_delta": -0.2017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2992,
"delta": -0.0018,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 0.4539,
"delta": 0.0229,
"percent_delta": 0.0531,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2546,
"delta": -0.0354,
"percent_delta": -0.1221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.305,
"after": 0.2845,
"delta": -0.0205,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.724,
"after": 0.8222,
"delta": 0.0982,
"percent_delta": 0.1356,
"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": 0.724,
"after": 0.8222,
"delta": 0.0982,
"percent_delta": 0.1356,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.77,
"after": 0.7138,
"delta": -0.0562,
"percent_delta": -0.073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1537,
"predicted_3B": 0.0008,
"predicted_AB": 3.3909,
"predicted_AVG": 0.2077,
"predicted_BB": 0.4342,
"predicted_H": 0.7042,
"predicted_HBP": 0.097,
"predicted_HR": 0.0473,
"predicted_OBP": 0.2976,
"predicted_R": 0.4435,
"predicted_RBI": 0.2487,
"predicted_SLG": 0.2953,
"predicted_SO": 0.8238
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1537,
"after": 0.1537,
"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.3909,
"after": 3.3909,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2106,
"after": 0.2077,
"delta": -0.0029,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4351,
"after": 0.4342,
"delta": -0.0009,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7138,
"after": 0.7042,
"delta": -0.0096,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0479,
"after": 0.0473,
"delta": -0.0006,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2992,
"after": 0.2976,
"delta": -0.0016,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4539,
"after": 0.4435,
"delta": -0.0104,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2546,
"after": 0.2487,
"delta": -0.0059,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2845,
"after": 0.2953,
"delta": 0.0108,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8222,
"after": 0.8238,
"delta": 0.0016,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2845,
"after": 0.2953,
"delta": 0.0108,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.41), rates preserved: AVG=0.206 HR/AB=0.014",
"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.1537,
"after": 0.0,
"delta": -0.1537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3909,
"after": 3.0,
"delta": -0.3909,
"percent_delta": -0.1153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4342,
"after": 0.0,
"delta": -0.4342,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7042,
"after": 1.0,
"delta": 0.2958,
"percent_delta": 0.4201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.0473,
"after": 0.0,
"delta": -0.0473,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2487,
"after": 0.0,
"delta": -0.2487,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8238,
"after": 1.0,
"delta": 0.1762,
"percent_delta": 0.2139,
"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_H",
"before": 0.7042,
"after": 1.0,
"delta": 0.2958,
"percent_delta": 0.4201,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4342,
"after": 0.0,
"delta": -0.4342,
"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.4435,
"after": 0.0,
"delta": -0.4435,
"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.4435,
"after": 0.0,
"delta": -0.4435,
"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.2077,
"after": 0.333,
"delta": 0.1253,
"percent_delta": 0.6033,
"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.2976,
"after": 0.333,
"delta": 0.0354,
"percent_delta": 0.119,
"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.2953,
"after": 0.333,
"delta": 0.0377,
"percent_delta": 0.1277,
"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.2077,
"after": 0.333,
"delta": 0.1253,
"percent_delta": 0.6033,
"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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2077,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2976,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2953,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2077,
"delta": -0.1253,
"percent_delta": -0.3764,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2976,
"delta": -0.0354,
"percent_delta": -0.1063,
"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.2953,
"delta": -0.0377,
"percent_delta": -0.1133,
"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.2077,
"delta": -0.1253,
"percent_delta": -0.3764,
"direction": "deboost",
"projection_effect": "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": 0.0,
"delta": -0.172,
"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.41,
"after": 3.0,
"delta": -0.41,
"percent_delta": -0.1202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2077,
"delta": -0.0183,
"percent_delta": -0.081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2976,
"delta": -0.0034,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.431,
"after": 0.0,
"delta": -0.431,
"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.305,
"after": 0.2953,
"delta": -0.0097,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.724,
"after": 1.0,
"delta": 0.276,
"percent_delta": 0.3812,
"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.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"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.172 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.410 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.448 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.431 | - |
| predicted_RBI | 0.290 | - |
| 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.154 | -0.018 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.391 | -0.019 |
| predicted_AVG | 0.211 | -0.015 |
| predicted_BB | 0.435 | -0.013 |
| predicted_H | 0.714 | -0.056 |
| predicted_HBP | 0.097 | - |
| predicted_HR | 0.048 | -0.012 |
| predicted_OBP | 0.299 | -0.002 |
| predicted_R | 0.454 | 0.023 |
| predicted_RBI | 0.255 | -0.035 |
| predicted_SLG | 0.284 | -0.021 |
| predicted_SO | 0.822 | 0.098 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.391 | 0.000 |
| predicted_AVG | 0.208 | -0.003 |
| predicted_BB | 0.434 | -0.001 |
| predicted_H | 0.704 | -0.010 |
| predicted_HBP | 0.097 | 0.000 |
| predicted_HR | 0.047 | -0.001 |
| predicted_OBP | 0.298 | -0.002 |
| predicted_R | 0.444 | -0.010 |
| predicted_RBI | 0.249 | -0.006 |
| predicted_SLG | 0.295 | 0.011 |
| predicted_SO | 0.824 | 0.002 |
AB rounded to 3 (raw=3.41), rates preserved: AVG=0.206 HR/AB=0.014
| 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.154 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.391 |
| predicted_AVG | 0.333 | 0.125 |
| predicted_BB | 0.000 | -0.434 |
| predicted_H | 1.000 | 0.296 |
| predicted_HR | 0.000 | -0.047 |
| predicted_OBP | 0.333 | 0.035 |
| predicted_R | 0.000 | -0.444 |
| predicted_RBI | 0.000 | -0.249 |
| predicted_SLG | 0.333 | 0.038 |
| predicted_SO | 1.000 | 0.176 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 7.000 | 0.0667 | 0.2222 | 0.0667 | 0.0667 | 0.0000 | 0.0000 | 0.1333 | 0.4667 |
| last_10 | 0.20 | 10 | - | 33.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 5.000 | 4.000 | 12.000 | 0.1212 | 0.2368 | 0.1515 | 0.1212 | 0.0000 | 0.0000 | 0.1212 | 0.3636 |
| season | 0.60 | 58 | - | 197.000 | 47.000 | 10.000 | 0.000 | 2.000 | 17.000 | 25.000 | 26.000 | 42.000 | 0.2386 | 0.3377 | 0.3198 | 0.2386 | 0.0101 | 0.0863 | 0.1320 | 0.2132 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1280 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3640 |
| predicted_AVG | 0.1889 |
| predicted_BB | 0.4170 |
| predicted_H | 0.6350 |
| predicted_HBP | 0.0970 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.2966 |
| predicted_R | 0.4860 |
| predicted_RBI | 0.2050 |
| predicted_SLG | 0.2558 |
| predicted_SO | 0.9600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1280 | 0.1537 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.4100 | 3.3640 | 3.3909 | model_form_blend |
| predicted_AVG | 0.2260 | 0.1889 | 0.2106 | model_form_blend |
| predicted_BB | 0.4480 | 0.4170 | 0.4351 | model_form_blend |
| predicted_H | 0.7700 | 0.6350 | 0.7138 | model_form_blend |
| predicted_HBP | - | 0.0970 | 0.0970 | form_only |
| predicted_HR | 0.0600 | 0.0310 | 0.0479 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2966 | 0.2992 | model_form_blend |
| predicted_R | 0.4310 | 0.4860 | 0.4539 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2050 | 0.2546 | model_form_blend |
| predicted_SLG | 0.3050 | 0.2558 | 0.2845 | model_form_blend |
| predicted_SO | 0.7240 | 0.9600 | 0.8222 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 58 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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-RF |
| gameID | 20260614_STL@MIN |
| game_type | ph |
| mlbID | 668885 |
| note | Struck out for Gray, T in the 7th. |
| playerID | 668885 |
| playerName | Austin Martin |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 17.4 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.314 |
| sl_xwoba | 0.314 |
| sl_xba | 0.242 |
| sl_xslg | 0.329 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 28.2 |
| sl_exit_velocity_avg | 86.8 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 39.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.237 | 1.000 | 0.000 | Hitting_2B | 0.235 | 0.000 | 0.765 | 1.000 |
| predicted_3B | 0.034 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 3.508 | 4.000 | 4.000 | Hitting_AB | 3.628 | 4.000 | 0.372 | 0.000 |
| predicted_AVG | 0.256 | 0.250 | 0.250 | Hitting_AVG | 0.235 | 0.500 | 0.015 | -0.250 |
| predicted_BB | 0.254 | 0.000 | 0.000 | Hitting_BB | 0.328 | 0.000 | -0.328 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.380 | 1.000 | 1.000 | Hitting_H | 0.852 | 2.000 | 0.148 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.142 | 0.000 | -0.142 | 0.000 |
| predicted_OBP | 0.304 | 0.250 | 0.250 | Hitting_OBP | 0.317 | 0.500 | -0.067 | -0.250 |
| predicted_R | 0.492 | 1.000 | 0.000 | Hitting_R | 0.481 | 0.000 | 0.519 | 1.000 |
| predicted_RBI | 0.240 | 1.000 | 0.000 | Hitting_RBI | 0.421 | 0.000 | 0.579 | 1.000 |
| predicted_SLG | 0.472 | 0.500 | 0.250 | Hitting_SLG | 0.435 | 0.500 | 0.065 | 0.000 |
| predicted_SO | 0.847 | 1.000 | 1.000 | Hitting_SO | 0.907 | 0.000 | 0.093 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.2370 -> 1.0000 (boost 0.7630, better) |
| Biggest Deboost | predicted_BB: 0.2540 -> 0.0000 (deboost -0.2540, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 7 | 6 | 1 | 7 | 0 | predicted_H: 0.3800 -> 0.6316 (boost 0.2516, better) | predicted_SO: 0.8470 -> 0.7888 (deboost -0.0582, better) | Final model input calibrated with local 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.4965 -> 0.3721 (deboost -0.1244, 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.5317 -> 4.0000 (boost 0.4683, better) | predicted_RBI: 0.3604 -> 0.0000 (deboost -0.3604, worse) | AB rounded to 4 (raw=3.53), rates preserved: AVG=0.176 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4957 -> 0.0000 (deboost -0.4957, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1764 -> 0.2500 (boost 0.0736, better) | predicted_SLG: 0.3721 -> 0.2500 (deboost -0.1221, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_2B: 0.0000 -> 1.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.2500 -> 0.3721 (boost 0.1221, better) | predicted_AVG: 0.2500 -> 0.1764 (deboost -0.0736, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665019",
"player_name": "Kody Clemens",
"position": "1B",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.237,
"predicted_3B": 0.034,
"predicted_AB": 3.508,
"predicted_AVG": 0.256,
"predicted_BB": 0.254,
"predicted_H": 0.38,
"predicted_HR": 0.08,
"predicted_OBP": 0.304,
"predicted_R": 0.492,
"predicted_RBI": 0.24,
"predicted_SLG": 0.472,
"predicted_SO": 0.847
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2366,
"predicted_3B": 0.0282,
"predicted_AB": 3.5317,
"predicted_AVG": 0.2645,
"predicted_BB": 0.2411,
"predicted_H": 0.6316,
"predicted_HBP": 0.049,
"predicted_HR": 0.1345,
"predicted_OBP": 0.3143,
"predicted_R": 0.5074,
"predicted_RBI": 0.3689,
"predicted_SLG": 0.4965,
"predicted_SO": 0.7888
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.2366,
"delta": -0.0004,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.034,
"after": 0.0282,
"delta": -0.0058,
"percent_delta": -0.1706,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.508,
"after": 3.5317,
"delta": 0.0237,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.2645,
"delta": 0.0085,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.254,
"after": 0.2411,
"delta": -0.0129,
"percent_delta": -0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 0.6316,
"delta": 0.2516,
"percent_delta": 0.6621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1345,
"delta": 0.0545,
"percent_delta": 0.6813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.3143,
"delta": 0.0103,
"percent_delta": 0.0339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.5074,
"delta": 0.0154,
"percent_delta": 0.0313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.3689,
"delta": 0.1289,
"percent_delta": 0.5371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.4965,
"delta": 0.0245,
"percent_delta": 0.0519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.847,
"after": 0.7888,
"delta": -0.0582,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 6,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.38,
"after": 0.6316,
"delta": 0.2516,
"percent_delta": 0.6621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.847,
"after": 0.7888,
"delta": -0.0582,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2366,
"predicted_3B": 0.0282,
"predicted_AB": 3.5317,
"predicted_AVG": 0.1764,
"predicted_BB": 0.2406,
"predicted_H": 0.6231,
"predicted_HBP": 0.049,
"predicted_HR": 0.1327,
"predicted_OBP": 0.229,
"predicted_R": 0.4957,
"predicted_RBI": 0.3604,
"predicted_SLG": 0.3721,
"predicted_SO": 0.7904
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2366,
"after": 0.2366,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0282,
"after": 0.0282,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5317,
"after": 3.5317,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2645,
"after": 0.1764,
"delta": -0.0881,
"percent_delta": -0.3331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2411,
"after": 0.2406,
"delta": -0.0005,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6316,
"after": 0.6231,
"delta": -0.0085,
"percent_delta": -0.0135,
"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.1345,
"after": 0.1327,
"delta": -0.0018,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3143,
"after": 0.229,
"delta": -0.0853,
"percent_delta": -0.2714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5074,
"after": 0.4957,
"delta": -0.0117,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3689,
"after": 0.3604,
"delta": -0.0085,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4965,
"after": 0.3721,
"delta": -0.1244,
"percent_delta": -0.2506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7888,
"after": 0.7904,
"delta": 0.0016,
"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.4965,
"after": 0.3721,
"delta": -0.1244,
"percent_delta": -0.2506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.53), rates preserved: AVG=0.176 HR/AB=0.038",
"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.2366,
"after": 0.0,
"delta": -0.2366,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0282,
"after": 0.0,
"delta": -0.0282,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5317,
"after": 4.0,
"delta": 0.4683,
"percent_delta": 0.1326,
"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": 0.6231,
"after": 1.0,
"delta": 0.3769,
"percent_delta": 0.6049,
"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.1327,
"after": 0.0,
"delta": -0.1327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3604,
"after": 0.0,
"delta": -0.3604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7904,
"after": 1.0,
"delta": 0.2096,
"percent_delta": 0.2652,
"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.5317,
"after": 4.0,
"delta": 0.4683,
"percent_delta": 0.1326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3604,
"after": 0.0,
"delta": -0.3604,
"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.4957,
"after": 0.0,
"delta": -0.4957,
"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.4957,
"after": 0.0,
"delta": -0.4957,
"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.1764,
"after": 0.25,
"delta": 0.0736,
"percent_delta": 0.4172,
"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.229,
"after": 0.25,
"delta": 0.021,
"percent_delta": 0.0917,
"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.3721,
"after": 0.25,
"delta": -0.1221,
"percent_delta": -0.3281,
"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.1764,
"after": 0.25,
"delta": 0.0736,
"percent_delta": 0.4172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3721,
"after": 0.25,
"delta": -0.1221,
"percent_delta": -0.3281,
"direction": "deboost",
"projection_effect": "worse",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1764,
"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.229,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3721,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1764,
"delta": -0.0736,
"percent_delta": -0.2943,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.229,
"delta": -0.021,
"percent_delta": -0.0842,
"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.3721,
"delta": 0.1221,
"percent_delta": 0.4884,
"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.3721,
"delta": 0.1221,
"percent_delta": 0.4884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1764,
"delta": -0.0736,
"percent_delta": -0.2943,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.763,
"percent_delta": 3.2194,
"direction": "boost",
"projection_effect": "better",
"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": 3.508,
"after": 4.0,
"delta": 0.492,
"percent_delta": 0.1403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.256,
"after": 0.1764,
"delta": -0.0796,
"percent_delta": -0.3109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.38,
"after": 1.0,
"delta": 0.62,
"percent_delta": 1.6316,
"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.304,
"after": 0.229,
"delta": -0.075,
"percent_delta": -0.2467,
"direction": "deboost",
"projection_effect": "worse",
"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.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.472,
"after": 0.3721,
"delta": -0.0999,
"percent_delta": -0.2117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.847,
"after": 1.0,
"delta": 0.153,
"percent_delta": 0.1806,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.237,
"after": 1.0,
"delta": 0.763,
"percent_delta": 3.2194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.254,
"after": 0.0,
"delta": -0.254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | - |
| predicted_3B | 0.034 | - |
| predicted_AB | 3.508 | - |
| predicted_AVG | 0.256 | - |
| predicted_BB | 0.254 | - |
| predicted_H | 0.380 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.472 | - |
| predicted_SO | 0.847 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | -0.000 |
| predicted_3B | 0.028 | -0.006 |
| predicted_AB | 3.532 | 0.024 |
| predicted_AVG | 0.265 | 0.009 |
| predicted_BB | 0.241 | -0.013 |
| predicted_H | 0.632 | 0.252 |
| predicted_HBP | 0.049 | - |
| predicted_HR | 0.135 | 0.055 |
| predicted_OBP | 0.314 | 0.010 |
| predicted_R | 0.507 | 0.015 |
| predicted_RBI | 0.369 | 0.129 |
| predicted_SLG | 0.496 | 0.025 |
| predicted_SO | 0.789 | -0.058 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | 0.000 |
| predicted_3B | 0.028 | 0.000 |
| predicted_AB | 3.532 | 0.000 |
| predicted_AVG | 0.176 | -0.088 |
| predicted_BB | 0.241 | -0.001 |
| predicted_H | 0.623 | -0.009 |
| predicted_HBP | 0.049 | 0.000 |
| predicted_HR | 0.133 | -0.002 |
| predicted_OBP | 0.229 | -0.085 |
| predicted_R | 0.496 | -0.012 |
| predicted_RBI | 0.360 | -0.009 |
| predicted_SLG | 0.372 | -0.124 |
| predicted_SO | 0.790 | 0.002 |
AB rounded to 4 (raw=3.53), rates preserved: AVG=0.176 HR/AB=0.038
| 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.237 |
| predicted_3B | 0.000 | -0.028 |
| predicted_AB | 4.000 | 0.468 |
| predicted_AVG | 0.250 | 0.074 |
| predicted_BB | 0.000 | -0.241 |
| predicted_H | 1.000 | 0.377 |
| predicted_HR | 0.000 | -0.133 |
| predicted_OBP | 0.250 | 0.021 |
| predicted_R | 0.000 | -0.496 |
| predicted_RBI | 0.000 | -0.360 |
| predicted_SLG | 0.250 | -0.122 |
| predicted_SO | 1.000 | 0.210 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 2.000 | 0.2941 | 0.3333 | 0.5294 | 0.2941 | 0.0588 | 0.2353 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 37.000 | 13.000 | 3.000 | 0.000 | 4.000 | 7.000 | 8.000 | 1.000 | 5.000 | 0.3514 | 0.3684 | 0.7568 | 0.3513 | 0.1081 | 0.1892 | 0.0270 | 0.1351 |
| season | 0.60 | 59 | - | 207.000 | 52.000 | 14.000 | 2.000 | 10.000 | 25.000 | 29.000 | 15.000 | 50.000 | 0.2512 | 0.3172 | 0.4831 | 0.2512 | 0.0483 | 0.1208 | 0.0725 | 0.2415 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2360 |
| predicted_3B | 0.0200 |
| predicted_AB | 3.5650 |
| predicted_AVG | 0.2764 |
| predicted_BB | 0.2230 |
| predicted_H | 0.9850 |
| predicted_HBP | 0.0490 |
| predicted_HR | 0.2110 |
| predicted_OBP | 0.3287 |
| predicted_R | 0.5290 |
| predicted_RBI | 0.5500 |
| predicted_SLG | 0.5310 |
| predicted_SO | 0.7070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2370 | 0.2360 | 0.2366 | model_form_blend |
| predicted_3B | 0.0340 | 0.0200 | 0.0282 | model_form_blend |
| predicted_AB | 3.5080 | 3.5650 | 3.5317 | model_form_blend |
| predicted_AVG | 0.2560 | 0.2764 | 0.2645 | model_form_blend |
| predicted_BB | 0.2540 | 0.2230 | 0.2411 | model_form_blend |
| predicted_H | 0.3800 | 0.9850 | 0.6316 | model_form_blend |
| predicted_HBP | - | 0.0490 | 0.0490 | form_only |
| predicted_HR | 0.0800 | 0.2110 | 0.1345 | model_form_blend |
| predicted_OBP | 0.3040 | 0.3287 | 0.3143 | model_form_blend |
| predicted_R | 0.4920 | 0.5290 | 0.5074 | model_form_blend |
| predicted_RBI | 0.2400 | 0.5500 | 0.3689 | model_form_blend |
| predicted_SLG | 0.4720 | 0.5310 | 0.4965 | model_form_blend |
| predicted_SO | 0.8470 | 0.7070 | 0.7888 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 59 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 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 | 1 |
| 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 | 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 | 20260614_STL@MIN |
| game_type | full |
| mlbID | 665019 |
| playerID | 665019 |
| playerName | Kody Clemens |
| pos | 1B |
| started | True |
| startingPosition | RF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.347 |
| sl_xwoba | 0.333 |
| sl_xba | 0.248 |
| sl_xslg | 0.447 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 43.9 |
| sl_exit_velocity_avg | 92.5 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 48.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.213 | 0.000 | 0.000 | Hitting_2B | 0.229 | 1.000 | -0.229 | -1.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 4.550 | 4.000 | 5.000 | Hitting_AB | 4.255 | 5.000 | -0.255 | -1.000 |
| predicted_AVG | 0.265 | 0.000 | 0.200 | Hitting_AVG | 0.273 | 0.600 | -0.273 | -0.600 |
| predicted_BB | 0.328 | 0.000 | 0.000 | Hitting_BB | 0.342 | 0.000 | -0.342 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.210 | 0.000 | 1.000 | Hitting_H | 1.160 | 3.000 | -1.160 | -3.000 |
| predicted_HR | 0.340 | 0.000 | 0.000 | Hitting_HR | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_OBP | 0.367 | 0.000 | 0.200 | Hitting_OBP | 0.332 | 0.600 | -0.332 | -0.600 |
| predicted_R | 0.770 | 0.000 | 1.000 | Hitting_R | 0.835 | 0.000 | -0.835 | 0.000 |
| predicted_RBI | 0.720 | 0.000 | 1.000 | Hitting_RBI | 0.619 | 1.000 | -0.619 | -1.000 |
| predicted_SLG | 0.595 | 0.000 | 0.200 | Hitting_SLG | 0.603 | 0.800 | -0.603 | -0.800 |
| predicted_SO | 1.180 | 1.000 | 1.000 | Hitting_SO | 1.238 | 2.000 | -0.238 | -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_AVG: 0.2650 -> 0.2895 (boost 0.0245, better) |
| Biggest Deboost | predicted_H: 1.2100 -> 0.0000 (deboost -1.2100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 5 | 1 | predicted_SLG: 0.5950 -> 0.6516 (boost 0.0566, better) | predicted_AB: 4.5500 -> 4.2973 (deboost -0.2527, 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.6516 -> 0.6083 (deboost -0.0433, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 4.2973 -> 5.0000 (boost 0.7027, better) | predicted_HR: 0.3645 -> 0.0000 (deboost -0.3645, worse) | AB rounded to 5 (raw=4.55), rates preserved: AVG=0.273 HR/AB=0.080 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7540 -> 1.0000 (boost 0.2460, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.6083 -> 0.2000 (deboost -0.4083, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.6083 (boost 0.4083, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621439",
"player_name": "Byron Buxton",
"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.213,
"predicted_3B": 0.016,
"predicted_AB": 4.55,
"predicted_AVG": 0.265,
"predicted_BB": 0.328,
"predicted_H": 1.21,
"predicted_HR": 0.34,
"predicted_OBP": 0.367,
"predicted_R": 0.77,
"predicted_RBI": 0.72,
"predicted_SLG": 0.595,
"predicted_SO": 1.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.2496,
"predicted_3B": 0.0135,
"predicted_AB": 4.2973,
"predicted_AVG": 0.2954,
"predicted_BB": 0.3305,
"predicted_H": 1.261,
"predicted_HBP": 0.029,
"predicted_HR": 0.3695,
"predicted_OBP": 0.3776,
"predicted_R": 0.7717,
"predicted_RBI": 0.7238,
"predicted_SLG": 0.6516,
"predicted_SO": 1.1143
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.2496,
"delta": 0.0366,
"percent_delta": 0.1718,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0135,
"delta": -0.0025,
"percent_delta": -0.1563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.55,
"after": 4.2973,
"delta": -0.2527,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2954,
"delta": 0.0304,
"percent_delta": 0.1147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 0.3305,
"delta": 0.0025,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.21,
"after": 1.261,
"delta": 0.051,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.34,
"after": 0.3695,
"delta": 0.0295,
"percent_delta": 0.0868,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3776,
"delta": 0.0106,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.77,
"after": 0.7717,
"delta": 0.0017,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.7238,
"delta": 0.0038,
"percent_delta": 0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.595,
"after": 0.6516,
"delta": 0.0566,
"percent_delta": 0.0951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.18,
"after": 1.1143,
"delta": -0.0657,
"percent_delta": -0.0557,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.595,
"after": 0.6516,
"delta": 0.0566,
"percent_delta": 0.0951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.55,
"after": 4.2973,
"delta": -0.2527,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 61
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2496,
"predicted_3B": 0.0135,
"predicted_AB": 4.2973,
"predicted_AVG": 0.2895,
"predicted_BB": 0.3298,
"predicted_H": 1.244,
"predicted_HBP": 0.029,
"predicted_HR": 0.3645,
"predicted_OBP": 0.3401,
"predicted_R": 0.754,
"predicted_RBI": 0.7072,
"predicted_SLG": 0.6083,
"predicted_SO": 1.1165
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2496,
"after": 0.2496,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2973,
"after": 4.2973,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2954,
"after": 0.2895,
"delta": -0.0059,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3305,
"after": 0.3298,
"delta": -0.0007,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.261,
"after": 1.244,
"delta": -0.017,
"percent_delta": -0.0135,
"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.3695,
"after": 0.3645,
"delta": -0.005,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3776,
"after": 0.3401,
"delta": -0.0375,
"percent_delta": -0.0993,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7717,
"after": 0.754,
"delta": -0.0177,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7238,
"after": 0.7072,
"delta": -0.0166,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6516,
"after": 0.6083,
"delta": -0.0433,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1143,
"after": 1.1165,
"delta": 0.0022,
"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.6516,
"after": 0.6083,
"delta": -0.0433,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.55), rates preserved: AVG=0.273 HR/AB=0.080",
"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.2496,
"after": 0.0,
"delta": -0.2496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0,
"delta": -0.0135,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2973,
"after": 5.0,
"delta": 0.7027,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3298,
"after": 0.0,
"delta": -0.3298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.244,
"after": 1.0,
"delta": -0.244,
"percent_delta": -0.1961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3645,
"after": 0.0,
"delta": -0.3645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7072,
"after": 1.0,
"delta": 0.2928,
"percent_delta": 0.414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1165,
"after": 1.0,
"delta": -0.1165,
"percent_delta": -0.1043,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.2973,
"after": 5.0,
"delta": 0.7027,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3645,
"after": 0.0,
"delta": -0.3645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.754,
"after": 1.0,
"delta": 0.246,
"percent_delta": 0.3263,
"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.754,
"after": 1.0,
"delta": 0.246,
"percent_delta": 0.3263,
"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.2895,
"after": 0.2,
"delta": -0.0895,
"percent_delta": -0.3092,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3401,
"after": 0.2,
"delta": -0.1401,
"percent_delta": -0.4119,
"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.6083,
"after": 0.2,
"delta": -0.4083,
"percent_delta": -0.6712,
"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.6083,
"after": 0.2,
"delta": -0.4083,
"percent_delta": -0.6712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2895,
"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.3401,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6083,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2895,
"delta": 0.0895,
"percent_delta": 0.4474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3401,
"delta": 0.1401,
"percent_delta": 0.7006,
"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.6083,
"delta": 0.4083,
"percent_delta": 2.0417,
"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.6083,
"delta": 0.4083,
"percent_delta": 2.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.0,
"delta": -0.213,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.55,
"after": 4.0,
"delta": -0.55,
"percent_delta": -0.1209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2895,
"delta": 0.0245,
"percent_delta": 0.0925,
"direction": "boost",
"projection_effect": "better",
"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": 1.21,
"after": 0.0,
"delta": -1.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3401,
"delta": -0.0269,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.77,
"after": 0.0,
"delta": -0.77,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.72,
"after": 0.0,
"delta": -0.72,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.595,
"after": 0.6083,
"delta": 0.0133,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.18,
"after": 1.0,
"delta": -0.18,
"percent_delta": -0.1525,
"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_AVG",
"before": 0.265,
"after": 0.2895,
"delta": 0.0245,
"percent_delta": 0.0925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.21,
"after": 0.0,
"delta": -1.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 4.550 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.328 | - |
| predicted_H | 1.210 | - |
| predicted_HR | 0.340 | - |
| predicted_OBP | 0.367 | - |
| predicted_R | 0.770 | - |
| predicted_RBI | 0.720 | - |
| predicted_SLG | 0.595 | - |
| predicted_SO | 1.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.250 | 0.037 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 4.297 | -0.253 |
| predicted_AVG | 0.295 | 0.030 |
| predicted_BB | 0.331 | 0.003 |
| predicted_H | 1.261 | 0.051 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.369 | 0.029 |
| predicted_OBP | 0.378 | 0.011 |
| predicted_R | 0.772 | 0.002 |
| predicted_RBI | 0.724 | 0.004 |
| predicted_SLG | 0.652 | 0.057 |
| predicted_SO | 1.114 | -0.066 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.297 | 0.000 |
| predicted_AVG | 0.289 | -0.006 |
| predicted_BB | 0.330 | -0.001 |
| predicted_H | 1.244 | -0.017 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.364 | -0.005 |
| predicted_OBP | 0.340 | -0.037 |
| predicted_R | 0.754 | -0.018 |
| predicted_RBI | 0.707 | -0.017 |
| predicted_SLG | 0.608 | -0.043 |
| predicted_SO | 1.117 | 0.002 |
AB rounded to 5 (raw=4.55), rates preserved: AVG=0.273 HR/AB=0.080
| 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.250 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 5.000 | 0.703 |
| predicted_AVG | 0.200 | -0.089 |
| predicted_BB | 0.000 | -0.330 |
| predicted_H | 1.000 | -0.244 |
| predicted_HR | 0.000 | -0.364 |
| predicted_OBP | 0.200 | -0.140 |
| predicted_R | 1.000 | 0.246 |
| predicted_RBI | 1.000 | 0.293 |
| predicted_SLG | 0.200 | -0.408 |
| predicted_SO | 1.000 | -0.117 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 10.000 | 3.000 | 0.000 | 3.000 | 6.000 | 5.000 | 2.000 | 4.000 | 0.5263 | 0.5714 | 1.1579 | 0.5263 | 0.1579 | 0.3158 | 0.1053 | 0.2105 |
| last_10 | 0.20 | 10 | - | 37.000 | 14.000 | 3.000 | 0.000 | 5.000 | 8.000 | 7.000 | 3.000 | 9.000 | 0.3784 | 0.4250 | 0.8649 | 0.3784 | 0.1351 | 0.2162 | 0.0811 | 0.2432 |
| season | 0.60 | 61 | - | 250.000 | 69.000 | 13.000 | 1.000 | 22.000 | 35.000 | 47.000 | 20.000 | 72.000 | 0.2760 | 0.3358 | 0.6000 | 0.2760 | 0.0880 | 0.1400 | 0.0800 | 0.2880 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3000 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.9500 |
| predicted_AVG | 0.3371 |
| predicted_BB | 0.3340 |
| predicted_H | 1.3310 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.4100 |
| predicted_OBP | 0.3921 |
| predicted_R | 0.7740 |
| predicted_RBI | 0.7290 |
| predicted_SLG | 0.7295 |
| predicted_SO | 1.0240 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2130 | 0.3000 | 0.2496 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0135 | model_form_blend |
| predicted_AB | 4.5500 | 3.9500 | 4.2973 | model_form_blend |
| predicted_AVG | 0.2650 | 0.3371 | 0.2954 | model_form_blend |
| predicted_BB | 0.3280 | 0.3340 | 0.3305 | model_form_blend |
| predicted_H | 1.2100 | 1.3310 | 1.2610 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.3400 | 0.4100 | 0.3695 | model_form_blend |
| predicted_OBP | 0.3670 | 0.3921 | 0.3776 | model_form_blend |
| predicted_R | 0.7700 | 0.7740 | 0.7717 | model_form_blend |
| predicted_RBI | 0.7200 | 0.7290 | 0.7238 | model_form_blend |
| predicted_SLG | 0.5950 | 0.7295 | 0.6516 | model_form_blend |
| predicted_SO | 1.1800 | 1.0240 | 1.1143 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 61 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 621439 |
| playerID | 621439 |
| playerName | Byron Buxton |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 26.0 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.394 |
| sl_xwoba | 0.347 |
| sl_xba | 0.243 |
| sl_xslg | 0.51 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 19.3 |
| sl_hard_hit_percent | 47.7 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 21.8 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 53.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.167 | 0.000 | 0.000 | Hitting_2B | 0.178 | 1.000 | -0.178 | -1.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 3.600 | 3.000 | 4.000 | Hitting_AB | 3.676 | 3.000 | -0.676 | 0.000 |
| predicted_AVG | 0.245 | 0.000 | 0.250 | Hitting_AVG | 0.243 | 0.333 | -0.243 | -0.333 |
| predicted_BB | 0.364 | 1.000 | 0.000 | Hitting_BB | 0.400 | 1.000 | 0.600 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_H | 0.880 | 0.000 | 1.000 | Hitting_H | 0.893 | 1.000 | -0.893 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_OBP | 0.334 | 0.250 | 0.250 | Hitting_OBP | 0.325 | 0.500 | -0.075 | -0.250 |
| predicted_R | 0.485 | 0.000 | 1.000 | Hitting_R | 0.493 | 2.000 | -0.493 | -2.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_SLG | 0.376 | 0.000 | 0.250 | Hitting_SLG | 0.323 | 0.667 | -0.323 | -0.667 |
| predicted_SO | 0.636 | 0.000 | 1.000 | Hitting_SO | 0.636 | 0.000 | -0.636 | 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_BB: 0.3640 -> 1.0000 (boost 0.6360, better) |
| 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 3.6000 -> 3.5487 (deboost -0.0513, 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.3382 -> 0.3182 (deboost -0.0200, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_AB: 3.5487 -> 4.0000 (boost 0.4513, better) | predicted_BB: 0.3834 -> 0.0000 (deboost -0.3834, worse) | AB rounded to 4 (raw=3.60), rates preserved: AVG=0.241 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5018 -> 1.0000 (boost 0.4982, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2445 -> 0.2500 (boost 0.0055, better) | predicted_SLG: 0.3718 -> 0.2500 (deboost -0.1218, 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_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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3718 (boost 0.1218, better) | predicted_AVG: 0.2500 -> 0.2445 (deboost -0.0055, 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.167,
"predicted_3B": 0.015,
"predicted_AB": 3.6,
"predicted_AVG": 0.245,
"predicted_BB": 0.364,
"predicted_H": 0.88,
"predicted_HR": 0.09,
"predicted_OBP": 0.334,
"predicted_R": 0.485,
"predicted_RBI": 0.39,
"predicted_SLG": 0.376,
"predicted_SO": 0.636
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1653,
"predicted_3B": 0.0125,
"predicted_AB": 3.5487,
"predicted_AVG": 0.2483,
"predicted_BB": 0.3842,
"predicted_H": 0.8796,
"predicted_HBP": 0.094,
"predicted_HR": 0.0883,
"predicted_OBP": 0.3382,
"predicted_R": 0.5136,
"predicted_RBI": 0.3711,
"predicted_SLG": 0.3775,
"predicted_SO": 0.6642
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.1653,
"delta": -0.0017,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0125,
"delta": -0.0025,
"percent_delta": -0.1667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6,
"after": 3.5487,
"delta": -0.0513,
"percent_delta": -0.0142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2483,
"delta": 0.0033,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.3842,
"delta": 0.0202,
"percent_delta": 0.0555,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8796,
"delta": -0.0004,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0883,
"delta": -0.0017,
"percent_delta": -0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3382,
"delta": 0.0042,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 0.5136,
"delta": 0.0286,
"percent_delta": 0.059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3711,
"delta": -0.0189,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3775,
"delta": 0.0015,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.636,
"after": 0.6642,
"delta": 0.0282,
"percent_delta": 0.0443,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.6,
"after": 3.5487,
"delta": -0.0513,
"percent_delta": -0.0142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1653,
"predicted_3B": 0.0125,
"predicted_AB": 3.5487,
"predicted_AVG": 0.2445,
"predicted_BB": 0.3834,
"predicted_H": 0.8677,
"predicted_HBP": 0.094,
"predicted_HR": 0.0871,
"predicted_OBP": 0.3182,
"predicted_R": 0.5018,
"predicted_RBI": 0.3626,
"predicted_SLG": 0.3718,
"predicted_SO": 0.6655
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1653,
"after": 0.1653,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0125,
"after": 0.0125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5487,
"after": 3.5487,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2483,
"after": 0.2445,
"delta": -0.0038,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3842,
"after": 0.3834,
"delta": -0.0008,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8796,
"after": 0.8677,
"delta": -0.0119,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0883,
"after": 0.0871,
"delta": -0.0012,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3382,
"after": 0.3182,
"delta": -0.02,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5136,
"after": 0.5018,
"delta": -0.0118,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3711,
"after": 0.3626,
"delta": -0.0085,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3775,
"after": 0.3718,
"delta": -0.0057,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6642,
"after": 0.6655,
"delta": 0.0013,
"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.3382,
"after": 0.3182,
"delta": -0.02,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.60), rates preserved: AVG=0.241 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1653,
"after": 0.0,
"delta": -0.1653,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0125,
"after": 0.0,
"delta": -0.0125,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5487,
"after": 4.0,
"delta": 0.4513,
"percent_delta": 0.1272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3834,
"after": 0.0,
"delta": -0.3834,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8677,
"after": 1.0,
"delta": 0.1323,
"percent_delta": 0.1525,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0871,
"after": 0.0,
"delta": -0.0871,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3626,
"after": 0.0,
"delta": -0.3626,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6655,
"after": 1.0,
"delta": 0.3345,
"percent_delta": 0.5026,
"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": 3.5487,
"after": 4.0,
"delta": 0.4513,
"percent_delta": 0.1272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3834,
"after": 0.0,
"delta": -0.3834,
"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.5018,
"after": 1.0,
"delta": 0.4982,
"percent_delta": 0.9928,
"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.5018,
"after": 1.0,
"delta": 0.4982,
"percent_delta": 0.9928,
"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.2445,
"after": 0.25,
"delta": 0.0055,
"percent_delta": 0.0225,
"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.3182,
"after": 0.25,
"delta": -0.0682,
"percent_delta": -0.2143,
"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.3718,
"after": 0.25,
"delta": -0.1218,
"percent_delta": -0.3276,
"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.2445,
"after": 0.25,
"delta": 0.0055,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3718,
"after": 0.25,
"delta": -0.1218,
"percent_delta": -0.3276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2445,
"predicted_BB": 1.0,
"predicted_CS": 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.3718,
"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.2445,
"delta": -0.0055,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.3182,
"delta": 0.0682,
"percent_delta": 0.2728,
"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.3718,
"delta": 0.1218,
"percent_delta": 0.4872,
"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.3718,
"delta": 0.1218,
"percent_delta": 0.4872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2445,
"delta": -0.0055,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6,
"after": 3.0,
"delta": -0.6,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2445,
"delta": -0.0005,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 1.0,
"delta": 0.636,
"percent_delta": 1.7473,
"direction": "boost",
"projection_effect": "better",
"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.334,
"after": 0.3182,
"delta": -0.0158,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 0.0,
"delta": -0.485,
"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.376,
"after": 0.3718,
"delta": -0.0042,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.636,
"after": 0.0,
"delta": -0.636,
"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_BB",
"before": 0.364,
"after": 1.0,
"delta": 0.636,
"percent_delta": 1.7473,
"direction": "boost",
"projection_effect": "better",
"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.167 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.600 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.364 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.485 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.636 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | -0.002 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.549 | -0.051 |
| predicted_AVG | 0.248 | 0.003 |
| predicted_BB | 0.384 | 0.020 |
| predicted_H | 0.880 | -0.000 |
| predicted_HBP | 0.094 | - |
| predicted_HR | 0.088 | -0.002 |
| predicted_OBP | 0.338 | 0.004 |
| predicted_R | 0.514 | 0.029 |
| predicted_RBI | 0.371 | -0.019 |
| predicted_SLG | 0.378 | 0.002 |
| predicted_SO | 0.664 | 0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.549 | 0.000 |
| predicted_AVG | 0.244 | -0.004 |
| predicted_BB | 0.383 | -0.001 |
| predicted_H | 0.868 | -0.012 |
| predicted_HBP | 0.094 | 0.000 |
| predicted_HR | 0.087 | -0.001 |
| predicted_OBP | 0.318 | -0.020 |
| predicted_R | 0.502 | -0.012 |
| predicted_RBI | 0.363 | -0.009 |
| predicted_SLG | 0.372 | -0.006 |
| predicted_SO | 0.665 | 0.001 |
AB rounded to 4 (raw=3.60), rates preserved: AVG=0.241 HR/AB=0.024
| 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.165 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.451 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 0.000 | -0.383 |
| predicted_H | 1.000 | 0.132 |
| predicted_HR | 0.000 | -0.087 |
| predicted_OBP | 0.250 | -0.068 |
| predicted_R | 1.000 | 0.498 |
| predicted_RBI | 0.000 | -0.363 |
| predicted_SLG | 0.250 | -0.122 |
| predicted_SO | 1.000 | 0.335 |
Attached 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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 3.000 | 4.000 | 0.3125 | 0.4500 | 0.5625 | 0.3125 | 0.0625 | 0.1250 | 0.1875 | 0.2500 |
| last_10 | 0.20 | 10 | - | 32.000 | 7.000 | 1.000 | 0.000 | 1.000 | 2.000 | 5.000 | 4.000 | 7.000 | 0.2188 | 0.3243 | 0.3438 | 0.2188 | 0.0312 | 0.0625 | 0.1250 | 0.2188 |
| season | 0.60 | 66 | - | 237.000 | 58.000 | 11.000 | 1.000 | 2.000 | 23.000 | 32.000 | 24.000 | 42.000 | 0.2447 | 0.3209 | 0.3249 | 0.2447 | 0.0084 | 0.0970 | 0.1013 | 0.1772 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1630 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.4780 |
| predicted_AVG | 0.2528 |
| predicted_BB | 0.4120 |
| predicted_H | 0.8790 |
| predicted_HBP | 0.0940 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.3440 |
| predicted_R | 0.5530 |
| predicted_RBI | 0.3450 |
| predicted_SLG | 0.3796 |
| predicted_SO | 0.7030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1670 | 0.1630 | 0.1653 | model_form_blend |
| predicted_3B | 0.0150 | 0.0090 | 0.0125 | model_form_blend |
| predicted_AB | 3.6000 | 3.4780 | 3.5487 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2528 | 0.2483 | model_form_blend |
| predicted_BB | 0.3640 | 0.4120 | 0.3842 | model_form_blend |
| predicted_H | 0.8800 | 0.8790 | 0.8796 | model_form_blend |
| predicted_HBP | - | 0.0940 | 0.0940 | form_only |
| predicted_HR | 0.0900 | 0.0860 | 0.0883 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3440 | 0.3382 | model_form_blend |
| predicted_R | 0.4850 | 0.5530 | 0.5136 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3450 | 0.3711 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3796 | 0.3775 | model_form_blend |
| predicted_SO | 0.6360 | 0.7030 | 0.6642 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 2B |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 807712 |
| playerID | 807712 |
| playerName | Luke Keaschall |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 15.8 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.291 |
| sl_xwoba | 0.285 |
| sl_xba | 0.225 |
| sl_xslg | 0.33 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 3.1 |
| sl_hard_hit_percent | 28.2 |
| sl_exit_velocity_avg | 84.5 |
| sl_launch_angle_avg | 16.9 |
| sl_whiff_percent | 15.7 |
| sl_swing_percent | 41.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.186 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 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 | 4.000 | Hitting_AB | 3.776 | 4.000 | 0.224 | 0.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.225 | 0.500 | -0.225 | -0.500 |
| predicted_BB | 0.257 | 0.000 | 0.000 | Hitting_BB | 0.315 | 0.000 | -0.315 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.920 | 0.000 | 1.000 | Hitting_H | 0.849 | 2.000 | -0.849 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_OBP | 0.292 | 0.000 | 0.250 | Hitting_OBP | 0.286 | 0.500 | -0.286 | -0.500 |
| predicted_R | 0.471 | 0.000 | 0.000 | Hitting_R | 0.513 | 1.000 | -0.513 | -1.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.586 | 0.000 | -0.586 | 0.000 |
| predicted_SLG | 0.393 | 0.000 | 0.250 | Hitting_SLG | 0.350 | 0.500 | -0.350 | -0.500 |
| predicted_SO | 0.943 | 1.000 | 1.000 | Hitting_SO | 0.974 | 1.000 | 0.026 | 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_AB: 3.8000 -> 4.0000 (boost 0.2000, better) |
| Biggest Deboost | predicted_H: 0.9200 -> 0.0000 (deboost -0.9200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 3.8000 -> 3.7103 (deboost -0.0897, 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.3915 -> 0.3826 (deboost -0.0089, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5806 -> 1.0000 (boost 0.4194, better) | predicted_BB: 0.2178 -> 0.0000 (deboost -0.2178, worse) | AB rounded to 4 (raw=3.80), rates preserved: AVG=0.236 HR/AB=0.029 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4351 -> 0.0000 (deboost -0.4351, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2419 -> 0.2500 (boost 0.0081, better) | predicted_SLG: 0.3826 -> 0.2500 (deboost -0.1326, 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_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_SLG: 0.2500 -> 0.3826 (boost 0.1326, better) | predicted_AVG: 0.2500 -> 0.2419 (deboost -0.0081, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605137",
"player_name": "Josh Bell",
"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.186,
"predicted_3B": 0.0,
"predicted_AB": 3.8,
"predicted_AVG": 0.241,
"predicted_BB": 0.257,
"predicted_H": 0.92,
"predicted_HR": 0.12,
"predicted_OBP": 0.292,
"predicted_R": 0.471,
"predicted_RBI": 0.58,
"predicted_SLG": 0.393,
"predicted_SO": 0.943
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1885,
"predicted_3B": 0.0004,
"predicted_AB": 3.7103,
"predicted_AVG": 0.2447,
"predicted_BB": 0.2182,
"predicted_H": 0.9099,
"predicted_HBP": 0.018,
"predicted_HR": 0.1124,
"predicted_OBP": 0.2891,
"predicted_R": 0.4453,
"predicted_RBI": 0.5943,
"predicted_SLG": 0.3915,
"predicted_SO": 0.9093
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.1885,
"delta": 0.0025,
"percent_delta": 0.0134,
"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.8,
"after": 3.7103,
"delta": -0.0897,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2447,
"delta": 0.0037,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.2182,
"delta": -0.0388,
"percent_delta": -0.151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 0.9099,
"delta": -0.0101,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1124,
"delta": -0.0076,
"percent_delta": -0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2891,
"delta": -0.0029,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4453,
"delta": -0.0257,
"percent_delta": -0.0546,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5943,
"delta": 0.0143,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3915,
"delta": -0.0015,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.943,
"after": 0.9093,
"delta": -0.0337,
"percent_delta": -0.0357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.8,
"after": 3.7103,
"delta": -0.0897,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1885,
"predicted_3B": 0.0004,
"predicted_AB": 3.7103,
"predicted_AVG": 0.2419,
"predicted_BB": 0.2178,
"predicted_H": 0.8976,
"predicted_HBP": 0.018,
"predicted_HR": 0.1109,
"predicted_OBP": 0.284,
"predicted_R": 0.4351,
"predicted_RBI": 0.5806,
"predicted_SLG": 0.3826,
"predicted_SO": 0.9111
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1885,
"after": 0.1885,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7103,
"after": 3.7103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2447,
"after": 0.2419,
"delta": -0.0028,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2182,
"after": 0.2178,
"delta": -0.0004,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9099,
"after": 0.8976,
"delta": -0.0123,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1124,
"after": 0.1109,
"delta": -0.0015,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2891,
"after": 0.284,
"delta": -0.0051,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4453,
"after": 0.4351,
"delta": -0.0102,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5943,
"after": 0.5806,
"delta": -0.0137,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3915,
"after": 0.3826,
"delta": -0.0089,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9093,
"after": 0.9111,
"delta": 0.0018,
"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.3915,
"after": 0.3826,
"delta": -0.0089,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.80), rates preserved: AVG=0.236 HR/AB=0.029",
"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.1885,
"after": 0.0,
"delta": -0.1885,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7103,
"after": 4.0,
"delta": 0.2897,
"percent_delta": 0.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2178,
"after": 0.0,
"delta": -0.2178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8976,
"after": 1.0,
"delta": 0.1024,
"percent_delta": 0.1141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1109,
"after": 0.0,
"delta": -0.1109,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5806,
"after": 1.0,
"delta": 0.4194,
"percent_delta": 0.7224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9111,
"after": 1.0,
"delta": 0.0889,
"percent_delta": 0.0976,
"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.5806,
"after": 1.0,
"delta": 0.4194,
"percent_delta": 0.7224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2178,
"after": 0.0,
"delta": -0.2178,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4351,
"after": 0.0,
"delta": -0.4351,
"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.4351,
"after": 0.0,
"delta": -0.4351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2419,
"after": 0.25,
"delta": 0.0081,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.284,
"after": 0.25,
"delta": -0.034,
"percent_delta": -0.1197,
"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.3826,
"after": 0.25,
"delta": -0.1326,
"percent_delta": -0.3466,
"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.2419,
"after": 0.25,
"delta": 0.0081,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3826,
"after": 0.25,
"delta": -0.1326,
"percent_delta": -0.3466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2419,
"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.284,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3826,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2419,
"delta": -0.0081,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.284,
"delta": 0.034,
"percent_delta": 0.1358,
"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.3826,
"delta": 0.1326,
"percent_delta": 0.5304,
"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.3826,
"delta": 0.1326,
"percent_delta": 0.5304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2419,
"delta": -0.0081,
"percent_delta": -0.0323,
"direction": "deboost",
"projection_effect": "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.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.241,
"after": 0.2419,
"delta": 0.0009,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.0,
"delta": -0.257,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.284,
"delta": -0.008,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.0,
"delta": -0.471,
"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.393,
"after": 0.3826,
"delta": -0.0104,
"percent_delta": -0.0265,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.943,
"after": 1.0,
"delta": 0.057,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.8,
"after": 4.0,
"delta": 0.2,
"percent_delta": 0.0526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.92,
"after": 0.0,
"delta": -0.92,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.186 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.800 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.257 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.393 | - |
| predicted_SO | 0.943 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | 0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.710 | -0.090 |
| predicted_AVG | 0.245 | 0.004 |
| predicted_BB | 0.218 | -0.039 |
| predicted_H | 0.910 | -0.010 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.112 | -0.008 |
| predicted_OBP | 0.289 | -0.003 |
| predicted_R | 0.445 | -0.026 |
| predicted_RBI | 0.594 | 0.014 |
| predicted_SLG | 0.392 | -0.002 |
| predicted_SO | 0.909 | -0.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.189 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.710 | 0.000 |
| predicted_AVG | 0.242 | -0.003 |
| predicted_BB | 0.218 | -0.000 |
| predicted_H | 0.898 | -0.012 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.111 | -0.002 |
| predicted_OBP | 0.284 | -0.005 |
| predicted_R | 0.435 | -0.010 |
| predicted_RBI | 0.581 | -0.014 |
| predicted_SLG | 0.383 | -0.009 |
| predicted_SO | 0.911 | 0.002 |
AB rounded to 4 (raw=3.80), rates preserved: AVG=0.236 HR/AB=0.029
| 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 | 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.189 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.290 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 0.000 | -0.218 |
| predicted_H | 1.000 | 0.102 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.250 | -0.034 |
| predicted_R | 0.000 | -0.435 |
| predicted_RBI | 1.000 | 0.419 |
| predicted_SLG | 0.250 | -0.133 |
| 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 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 1.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 3.000 | 0.2941 | 0.2941 | 0.3529 | 0.2941 | 0.0000 | 0.1765 | 0.0000 | 0.1765 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 2.000 | 0.000 | 2.000 | 8.000 | 4.000 | 0.000 | 9.000 | 0.2571 | 0.2571 | 0.4857 | 0.2571 | 0.0571 | 0.2286 | 0.0000 | 0.2571 |
| season | 0.60 | 70 | - | 254.000 | 59.000 | 13.000 | 0.000 | 7.000 | 40.000 | 33.000 | 18.000 | 66.000 | 0.2323 | 0.2862 | 0.3661 | 0.2323 | 0.0276 | 0.1575 | 0.0709 | 0.2598 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1920 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5870 |
| predicted_AVG | 0.2497 |
| predicted_BB | 0.1650 |
| predicted_H | 0.8960 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.1020 |
| predicted_OBP | 0.2851 |
| predicted_R | 0.4100 |
| predicted_RBI | 0.6140 |
| predicted_SLG | 0.3895 |
| predicted_SO | 0.8630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.1920 | 0.1885 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8000 | 3.5870 | 3.7103 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2497 | 0.2447 | model_form_blend |
| predicted_BB | 0.2570 | 0.1650 | 0.2182 | model_form_blend |
| predicted_H | 0.9200 | 0.8960 | 0.9099 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1200 | 0.1020 | 0.1124 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2851 | 0.2891 | model_form_blend |
| predicted_R | 0.4710 | 0.4100 | 0.4453 | model_form_blend |
| predicted_RBI | 0.5800 | 0.6140 | 0.5943 | model_form_blend |
| predicted_SLG | 0.3930 | 0.3895 | 0.3915 | model_form_blend |
| predicted_SO | 0.9430 | 0.8630 | 0.9093 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | 20260614_STL@MIN |
| game_type | full |
| mlbID | 605137 |
| playerID | 605137 |
| playerName | Josh Bell |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.287 |
| sl_xwoba | 0.303 |
| sl_xba | 0.234 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 12.9 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 51.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.115 | 1.000 | 0.000 | Hitting_2B | 0.154 | 1.000 | 0.846 | 0.000 |
| predicted_3B | 0.038 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.831 | 2.000 | 1.169 | 2.000 |
| predicted_AVG | 0.296 | 0.250 | 0.333 | Hitting_AVG | 0.255 | 1.000 | -0.005 | -0.750 |
| predicted_BB | 0.269 | 0.000 | 0.000 | Hitting_BB | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_H | 0.610 | 1.000 | 1.000 | Hitting_H | 0.723 | 2.000 | 0.277 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_OBP | 0.331 | 0.250 | 0.333 | Hitting_OBP | 0.335 | 1.000 | -0.085 | -0.750 |
| predicted_R | 0.385 | 1.000 | 0.000 | Hitting_R | 0.523 | 1.000 | 0.477 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.462 | 1.000 | -0.462 | -1.000 |
| predicted_SLG | 0.431 | 0.500 | 0.333 | Hitting_SLG | 0.467 | 1.500 | 0.033 | -1.000 |
| predicted_SO | 0.615 | 1.000 | 1.000 | Hitting_SO | 0.892 | 0.000 | 0.108 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_RBI: 0.3800 -> 0.0000 (deboost -0.3800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AB: 2.5000 -> 2.5539 (boost 0.0539, better) | predicted_AVG: 0.2960 -> 0.2865 (deboost -0.0095, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2865 -> 0.2503 (deboost -0.0362, 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: 2.5539 -> 3.0000 (boost 0.4461, better) | predicted_RBI: 0.3873 -> 0.0000 (deboost -0.3873, worse) | AB rounded to 3 (raw=2.55), rates preserved: AVG=0.250 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3889 -> 0.0000 (deboost -0.3889, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2503 -> 0.3330 (boost 0.0827, better) | predicted_SLG: 0.4248 -> 0.3330 (deboost -0.0918, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_2B: 0.0000 -> 1.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.4248 (boost 0.0918, better) | predicted_AVG: 0.3330 -> 0.2503 (deboost -0.0827, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668952",
"player_name": "Ryan Kreidler",
"position": "SS",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.115,
"predicted_3B": 0.038,
"predicted_AB": 2.5,
"predicted_AVG": 0.296,
"predicted_BB": 0.269,
"predicted_H": 0.61,
"predicted_HR": 0.08,
"predicted_OBP": 0.331,
"predicted_R": 0.385,
"predicted_RBI": 0.38,
"predicted_SLG": 0.431,
"predicted_SO": 0.615
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1328,
"predicted_3B": 0.0391,
"predicted_AB": 2.5539,
"predicted_AVG": 0.2865,
"predicted_BB": 0.2715,
"predicted_H": 0.6479,
"predicted_HBP": 0.007,
"predicted_HR": 0.0793,
"predicted_OBP": 0.3344,
"predicted_R": 0.3981,
"predicted_RBI": 0.3964,
"predicted_SLG": 0.4385,
"predicted_SO": 0.5888
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.115,
"after": 0.1328,
"delta": 0.0178,
"percent_delta": 0.1548,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0391,
"delta": 0.0011,
"percent_delta": 0.0289,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5539,
"delta": 0.0539,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2865,
"delta": -0.0095,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 0.2715,
"delta": 0.0025,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.6479,
"delta": 0.0379,
"percent_delta": 0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0793,
"delta": -0.0007,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3344,
"delta": 0.0034,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.3981,
"delta": 0.0131,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3964,
"delta": 0.0164,
"percent_delta": 0.0432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4385,
"delta": 0.0075,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.615,
"after": 0.5888,
"delta": -0.0262,
"percent_delta": -0.0426,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5539,
"delta": 0.0539,
"percent_delta": 0.0216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2865,
"delta": -0.0095,
"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": 5,
"last_10": 10,
"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.1328,
"predicted_3B": 0.0391,
"predicted_AB": 2.5539,
"predicted_AVG": 0.2503,
"predicted_BB": 0.271,
"predicted_H": 0.6392,
"predicted_HBP": 0.007,
"predicted_HR": 0.0782,
"predicted_OBP": 0.3222,
"predicted_R": 0.3889,
"predicted_RBI": 0.3873,
"predicted_SLG": 0.4248,
"predicted_SO": 0.59
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1328,
"after": 0.1328,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0391,
"after": 0.0391,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5539,
"after": 2.5539,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2865,
"after": 0.2503,
"delta": -0.0362,
"percent_delta": -0.1264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2715,
"after": 0.271,
"delta": -0.0005,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6479,
"after": 0.6392,
"delta": -0.0087,
"percent_delta": -0.0134,
"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.0793,
"after": 0.0782,
"delta": -0.0011,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3344,
"after": 0.3222,
"delta": -0.0122,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3981,
"after": 0.3889,
"delta": -0.0092,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3964,
"after": 0.3873,
"delta": -0.0091,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4385,
"after": 0.4248,
"delta": -0.0137,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5888,
"after": 0.59,
"delta": 0.0012,
"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_AVG",
"before": 0.2865,
"after": 0.2503,
"delta": -0.0362,
"percent_delta": -0.1264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.55), rates preserved: AVG=0.250 HR/AB=0.031",
"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.1328,
"after": 0.0,
"delta": -0.1328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0391,
"after": 0.0,
"delta": -0.0391,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5539,
"after": 3.0,
"delta": 0.4461,
"percent_delta": 0.1747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6392,
"after": 1.0,
"delta": 0.3608,
"percent_delta": 0.5645,
"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.0782,
"after": 0.0,
"delta": -0.0782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3873,
"after": 0.0,
"delta": -0.3873,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"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": 2.5539,
"after": 3.0,
"delta": 0.4461,
"percent_delta": 0.1747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3873,
"after": 0.0,
"delta": -0.3873,
"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.3889,
"after": 0.0,
"delta": -0.3889,
"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.3889,
"after": 0.0,
"delta": -0.3889,
"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.2503,
"after": 0.333,
"delta": 0.0827,
"percent_delta": 0.3304,
"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.3222,
"after": 0.333,
"delta": 0.0108,
"percent_delta": 0.0335,
"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.4248,
"after": 0.333,
"delta": -0.0918,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2503,
"after": 0.333,
"delta": 0.0827,
"percent_delta": 0.3304,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4248,
"after": 0.333,
"delta": -0.0918,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2503,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3222,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4248,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3222,
"delta": -0.0108,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4248,
"delta": 0.0918,
"percent_delta": 0.2756,
"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.4248,
"delta": 0.0918,
"percent_delta": 0.2756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2503,
"delta": -0.0827,
"percent_delta": -0.2485,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.885,
"percent_delta": 7.6957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.038,
"after": 0.0,
"delta": -0.038,
"percent_delta": -1.0,
"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.296,
"after": 0.2503,
"delta": -0.0457,
"percent_delta": -0.1544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.269,
"after": 0.0,
"delta": -0.269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 1.0,
"delta": 0.39,
"percent_delta": 0.6393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3222,
"delta": -0.0088,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 1.0,
"delta": 0.615,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4248,
"delta": -0.0062,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.615,
"after": 1.0,
"delta": 0.385,
"percent_delta": 0.626,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"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.038 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.296 | - |
| predicted_BB | 0.269 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.385 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 0.615 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | 0.018 |
| predicted_3B | 0.039 | 0.001 |
| predicted_AB | 2.554 | 0.054 |
| predicted_AVG | 0.286 | -0.010 |
| predicted_BB | 0.272 | 0.003 |
| predicted_H | 0.648 | 0.038 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.079 | -0.001 |
| predicted_OBP | 0.334 | 0.003 |
| predicted_R | 0.398 | 0.013 |
| predicted_RBI | 0.396 | 0.016 |
| predicted_SLG | 0.439 | 0.008 |
| predicted_SO | 0.589 | -0.026 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 2.554 | 0.000 |
| predicted_AVG | 0.250 | -0.036 |
| predicted_BB | 0.271 | -0.001 |
| predicted_H | 0.639 | -0.009 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.078 | -0.001 |
| predicted_OBP | 0.322 | -0.012 |
| predicted_R | 0.389 | -0.009 |
| predicted_RBI | 0.387 | -0.009 |
| predicted_SLG | 0.425 | -0.014 |
| predicted_SO | 0.590 | 0.001 |
AB rounded to 3 (raw=2.55), rates preserved: AVG=0.250 HR/AB=0.031
| 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.133 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 3.000 | 0.446 |
| predicted_AVG | 0.333 | 0.083 |
| predicted_BB | 0.000 | -0.271 |
| predicted_H | 1.000 | 0.361 |
| predicted_HR | 0.000 | -0.078 |
| predicted_OBP | 0.333 | 0.011 |
| predicted_R | 0.000 | -0.389 |
| predicted_RBI | 0.000 | -0.387 |
| predicted_SLG | 0.333 | -0.092 |
| predicted_SO | 1.000 | 0.410 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 7.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 1.000 | 0.4286 | 0.5000 | 0.5714 | 0.4286 | 0.0000 | 0.1429 | 0.1429 | 0.1429 |
| last_10 | 0.20 | 10 | - | 18.000 | 4.000 | 1.000 | 1.000 | 0.000 | 3.000 | 2.000 | 2.000 | 2.000 | 0.2222 | 0.3000 | 0.3889 | 0.2222 | 0.0000 | 0.1667 | 0.1111 | 0.1111 |
| season | 0.60 | 26 | - | 65.000 | 16.000 | 3.000 | 1.000 | 3.000 | 12.000 | 10.000 | 7.000 | 16.000 | 0.2462 | 0.3194 | 0.4615 | 0.2462 | 0.0461 | 0.1846 | 0.1077 | 0.2462 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1640 |
| predicted_3B | 0.0410 |
| predicted_AB | 2.6480 |
| predicted_AVG | 0.2698 |
| predicted_BB | 0.2760 |
| predicted_H | 0.7140 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0780 |
| predicted_OBP | 0.3404 |
| predicted_R | 0.4210 |
| predicted_RBI | 0.4250 |
| predicted_SLG | 0.4515 |
| predicted_SO | 0.5430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1150 | 0.1640 | 0.1328 | model_form_blend |
| predicted_3B | 0.0380 | 0.0410 | 0.0391 | model_form_blend |
| predicted_AB | 2.5000 | 2.6480 | 2.5539 | model_form_blend |
| predicted_AVG | 0.2960 | 0.2698 | 0.2865 | model_form_blend |
| predicted_BB | 0.2690 | 0.2760 | 0.2715 | model_form_blend |
| predicted_H | 0.6100 | 0.7140 | 0.6479 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0800 | 0.0780 | 0.0793 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3404 | 0.3344 | model_form_blend |
| predicted_R | 0.3850 | 0.4210 | 0.3981 | model_form_blend |
| predicted_RBI | 0.3800 | 0.4250 | 0.3964 | model_form_blend |
| predicted_SLG | 0.4310 | 0.4515 | 0.4385 | model_form_blend |
| predicted_SO | 0.6150 | 0.5430 | 0.5888 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 65 |
| Season rows before report date | 65 |
| Report year | 2026 |
| Profile rows used | 26 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.246 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| 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-SS |
| gameID | 20260614_STL@MIN |
| game_type | ph |
| mlbID | 668952 |
| note | Singled for Larnach in the 7th. |
| playerID | 668952 |
| playerName | Ryan Kreidler |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.331 |
| sl_xwoba | 0.319 |
| sl_xba | 0.226 |
| sl_xslg | 0.394 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 29.8 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 9.7 |
| sl_whiff_percent | 33.3 |
| 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.100 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 3.000 | 3.000 | Hitting_AB | 3.000 | 3.000 | 0.000 | 0.000 |
| predicted_AVG | 0.262 | 0.667 | 0.333 | Hitting_AVG | 0.222 | 0.000 | 0.444 | 0.667 |
| 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.660 | 2.000 | 1.000 | Hitting_H | 0.667 | 0.000 | 1.333 | 2.000 |
| predicted_HR | 0.060 | 1.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_OBP | 0.302 | 0.750 | 0.333 | Hitting_OBP | 0.236 | 0.000 | 0.514 | 0.750 |
| predicted_R | 0.300 | 1.000 | 0.000 | Hitting_R | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_RBI | 0.270 | 2.000 | 0.000 | Hitting_RBI | 0.056 | 0.000 | 1.944 | 2.000 |
| predicted_SLG | 0.346 | 1.667 | 0.333 | Hitting_SLG | 0.278 | 0.000 | 1.389 | 1.667 |
| predicted_SO | 1.100 | 0.000 | 1.000 | Hitting_SO | 1.444 | 1.000 | -1.444 | -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.2700 -> 2.0000 (boost 1.7300, better) |
| Biggest Deboost | predicted_SO: 1.1000 -> 0.0000 (deboost -1.1000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 3.0992 (boost 0.0992, better) | predicted_SO: 1.1000 -> 1.0082 (deboost -0.0918, better) | Final model input calibrated with local 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.3016 -> 0.2361 (deboost -0.0655, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.7024 -> 1.0000 (boost 0.2976, better) | predicted_RBI: 0.2557 -> 0.0000 (deboost -0.2557, worse) | AB rounded to 3 (raw=3.10), rates preserved: AVG=0.227 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3305 -> 0.0000 (deboost -0.3305, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2266 -> 0.3330 (boost 0.1064, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 5 | 1 | 6 | 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 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2266 (deboost -0.1064, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656577",
"player_name": "Alex Jackson",
"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.1,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.262,
"predicted_BB": 0.0,
"predicted_H": 0.66,
"predicted_HR": 0.06,
"predicted_OBP": 0.302,
"predicted_R": 0.3,
"predicted_RBI": 0.27,
"predicted_SLG": 0.346,
"predicted_SO": 1.1
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1024,
"predicted_3B": 0.0018,
"predicted_AB": 3.0992,
"predicted_AVG": 0.2582,
"predicted_BB": 0.0386,
"predicted_H": 0.712,
"predicted_HBP": 0.108,
"predicted_HR": 0.0588,
"predicted_OBP": 0.3016,
"predicted_R": 0.3383,
"predicted_RBI": 0.2617,
"predicted_SLG": 0.343,
"predicted_SO": 1.0082
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1,
"after": 0.1024,
"delta": 0.0024,
"percent_delta": 0.024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0018,
"delta": 0.0018,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0992,
"delta": 0.0992,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2582,
"delta": -0.0038,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0386,
"delta": 0.0386,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.712,
"delta": 0.052,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0588,
"delta": -0.0012,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.302,
"after": 0.3016,
"delta": -0.0004,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 0.3383,
"delta": 0.0383,
"percent_delta": 0.1277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2617,
"delta": -0.0083,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.343,
"delta": -0.003,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1,
"after": 1.0082,
"delta": -0.0918,
"percent_delta": -0.0835,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0992,
"delta": 0.0992,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.1,
"after": 1.0082,
"delta": -0.0918,
"percent_delta": -0.0835,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 10
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1024,
"predicted_3B": 0.0018,
"predicted_AB": 3.0992,
"predicted_AVG": 0.2266,
"predicted_BB": 0.0385,
"predicted_H": 0.7024,
"predicted_HBP": 0.108,
"predicted_HR": 0.058,
"predicted_OBP": 0.2361,
"predicted_R": 0.3305,
"predicted_RBI": 0.2557,
"predicted_SLG": 0.317,
"predicted_SO": 1.0102
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1024,
"after": 0.1024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0992,
"after": 3.0992,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2582,
"after": 0.2266,
"delta": -0.0316,
"percent_delta": -0.1224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0386,
"after": 0.0385,
"delta": -0.0001,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.712,
"after": 0.7024,
"delta": -0.0096,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.108,
"after": 0.108,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0588,
"after": 0.058,
"delta": -0.0008,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3016,
"after": 0.2361,
"delta": -0.0655,
"percent_delta": -0.2172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3383,
"after": 0.3305,
"delta": -0.0078,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2617,
"after": 0.2557,
"delta": -0.006,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.343,
"after": 0.317,
"delta": -0.026,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0082,
"after": 1.0102,
"delta": 0.002,
"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.3016,
"after": 0.2361,
"delta": -0.0655,
"percent_delta": -0.2172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.10), rates preserved: AVG=0.227 HR/AB=0.019",
"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.1024,
"after": 0.0,
"delta": -0.1024,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0,
"delta": -0.0018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0992,
"after": 3.0,
"delta": -0.0992,
"percent_delta": -0.032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0385,
"after": 0.0,
"delta": -0.0385,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7024,
"after": 1.0,
"delta": 0.2976,
"percent_delta": 0.4237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2557,
"after": 0.0,
"delta": -0.2557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0102,
"after": 1.0,
"delta": -0.0102,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7024,
"after": 1.0,
"delta": 0.2976,
"percent_delta": 0.4237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2557,
"after": 0.0,
"delta": -0.2557,
"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.3305,
"after": 0.0,
"delta": -0.3305,
"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.3305,
"after": 0.0,
"delta": -0.3305,
"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.2266,
"after": 0.333,
"delta": 0.1064,
"percent_delta": 0.4695,
"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.333,
"delta": 0.0969,
"percent_delta": 0.4104,
"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.317,
"after": 0.333,
"delta": 0.016,
"percent_delta": 0.0505,
"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.2266,
"after": 0.333,
"delta": 0.1064,
"percent_delta": 0.4695,
"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": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 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": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"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": 3.0,
"predicted_AVG": 0.2266,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2361,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.317,
"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.2266,
"delta": -0.1064,
"percent_delta": -0.3194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.333,
"after": 0.2361,
"delta": -0.0969,
"percent_delta": -0.2909,
"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.317,
"delta": -0.016,
"percent_delta": -0.0481,
"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.2266,
"delta": -0.1064,
"percent_delta": -0.3194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"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.262,
"after": 0.2266,
"delta": -0.0354,
"percent_delta": -0.1351,
"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.66,
"after": 2.0,
"delta": 1.34,
"percent_delta": 2.0303,
"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.302,
"after": 0.2361,
"delta": -0.0659,
"percent_delta": -0.2182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"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.346,
"after": 0.317,
"delta": -0.029,
"percent_delta": -0.0838,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"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.27,
"after": 2.0,
"delta": 1.73,
"percent_delta": 6.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.1,
"after": 0.0,
"delta": -1.1,
"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.100 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.302 | - |
| predicted_R | 0.300 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.346 | - |
| predicted_SO | 1.100 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | 0.002 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.099 | 0.099 |
| predicted_AVG | 0.258 | -0.004 |
| predicted_BB | 0.039 | 0.039 |
| predicted_H | 0.712 | 0.052 |
| predicted_HBP | 0.108 | - |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.302 | -0.000 |
| predicted_R | 0.338 | 0.038 |
| predicted_RBI | 0.262 | -0.008 |
| predicted_SLG | 0.343 | -0.003 |
| predicted_SO | 1.008 | -0.092 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.099 | 0.000 |
| predicted_AVG | 0.227 | -0.032 |
| predicted_BB | 0.038 | -0.000 |
| predicted_H | 0.702 | -0.010 |
| predicted_HBP | 0.108 | 0.000 |
| predicted_HR | 0.058 | -0.001 |
| predicted_OBP | 0.236 | -0.065 |
| predicted_R | 0.331 | -0.008 |
| predicted_RBI | 0.256 | -0.006 |
| predicted_SLG | 0.317 | -0.026 |
| predicted_SO | 1.010 | 0.002 |
AB rounded to 3 (raw=3.10), rates preserved: AVG=0.227 HR/AB=0.019
| 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.102 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.099 |
| predicted_AVG | 0.333 | 0.106 |
| predicted_BB | 0.000 | -0.038 |
| predicted_H | 1.000 | 0.298 |
| predicted_HR | 0.000 | -0.058 |
| predicted_OBP | 0.333 | 0.097 |
| predicted_R | 0.000 | -0.331 |
| predicted_RBI | 0.000 | -0.256 |
| predicted_SLG | 0.333 | 0.016 |
| predicted_SO | 1.000 | -0.010 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.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 | - | 13.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.2308 | 0.2857 | 0.2308 | 0.2308 | 0.0000 | 0.0000 | 0.0000 | 0.1538 |
| last_10 | 0.20 | 10 | - | 30.000 | 8.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.000 | 11.000 | 0.2667 | 0.2903 | 0.3000 | 0.2667 | 0.0000 | 0.0333 | 0.0000 | 0.3667 |
| season | 0.60 | 10 | - | 30.000 | 8.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 0.000 | 11.000 | 0.2667 | 0.2903 | 0.3000 | 0.2667 | 0.0000 | 0.0333 | 0.0000 | 0.3667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1080 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.3240 |
| predicted_AVG | 0.2496 |
| predicted_BB | 0.1260 |
| predicted_H | 0.8300 |
| predicted_HBP | 0.1080 |
| predicted_HR | 0.0560 |
| predicted_OBP | 0.3006 |
| predicted_R | 0.4250 |
| predicted_RBI | 0.2430 |
| predicted_SLG | 0.3363 |
| predicted_SO | 0.8000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1000 | 0.1080 | 0.1024 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0018 | model_form_blend |
| predicted_AB | 3.0000 | 3.3240 | 3.0992 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2496 | 0.2582 | model_form_blend |
| predicted_BB | 0.0000 | 0.1260 | 0.0386 | model_form_blend |
| predicted_H | 0.6600 | 0.8300 | 0.7120 | model_form_blend |
| predicted_HBP | - | 0.1080 | 0.1080 | form_only |
| predicted_HR | 0.0600 | 0.0560 | 0.0588 | model_form_blend |
| predicted_OBP | 0.3020 | 0.3006 | 0.3016 | model_form_blend |
| predicted_R | 0.3000 | 0.4250 | 0.3383 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2430 | 0.2617 | model_form_blend |
| predicted_SLG | 0.3460 | 0.3363 | 0.3430 | model_form_blend |
| predicted_SO | 1.1000 | 0.8000 | 1.0082 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 10 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260613_STL@MIN |
| game_type | full |
| mlbID | 656577 |
| playerID | 656577 |
| playerName | Alex Jackson |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-13 |
| sl_k_percent | 35.5 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.267 |
| sl_xwoba | 0.195 |
| sl_xba | 0.179 |
| sl_xslg | 0.227 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 36.8 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 13.4 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 53.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.091 | 0.000 | 0.000 | Hitting_2B | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.773 | 3.000 | 3.000 | Hitting_AB | 3.155 | 2.000 | -0.155 | 1.000 |
| predicted_AVG | 0.263 | 0.333 | 0.333 | Hitting_AVG | 0.233 | 0.000 | 0.100 | 0.333 |
| predicted_BB | 0.182 | 0.000 | 0.000 | Hitting_BB | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.640 | 1.000 | 1.000 | Hitting_H | 0.736 | 0.000 | 0.264 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.294 | 0.333 | 0.333 | Hitting_OBP | 0.279 | 0.000 | 0.055 | 0.333 |
| predicted_R | 0.295 | 0.000 | 0.000 | Hitting_R | 0.309 | 0.000 | -0.309 | 0.000 |
| predicted_RBI | 0.400 | 0.000 | 0.000 | Hitting_RBI | 0.645 | 0.000 | -0.645 | 0.000 |
| predicted_SLG | 0.356 | 0.333 | 0.333 | Hitting_SLG | 0.383 | 0.000 | -0.050 | 0.333 |
| predicted_SO | 0.909 | 1.000 | 1.000 | Hitting_SO | 1.109 | 1.000 | -0.109 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_H: 0.6400 -> 1.0000 (boost 0.3600, better) |
| Biggest Deboost | predicted_RBI: 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2630 -> 0.2548 (deboost -0.0082, 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.2548 -> 0.2322 (deboost -0.0226, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.6497 -> 1.0000 (boost 0.3503, better) | predicted_RBI: 0.4121 -> 0.0000 (deboost -0.4121, worse) | AB rounded to 3 (raw=2.80), rates preserved: AVG=0.232 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2572 -> 0.0000 (deboost -0.2572, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2322 -> 0.3330 (boost 0.1008, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2322 (deboost -0.1008, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656484",
"player_name": "Tristan Gray",
"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.091,
"predicted_3B": 0.0,
"predicted_AB": 2.773,
"predicted_AVG": 0.263,
"predicted_BB": 0.182,
"predicted_H": 0.64,
"predicted_HR": 0.07,
"predicted_OBP": 0.294,
"predicted_R": 0.295,
"predicted_RBI": 0.4,
"predicted_SLG": 0.356,
"predicted_SO": 0.909
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0918,
"predicted_3B": 0.0008,
"predicted_AB": 2.7976,
"predicted_AVG": 0.2548,
"predicted_BB": 0.1848,
"predicted_H": 0.6586,
"predicted_HBP": 0.016,
"predicted_HR": 0.0672,
"predicted_OBP": 0.2918,
"predicted_R": 0.2633,
"predicted_RBI": 0.4218,
"predicted_SLG": 0.351,
"predicted_SO": 0.8975
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0918,
"delta": 0.0008,
"percent_delta": 0.0088,
"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.773,
"after": 2.7976,
"delta": 0.0246,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2548,
"delta": -0.0082,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.1848,
"delta": 0.0028,
"percent_delta": 0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6586,
"delta": 0.0186,
"percent_delta": 0.0291,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0672,
"delta": -0.0028,
"percent_delta": -0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2918,
"delta": -0.0022,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.295,
"after": 0.2633,
"delta": -0.0317,
"percent_delta": -0.1075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.4218,
"delta": 0.0218,
"percent_delta": 0.0545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.351,
"delta": -0.005,
"percent_delta": -0.014,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.909,
"after": 0.8975,
"delta": -0.0115,
"percent_delta": -0.0127,
"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.263,
"after": 0.2548,
"delta": -0.0082,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0918,
"predicted_3B": 0.0008,
"predicted_AB": 2.7976,
"predicted_AVG": 0.2322,
"predicted_BB": 0.1844,
"predicted_H": 0.6497,
"predicted_HBP": 0.016,
"predicted_HR": 0.0663,
"predicted_OBP": 0.2797,
"predicted_R": 0.2572,
"predicted_RBI": 0.4121,
"predicted_SLG": 0.3367,
"predicted_SO": 0.8993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0918,
"after": 0.0918,
"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": 2.7976,
"after": 2.7976,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2548,
"after": 0.2322,
"delta": -0.0226,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1848,
"after": 0.1844,
"delta": -0.0004,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6586,
"after": 0.6497,
"delta": -0.0089,
"percent_delta": -0.0135,
"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.0672,
"after": 0.0663,
"delta": -0.0009,
"percent_delta": -0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2918,
"after": 0.2797,
"delta": -0.0121,
"percent_delta": -0.0415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2633,
"after": 0.2572,
"delta": -0.0061,
"percent_delta": -0.0232,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4218,
"after": 0.4121,
"delta": -0.0097,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3367,
"delta": -0.0143,
"percent_delta": -0.0407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8975,
"after": 0.8993,
"delta": 0.0018,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2548,
"after": 0.2322,
"delta": -0.0226,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.80), rates preserved: AVG=0.232 HR/AB=0.024",
"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.0918,
"after": 0.0,
"delta": -0.0918,
"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": 2.7976,
"after": 3.0,
"delta": 0.2024,
"percent_delta": 0.0723,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1844,
"after": 0.0,
"delta": -0.1844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6497,
"after": 1.0,
"delta": 0.3503,
"percent_delta": 0.5392,
"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.0663,
"after": 0.0,
"delta": -0.0663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4121,
"after": 0.0,
"delta": -0.4121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8993,
"after": 1.0,
"delta": 0.1007,
"percent_delta": 0.112,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6497,
"after": 1.0,
"delta": 0.3503,
"percent_delta": 0.5392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4121,
"after": 0.0,
"delta": -0.4121,
"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.2572,
"after": 0.0,
"delta": -0.2572,
"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.2572,
"after": 0.0,
"delta": -0.2572,
"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.2322,
"after": 0.333,
"delta": 0.1008,
"percent_delta": 0.4341,
"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.2797,
"after": 0.333,
"delta": 0.0533,
"percent_delta": 0.1906,
"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.3367,
"after": 0.333,
"delta": -0.0037,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2322,
"after": 0.333,
"delta": 0.1008,
"percent_delta": 0.4341,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2322,
"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.2797,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3367,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2322,
"delta": -0.1008,
"percent_delta": -0.3026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2797,
"delta": -0.0533,
"percent_delta": -0.16,
"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.3367,
"delta": 0.0037,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_AVG",
"before": 0.333,
"after": 0.2322,
"delta": -0.1008,
"percent_delta": -0.3026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.773,
"after": 3.0,
"delta": 0.227,
"percent_delta": 0.0819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2322,
"delta": -0.0308,
"percent_delta": -0.1171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.182,
"after": 0.0,
"delta": -0.182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.294,
"after": 0.2797,
"delta": -0.0143,
"percent_delta": -0.0486,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.295,
"after": 0.0,
"delta": -0.295,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.356,
"after": 0.3367,
"delta": -0.0193,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.909,
"after": 1.0,
"delta": 0.091,
"percent_delta": 0.1001,
"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_H",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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.091 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.773 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.182 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.295 | - |
| predicted_RBI | 0.400 | - |
| predicted_SLG | 0.356 | - |
| predicted_SO | 0.909 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.092 | 0.001 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.798 | 0.025 |
| predicted_AVG | 0.255 | -0.008 |
| predicted_BB | 0.185 | 0.003 |
| predicted_H | 0.659 | 0.019 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.067 | -0.003 |
| predicted_OBP | 0.292 | -0.002 |
| predicted_R | 0.263 | -0.032 |
| predicted_RBI | 0.422 | 0.022 |
| predicted_SLG | 0.351 | -0.005 |
| predicted_SO | 0.897 | -0.012 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.092 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.798 | 0.000 |
| predicted_AVG | 0.232 | -0.023 |
| predicted_BB | 0.184 | -0.000 |
| predicted_H | 0.650 | -0.009 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.066 | -0.001 |
| predicted_OBP | 0.280 | -0.012 |
| predicted_R | 0.257 | -0.006 |
| predicted_RBI | 0.412 | -0.010 |
| predicted_SLG | 0.337 | -0.014 |
| predicted_SO | 0.899 | 0.002 |
AB rounded to 3 (raw=2.80), rates preserved: AVG=0.232 HR/AB=0.024
| 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.092 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.202 |
| predicted_AVG | 0.333 | 0.101 |
| predicted_BB | 0.000 | -0.184 |
| predicted_H | 1.000 | 0.350 |
| predicted_HR | 0.000 | -0.066 |
| predicted_OBP | 0.333 | 0.053 |
| predicted_R | 0.000 | -0.257 |
| predicted_RBI | 0.000 | -0.412 |
| predicted_SLG | 0.333 | -0.004 |
| predicted_SO | 1.000 | 0.101 |
Attached 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 | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 5.000 | 0.1538 | 0.2143 | 0.1538 | 0.1538 | 0.0000 | 0.0769 | 0.0769 | 0.3846 |
| last_10 | 0.20 | 10 | - | 21.000 | 6.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 6.000 | 0.2857 | 0.3043 | 0.3333 | 0.2857 | 0.0000 | 0.0952 | 0.0476 | 0.2857 |
| season | 0.60 | 44 | - | 122.000 | 31.000 | 4.000 | 0.000 | 4.000 | 27.000 | 13.000 | 8.000 | 40.000 | 0.2541 | 0.2985 | 0.3852 | 0.2541 | 0.0328 | 0.2213 | 0.0656 | 0.3279 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.8350 |
| predicted_AVG | 0.2422 |
| predicted_BB | 0.1890 |
| predicted_H | 0.6870 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.2884 |
| predicted_R | 0.2150 |
| predicted_RBI | 0.4550 |
| predicted_SLG | 0.3434 |
| predicted_SO | 0.8800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.0930 | 0.0918 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.7730 | 2.8350 | 2.7976 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2422 | 0.2548 | model_form_blend |
| predicted_BB | 0.1820 | 0.1890 | 0.1848 | model_form_blend |
| predicted_H | 0.6400 | 0.6870 | 0.6586 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0700 | 0.0630 | 0.0672 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2884 | 0.2918 | model_form_blend |
| predicted_R | 0.2950 | 0.2150 | 0.2633 | model_form_blend |
| predicted_RBI | 0.4000 | 0.4550 | 0.4218 | model_form_blend |
| predicted_SLG | 0.3560 | 0.3434 | 0.3510 | model_form_blend |
| predicted_SO | 0.9090 | 0.8800 | 0.8975 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 110 |
| Season rows before report date | 110 |
| Report year | 2026 |
| Profile rows used | 44 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.254 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260614_STL@MIN |
| game_type | full |
| mlbID | 656484 |
| playerID | 656484 |
| playerName | Tristan Gray |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 29.3 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.305 |
| sl_xwoba | 0.304 |
| sl_xba | 0.25 |
| sl_xslg | 0.381 |
| sl_sweet_spot_percent | 42.4 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 42.4 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 14.2 |
| sl_whiff_percent | 33.4 |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.000 | 2.000 | 0.000 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.667 | 1.000 | 0.333 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 1.667 | 1.000 | 3.333 | 4.000 |
| predicted_IP | 3.100 | 3.100 | 3.100 | Pitching_InningsPitched | 3.133 | 3.000 | -0.033 | 0.100 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.667 | 4.000 | 1.333 | 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: 4.0000 -> 3.1000 (deboost -0.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.0000 -> 3.1000 (deboost -0.9000, 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": "702474",
"player_name": "Mike Paredes",
"position": "Starter",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 3.1,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 3.1,
"delta": -0.9,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.0,
"after": 3.1,
"delta": -0.9,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 3.1,
"predicted_R": 2.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": 2.0,
"after": 2.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": 3.1,
"after": 3.1,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 3.1,
"delta": -0.9,
"percent_delta": -0.225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.0,
"after": 3.1,
"delta": -0.9,
"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 | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.000 | - |
| predicted_SO | 4.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 3.100 | -0.900 |
| 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 | 3 | 10.100 | 5.000 | 5.000 | 6.000 | 8.000 | 1.000 | 4.3548 | 1.0645 | 0.4839 | 0.4839 | 0.5806 | 0.7742 | 0.0968 |
| last_10 | 0.35 | 3 | 10.100 | 5.000 | 5.000 | 6.000 | 8.000 | 1.000 | 4.3548 | 1.0645 | 0.4839 | 0.4839 | 0.5806 | 0.7742 | 0.0968 |
| season | 0.20 | 3 | 10.100 | 5.000 | 5.000 | 6.000 | 8.000 | 1.000 | 4.3548 | 1.0645 | 0.4839 | 0.4839 | 0.5806 | 0.7742 | 0.0968 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6630 |
| predicted_ER | 1.8440 |
| predicted_ERA | 4.4258 |
| predicted_H | 2.9590 |
| predicted_HR | 0.4760 |
| predicted_IP | 3.2000 |
| predicted_SO | 3.2770 |
| predicted_WHIP | 1.2324 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.6630 | 1.8699 | model_form_blend |
| predicted_ER | 2.0000 | 1.8440 | 1.9398 | model_form_blend |
| predicted_ERA | - | 4.4258 | 4.4258 | form_only |
| predicted_H | 5.0000 | 2.9590 | 4.2123 | model_form_blend |
| predicted_HR | 0.0000 | 0.4760 | 0.1837 | model_form_blend |
| predicted_IP | 4.0000 | 3.2000 | 4.0000 | model_form_blend |
| predicted_SO | 4.0000 | 3.2770 | 3.7210 | model_form_blend |
| predicted_WHIP | - | 1.2324 | 1.2324 | 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.1 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 4 |
| HR | 0 |
| BF | 17 |
| Pitches | 65 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 13 |
| Pitching_ER | 1 |
| Pitching_ERA | 4.35 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.0 |
| Pitching_Pitches | 58 |
| Pitching_R | 1 |
| Pitching_SO | 4 |
| Pitching_Strikes | 33 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260610_MIN@DET |
| game_type | full |
| mlbID | 702474 |
| playerID | 702474 |
| playerName | Mike Paredes |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-10 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 13.3 |
| sl_woba | 0.249 |
| sl_xwoba | 0.259 |
| sl_sweet_spot_percent | 20.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 37.9 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 43.9 |
| sl_avg_best_speed | 82.161212 |
| sl_avg_hyper_speed | 93.239943793 |
| 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.412 | 1.000 | 0.588 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.441 | 0.000 | -0.441 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.735 | 1.000 | 0.265 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.656 | 0.100 | 0.544 | 1.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.794 | 0.000 | 1.206 | 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.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": "607455",
"player_name": "Anthony Banda",
"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": 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.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.2,
"delta": 0.2,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 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 | 4.000 | 0.000 | 4.000 | 2.000 | 3.000 | 0.000 | 0.0000 | 1.5000 | 0.0000 | 1.0000 | 0.5000 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 0.000 | 6.000 | 6.000 | 8.000 | 0.000 | 0.0000 | 1.4400 | 0.0000 | 0.7200 | 0.7200 | 0.9600 | 0.0000 |
| season | 0.20 | 34 | 30.000 | 15.000 | 25.000 | 14.000 | 27.000 | 2.000 | 4.5000 | 1.3000 | 0.5000 | 0.8333 | 0.4667 | 0.9000 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4060 |
| predicted_ER | 0.2400 |
| predicted_ERA | 2.5307 |
| predicted_H | 0.7830 |
| predicted_HR | 0.0630 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7610 |
| predicted_WHIP | 1.3906 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4060 | 0.7286 | model_form_blend |
| predicted_ER | 0.0000 | 0.2400 | 0.1097 | model_form_blend |
| predicted_ERA | - | 2.5307 | 2.5307 | form_only |
| predicted_H | 1.0000 | 0.7830 | 0.9008 | model_form_blend |
| predicted_HR | 0.0000 | 0.0630 | 0.0288 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7610 | 1.4339 | model_form_blend |
| predicted_WHIP | - | 1.3906 | 1.3906 | 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 | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| 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 | 2 |
| HR | 0 |
| BF | 7 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.50 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 607455 |
| playerID | 607455 |
| playerName | Anthony Banda |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.316 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 38.8 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 45.6 |
| sl_avg_best_speed | 80.835246098 |
| sl_avg_hyper_speed | 94.158567561 |
| 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.571 | 1.000 | -0.571 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.643 | 2.000 | -0.643 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.143 | 2.000 | -1.143 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.968 | 0.100 | 0.032 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.036 | 1.000 | -1.036 | -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": "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.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 | 6.000 | 7.000 | 3.000 | 4.000 | 0.000 | 11.5714 | 2.1429 | 1.2857 | 1.5000 | 0.6429 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 9.000 | 13.000 | 4.000 | 12.000 | 0.000 | 7.3636 | 1.5455 | 0.8182 | 1.1818 | 0.3636 | 1.0909 | 0.0000 |
| season | 0.20 | 28 | 32.000 | 18.000 | 32.000 | 16.000 | 29.000 | 0.000 | 5.0625 | 1.5000 | 0.5625 | 1.0000 | 0.5000 | 0.9062 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4480 |
| predicted_ER | 0.7650 |
| predicted_ERA | 6.8876 |
| predicted_H | 1.1490 |
| predicted_HR | 0.0640 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9420 |
| predicted_WHIP | 1.5970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4480 | 0.2077 | model_form_blend |
| predicted_ER | 0.0000 | 0.7650 | 0.3547 | model_form_blend |
| predicted_ERA | - | 6.8876 | 6.8876 | form_only |
| predicted_H | 0.0000 | 1.1490 | 0.5327 | model_form_blend |
| predicted_HR | 0.0000 | 0.0640 | 0.0297 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9420 | 0.4367 | model_form_blend |
| predicted_WHIP | - | 1.5970 | 1.5970 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 5.06 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 16 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260612_STL@MIN |
| game_type | full |
| mlbID | 679358 |
| playerID | 679358 |
| playerName | Eric Orze |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-12 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.302 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 39.4 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 29.3 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 43.8 |
| sl_avg_best_speed | 74.557538776 |
| sl_avg_hyper_speed | 93.056524388 |
| 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.636 | 1.000 | -0.636 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.091 | 1.000 | -1.091 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.545 | 2.000 | -1.545 | -2.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.318 | 2.100 | -0.118 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.545 | 1.000 | -0.545 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.2000 (boost 0.2000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "701519",
"player_name": "Travis Adams",
"position": "Middle Reliever",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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 | 6.200 | 4.000 | 7.000 | 2.000 | 6.000 | 2.000 | 5.4000 | 1.3500 | 0.6000 | 1.0500 | 0.3000 | 0.9000 | 0.3000 |
| last_10 | 0.35 | 10 | 14.100 | 10.000 | 13.000 | 5.000 | 15.000 | 4.000 | 6.2791 | 1.2558 | 0.6977 | 0.9070 | 0.3488 | 1.0465 | 0.2791 |
| season | 0.20 | 11 | 15.200 | 12.000 | 17.000 | 7.000 | 17.000 | 4.000 | 6.8936 | 1.5319 | 0.7660 | 1.0851 | 0.4468 | 1.0851 | 0.2553 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4010 |
| predicted_ER | 0.6340 |
| predicted_ERA | 5.0573 |
| predicted_H | 1.1110 |
| predicted_HR | 0.2240 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0770 |
| predicted_WHIP | 1.3409 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4010 | 0.1561 | model_form_blend |
| predicted_ER | 0.0000 | 0.6340 | 0.2468 | model_form_blend |
| predicted_ERA | - | 5.0573 | 5.0573 | form_only |
| predicted_H | 0.0000 | 1.1110 | 0.4325 | model_form_blend |
| predicted_HR | 0.0000 | 0.2240 | 0.0872 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0770 | 1.0300 | model_form_blend |
| predicted_WHIP | - | 1.3409 | 1.3409 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 11 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 9 |
| Pitching_ER | 1 |
| Pitching_ERA | 6.89 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 2.1 |
| Pitching_Pitches | 37 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 22 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260613_STL@MIN |
| game_type | full |
| mlbID | 701519 |
| playerID | 701519 |
| playerName | Travis Adams |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-13 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 9.9 |
| sl_woba | 0.365 |
| sl_xwoba | 0.344 |
| sl_sweet_spot_percent | 40.4 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 31.9 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 48.0 |
| sl_avg_best_speed | 73.788357391 |
| sl_avg_hyper_speed | 93.978330444 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.368 | 0.000 | 0.632 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.579 | 0.000 | -0.579 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.700 | 1.000 | 0.400 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.053 | 1.000 | -1.053 | -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": "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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.200 | 2.000 | 5.000 | 3.000 | 4.000 | 0.000 | 4.9091 | 2.1818 | 0.5454 | 1.3636 | 0.8182 | 1.0909 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 2.000 | 8.000 | 4.000 | 11.000 | 0.000 | 2.0769 | 1.3846 | 0.2308 | 0.9231 | 0.4615 | 1.2692 | 0.0000 |
| season | 0.20 | 28 | 33.200 | 15.000 | 30.000 | 17.000 | 33.000 | 5.000 | 4.0099 | 1.3960 | 0.4455 | 0.8911 | 0.5050 | 0.9802 | 0.1485 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4910 |
| predicted_ER | 0.4290 |
| predicted_ERA | 4.0510 |
| predicted_H | 1.0040 |
| predicted_HR | 0.0750 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9970 |
| predicted_WHIP | 1.5689 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4910 | 0.7613 | model_form_blend |
| predicted_ER | 0.0000 | 0.4290 | 0.2012 | model_form_blend |
| predicted_ERA | - | 4.0510 | 4.0510 | form_only |
| predicted_H | 0.0000 | 1.0040 | 0.4708 | model_form_blend |
| predicted_HR | 0.0000 | 0.0750 | 0.0352 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9970 | 0.4675 | model_form_blend |
| predicted_WHIP | - | 1.5689 | 1.5689 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.01 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 672782 |
| playerID | 672782 |
| playerName | Yoendrys Gómez |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.8 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.331 |
| sl_xwoba | 0.364 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 43.2 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 46.8 |
| sl_avg_best_speed | 78.773495581 |
| sl_avg_hyper_speed | 94.597667558 |
| Field | Value |
|---|---|
| Pitcher | MacKenzie Gore |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1749 |
| ESPN Rank | 183 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0143 |
| Avg Velo | 89.9839 |
| Avg Spin | 2180.0040 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 2 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 3 |
| Season ERA | 4.1831 |
| Season WHIP | 1.3521 |
| Role Avg IP | 5.0710 |
| Recent Avg IP | 4.6000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"opponent": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"edges": {
"quality_edge": 0.1406,
"offense_edge": -0.0856,
"opponent_offense_edge": 0.0548,
"defense_strength": 0.1294,
"opponent_defense_weakness": 0.1224,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0073,
"run_prevention": 0.9888,
"strikeout": 0.9998
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669022",
"profile": {
"available": true,
"pitcher_id": "669022",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 232.0,
"k_percent": 24.6,
"bb_percent": 10.7,
"woba": 0.31,
"xwoba": 0.323,
"sweet_spot_percent": 36.9,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 44.4,
"avg_best_speed": 77.8018,
"avg_hyper_speed": 95.105,
"whiff_percent": 25.4,
"swing_percent": 48.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2896,
"command_and_miss": 0.0371,
"regression_edge": -0.3714,
"xwoba_edge": -0.2286,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.8286,
"whiff_edge": -0.0143,
"bb_edge": -0.4,
"pitch_design_score": 0.0143
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 74,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 74,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 74,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9839,
"release_spin_rate": 2180.004,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0143,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1024,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1749,
"sample_weight": 0.928,
"run_prevention_factor": 1.0149,
"strikeout_factor": 1.0095,
"walk_factor": 1.0297,
"homer_factor": 1.0586,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669022",
"espn_id": 39636,
"player_name": "MacKenzie Gore",
"team": "TEX",
"role": "pitcher",
"espn_rank": 183,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 183,
"gp_value": 14.0,
"gp_rank": 251,
"gs_value": 14.0,
"gs_rank": 18,
"qs_value": 4.0,
"qs_rank": 70,
"era_value": 4.183,
"era_rank": 47.0,
"w_value": 4.0,
"w_rank": 59,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 71.0,
"ip_rank": 67,
"h_value": 63.0,
"h_rank": 81,
"er_value": 33.0,
"er_rank": 59,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 33.0,
"bb_rank": 9,
"k_value": 76.0,
"k_rank": 35,
"k_per_9_value": 9.633802,
"k_per_9_rank": 14,
"whip_value": 1.3521,
"whip_rank": 57.0,
"war_value": 0.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0138,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0138,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0276,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0544,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0088,
"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": 50.0,
"ER": 26,
"H": 51,
"BB": 22,
"SO": 46,
"HR": 4,
"ERA": 4.68,
"WHIP": 1.46,
"K9": 8.28,
"HR9": 0.72,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": true,
"pitcher_id": "669022",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 74,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 74,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 74,
"pitch_usage": 0.0,
"release_speed": 89.98389795512084,
"release_spin_rate": 2180.004045055442,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9839,
"release_spin_rate": 2180.004,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0143,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1024,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"role": "pitcher",
"player_id": "669022",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.0,
"ER": 9.0,
"R": 9.0,
"H": 25.0,
"BB": 11.0,
"SO": 23.0,
"HR": 0.0,
"BF": 105.0,
"Pitches": 413.0
},
"per_game": {
"IP": 4.2,
"ER": 1.8,
"R": 1.8,
"H": 5.0,
"BB": 2.2,
"SO": 4.6,
"HR": 0.0,
"BF": 21.0,
"Pitches": 82.6
},
"rates": {
"ERA": 3.5217,
"WHIP": 1.5652,
"ER_per_IP": 0.3913,
"H_per_IP": 1.08696,
"BB_per_IP": 0.47826,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.0,
"ER": 26.0,
"R": 26.0,
"H": 51.0,
"BB": 22.0,
"SO": 46.0,
"HR": 4.0,
"BF": 224.0,
"Pitches": 894.0
},
"per_game": {
"IP": 5.0,
"ER": 2.6,
"R": 2.6,
"H": 5.1,
"BB": 2.2,
"SO": 4.6,
"HR": 0.4,
"BF": 22.4,
"Pitches": 89.4
},
"rates": {
"ERA": 4.68,
"WHIP": 1.46,
"ER_per_IP": 0.52,
"H_per_IP": 1.02,
"BB_per_IP": 0.44,
"SO_per_IP": 0.92,
"HR_per_IP": 0.08
}
},
"season": {
"games": 14,
"totals": {
"IP": 71.0,
"ER": 33.0,
"R": 33.0,
"H": 63.0,
"BB": 33.0,
"SO": 76.0,
"HR": 6.0,
"BF": 309.0,
"Pitches": 1248.0
},
"per_game": {
"IP": 5.0,
"ER": 2.3571,
"R": 2.3571,
"H": 4.5,
"BB": 2.3571,
"SO": 5.4286,
"HR": 0.4286,
"BF": 22.0714,
"Pitches": 89.1429
},
"rates": {
"ERA": 4.1831,
"WHIP": 1.3521,
"ER_per_IP": 0.46479,
"H_per_IP": 0.88732,
"BB_per_IP": 0.46479,
"SO_per_IP": 1.07042,
"HR_per_IP": 0.08451
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.223,
"predicted_H": 4.85,
"predicted_BB": 2.091,
"predicted_SO": 4.669,
"predicted_HR": 0.342,
"predicted_ERA": 4.167,
"predicted_WHIP": 1.4456
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4612,
"form_weight": 0.5388,
"form_reliability": 0.7368,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.223,
"final": 2.1202,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.85,
"final": 4.458,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.091,
"final": 2.5102,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.669,
"final": 3.8993,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.342,
"final": 0.1843,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.167,
"final": 4.167,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4456,
"final": 1.4456,
"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.3343 |
| ESPN Rank | 53 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 0.8100 |
| Season WHIP | 0.4800 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"opponent": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"edges": {
"quality_edge": 0.1406,
"offense_edge": -0.0856,
"opponent_offense_edge": 0.0548,
"defense_strength": 0.1294,
"opponent_defense_weakness": 0.1224,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0073,
"run_prevention": 0.9888,
"strikeout": 0.9998
},
"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": 28.4,
"bb_percent": 6.0,
"woba": 0.179,
"xwoba": 0.243,
"sweet_spot_percent": 21.1,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 43.4,
"avg_best_speed": 79.8524,
"avg_hyper_speed": 94.2009,
"whiff_percent": 29.8,
"swing_percent": 49.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.3113,
"command_and_miss": 0.7364,
"regression_edge": -1.8286,
"xwoba_edge": 2.0571,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.6857,
"whiff_edge": 0.6143,
"bb_edge": 0.775,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656641",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3343,
"sample_weight": 0.45,
"run_prevention_factor": 0.9716,
"strikeout_factor": 1.0257,
"walk_factor": 0.9721,
"homer_factor": 0.979,
"woba_minus_xwoba": -0.064,
"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": 53,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 53,
"gp_value": 26.0,
"gp_rank": 111,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.62,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 11.0,
"sv_rank": 13,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 33.1,
"ip_rank": 190,
"h_value": 13.0,
"h_rank": 434,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 35.0,
"k_rank": 188,
"k_per_9_value": 9.45,
"k_per_9_rank": 26,
"whip_value": 0.6,
"whip_rank": null,
"war_value": 1.42,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9872,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9872,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9906,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0116,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.2,
"ER": 1,
"H": 5,
"BB": 2,
"SO": 18,
"HR": 1,
"ERA": 0.7105263157894737,
"WHIP": 0.5526315789473685,
"K9": 12.789473684210527,
"HR9": 0.7105263157894737,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "656641",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"role": "pitcher",
"player_id": "656641",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 11.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 107.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 2.2,
"HR": 0.0,
"BF": 5.0,
"Pitches": 21.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5455,
"ER_per_IP": 0.0,
"H_per_IP": 0.27273,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 19.0,
"HR": 1.0,
"BF": 50.0,
"Pitches": 197.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.2,
"SO": 1.9,
"HR": 0.1,
"BF": 5.0,
"Pitches": 19.7
},
"rates": {
"ERA": 0.6136,
"WHIP": 0.4773,
"ER_per_IP": 0.06818,
"H_per_IP": 0.34091,
"BB_per_IP": 0.13636,
"SO_per_IP": 1.29545,
"HR_per_IP": 0.06818
}
},
"season": {
"games": 25,
"totals": {
"IP": 33.1,
"ER": 3.0,
"R": 3.0,
"H": 10.0,
"BB": 6.0,
"SO": 35.0,
"HR": 2.0,
"BF": 116.0,
"Pitches": 487.0
},
"per_game": {
"IP": 1.1,
"ER": 0.12,
"R": 0.12,
"H": 0.4,
"BB": 0.24,
"SO": 1.4,
"HR": 0.08,
"BF": 4.64,
"Pitches": 19.48
},
"rates": {
"ERA": 0.81,
"WHIP": 0.48,
"ER_per_IP": 0.09,
"H_per_IP": 0.3,
"BB_per_IP": 0.18,
"SO_per_IP": 1.05,
"HR_per_IP": 0.06
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.317,
"predicted_H": 0.788,
"predicted_BB": 0.364,
"predicted_SO": 1.552,
"predicted_HR": 0.111,
"predicted_ERA": 2.1402,
"predicted_WHIP": 0.864
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5321,
"form_weight": 0.4679,
"form_reliability": 0.569,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.317,
"final": 0.1483,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.788,
"final": 0.3687,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.364,
"final": 0.1703,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.552,
"final": 1.7904,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.111,
"final": 0.0519,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.1402,
"final": 2.1402,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.864,
"final": 0.864,
"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.1314 |
| ESPN Rank | 97 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2024 |
| Avg Velo | 86.1137 |
| Avg Spin | 2057.1763 |
| 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 | 1.8409 |
| Season WHIP | 0.8182 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"opponent": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"edges": {
"quality_edge": 0.1406,
"offense_edge": -0.0856,
"opponent_offense_edge": 0.0548,
"defense_strength": 0.1294,
"opponent_defense_weakness": 0.1224,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0073,
"run_prevention": 0.9888,
"strikeout": 0.9998
},
"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": 18.5,
"bb_percent": 4.6,
"woba": 0.198,
"xwoba": 0.285,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 31.3,
"avg_best_speed": 75.6595,
"avg_hyper_speed": 92.7867,
"whiff_percent": 18.6,
"swing_percent": 48.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.0886,
"command_and_miss": -0.39,
"regression_edge": -2.0,
"xwoba_edge": 0.8571,
"barrel_edge": 0.7778,
"hard_hit_edge": 1.0429,
"whiff_edge": -0.9857,
"bb_edge": 1.125,
"pitch_design_score": -0.2024
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596001",
"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": 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": 10,
"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.2024,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4457,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1314,
"sample_weight": 0.45,
"run_prevention_factor": 0.9888,
"strikeout_factor": 0.9715,
"walk_factor": 0.9595,
"homer_factor": 0.9417,
"woba_minus_xwoba": -0.087,
"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": 97,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 97,
"gp_value": 25.0,
"gp_rank": 121,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.8409,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 4.0,
"sv_rank": 30,
"hld_value": 7.0,
"hld_rank": 51,
"ip_value": 29.1,
"ip_rank": 255,
"h_value": 19.0,
"h_rank": 336,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 0.0,
"hr_rank": 568,
"bb_value": 5.0,
"bb_rank": 466,
"k_value": 21.0,
"k_rank": 336,
"k_per_9_value": 6.443182,
"k_per_9_rank": 35,
"whip_value": 0.8181,
"whip_rank": null,
"war_value": 0.94,
"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": 0.9818,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9738,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9872,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 13.0,
"ER": 3,
"H": 11,
"BB": 0,
"SO": 14,
"HR": 0,
"ERA": 2.076923076923077,
"WHIP": 0.8461538461538463,
"K9": 9.692307692307693,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": true,
"pitcher_id": "596001",
"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": 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": 10,
"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.2024,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4457,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5374,
"prior_weight": 0.4626
},
"role": "pitcher",
"player_id": "596001",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 0.0,
"SO": 8.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.0,
"SO": 1.6,
"HR": 0.0,
"BF": 4.6,
"Pitches": 16.0
},
"rates": {
"ERA": 3.375,
"WHIP": 1.3125,
"ER_per_IP": 0.375,
"H_per_IP": 1.3125,
"BB_per_IP": 0.0,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.0,
"ER": 3.0,
"R": 3.0,
"H": 11.0,
"BB": 0.0,
"SO": 14.0,
"HR": 0.0,
"BF": 50.0,
"Pitches": 177.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.3,
"H": 1.1,
"BB": 0.0,
"SO": 1.4,
"HR": 0.0,
"BF": 5.0,
"Pitches": 17.7
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.8462,
"ER_per_IP": 0.23077,
"H_per_IP": 0.84615,
"BB_per_IP": 0.0,
"SO_per_IP": 1.07692,
"HR_per_IP": 0.0
}
},
"season": {
"games": 25,
"totals": {
"IP": 29.1,
"ER": 6.0,
"R": 6.0,
"H": 19.0,
"BB": 5.0,
"SO": 21.0,
"HR": 0.0,
"BF": 113.0,
"Pitches": 397.0
},
"per_game": {
"IP": 1.1,
"ER": 0.24,
"R": 0.24,
"H": 0.76,
"BB": 0.2,
"SO": 0.84,
"HR": 0.0,
"BF": 4.52,
"Pitches": 15.88
},
"rates": {
"ERA": 1.8409,
"WHIP": 0.8182,
"ER_per_IP": 0.20455,
"H_per_IP": 0.64773,
"BB_per_IP": 0.17045,
"SO_per_IP": 0.71591,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.424,
"predicted_H": 1.094,
"predicted_BB": 0.204,
"predicted_SO": 1.18,
"predicted_HR": 0.074,
"predicted_ERA": 3.4717,
"predicted_WHIP": 1.1812
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5454,
"form_weight": 0.4546,
"form_reliability": 0.5374,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5374,
"prior_weight": 0.4626
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.424,
"final": 0.7382,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.094,
"final": 1.0427,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.204,
"final": 0.0927,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.18,
"final": 1.6273,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.074,
"final": 0.5791,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4717,
"final": 3.4717,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1812,
"final": 1.1812,
"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.1443 |
| ESPN Rank | 273 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1613 |
| Avg Velo | 86.8483 |
| Avg Spin | 2085.0610 |
| 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.2143 |
| Season WHIP | 1.3929 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"opponent": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"edges": {
"quality_edge": 0.1406,
"offense_edge": -0.0856,
"opponent_offense_edge": 0.0548,
"defense_strength": 0.1294,
"opponent_defense_weakness": 0.1224,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0073,
"run_prevention": 0.9888,
"strikeout": 0.9998
},
"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": 17.9,
"bb_percent": 7.3,
"woba": 0.331,
"xwoba": 0.285,
"sweet_spot_percent": 25.6,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 31.1,
"avg_best_speed": 75.2072,
"avg_hyper_speed": 92.9282,
"whiff_percent": 16.6,
"swing_percent": 45.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6689,
"command_and_miss": -0.6636,
"regression_edge": 1.3143,
"xwoba_edge": 0.8571,
"barrel_edge": 0.8889,
"hard_hit_edge": 1.0714,
"whiff_edge": -1.2714,
"bb_edge": 0.45,
"pitch_design_score": -0.1613
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641302",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.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": 18,
"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.1613,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1519,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1443,
"sample_weight": 0.45,
"run_prevention_factor": 0.9877,
"strikeout_factor": 0.9648,
"walk_factor": 0.9838,
"homer_factor": 0.9371,
"woba_minus_xwoba": 0.046,
"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": 273,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 273,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.2142,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 28.0,
"ip_rank": 272,
"h_value": 31.0,
"h_rank": 193,
"er_value": 10.0,
"er_rank": 308,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 22.0,
"k_rank": 327,
"k_per_9_value": 7.0714283,
"k_per_9_rank": 32,
"whip_value": 1.3928,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9945,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9717,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9842,
"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": 5,
"H": 8,
"BB": 3,
"SO": 7,
"HR": 1,
"ERA": 5.625,
"WHIP": 1.375,
"K9": 7.875,
"HR9": 1.125,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": true,
"pitcher_id": "641302",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.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": 18,
"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.1613,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1519,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"role": "pitcher",
"player_id": "641302",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 0.0,
"SO": 3.0,
"HR": 0.0,
"BF": 17.0,
"Pitches": 51.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 3.4,
"Pitches": 10.2
},
"rates": {
"ERA": 9.0,
"WHIP": 1.5,
"ER_per_IP": 1.0,
"H_per_IP": 1.5,
"BB_per_IP": 0.0,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 5.0,
"R": 6.0,
"H": 8.0,
"BB": 3.0,
"SO": 7.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 138.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5,
"R": 0.6,
"H": 0.8,
"BB": 0.3,
"SO": 0.7,
"HR": 0.1,
"BF": 3.7,
"Pitches": 13.8
},
"rates": {
"ERA": 5.625,
"WHIP": 1.375,
"ER_per_IP": 0.625,
"H_per_IP": 1.0,
"BB_per_IP": 0.375,
"SO_per_IP": 0.875,
"HR_per_IP": 0.125
}
},
"season": {
"games": 29,
"totals": {
"IP": 28.0,
"ER": 10.0,
"R": 12.0,
"H": 31.0,
"BB": 8.0,
"SO": 22.0,
"HR": 2.0,
"BF": 122.0,
"Pitches": 454.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3448,
"R": 0.4138,
"H": 1.069,
"BB": 0.2759,
"SO": 0.7586,
"HR": 0.069,
"BF": 4.2069,
"Pitches": 15.6552
},
"rates": {
"ERA": 3.2143,
"WHIP": 1.3929,
"ER_per_IP": 0.35714,
"H_per_IP": 1.10714,
"BB_per_IP": 0.28571,
"SO_per_IP": 0.78571,
"HR_per_IP": 0.07143
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.537,
"predicted_H": 0.96,
"predicted_BB": 0.232,
"predicted_SO": 0.743,
"predicted_HR": 0.085,
"predicted_ERA": 5.6216,
"predicted_WHIP": 1.3866
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5503,
"form_weight": 0.4497,
"form_reliability": 0.5258,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.537,
"final": 0.2415,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.96,
"final": 0.4317,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.232,
"final": 0.1043,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.743,
"final": 0.3341,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.085,
"final": 0.0382,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6216,
"final": 5.6216,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3866,
"final": 1.3866,
"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 | Cole Winn |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0829 |
| ESPN Rank | 626 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0324 |
| Avg Velo | 90.3070 |
| Avg Spin | 2376.0642 |
| 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 | 5.8154 |
| Season WHIP | 1.4769 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 77,
"wins": 39,
"losses": 38,
"win_pct": 0.5065,
"runs_scored": 316.0,
"runs_allowed": 306.0,
"run_differential": 10.0,
"run_differential_per_game": 0.1299,
"avg_runs_scored": 4.1039,
"avg_runs_allowed": 3.974,
"offense_index": 0.9144,
"defense_index": 1.1294,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.4,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0214
},
"opponent": {
"team": "MIN",
"games": 79,
"wins": 36,
"losses": 43,
"win_pct": 0.4557,
"runs_scored": 374.0,
"runs_allowed": 404.0,
"run_differential": -30.0,
"run_differential_per_game": -0.3797,
"avg_runs_scored": 4.7342,
"avg_runs_allowed": 5.1139,
"offense_index": 1.0548,
"defense_index": 0.8776,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 6.6,
"run_differential": -18.0
},
"available": true,
"quality_score": -0.1192
},
"edges": {
"quality_edge": 0.1406,
"offense_edge": -0.0856,
"opponent_offense_edge": 0.0548,
"defense_strength": 0.1294,
"opponent_defense_weakness": 0.1224,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0073,
"run_prevention": 0.9888,
"strikeout": 0.9998
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668390",
"profile": {
"available": true,
"pitcher_id": "668390",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 25.5,
"bb_percent": 8.2,
"woba": 0.331,
"xwoba": 0.333,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 48.4,
"avg_best_speed": 78.6591,
"avg_hyper_speed": 95.0354,
"whiff_percent": 27.0,
"swing_percent": 52.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.4625,
"command_and_miss": 0.3,
"regression_edge": -0.0571,
"xwoba_edge": -0.5143,
"barrel_edge": 0.5778,
"hard_hit_edge": -1.4,
"whiff_edge": 0.2143,
"bb_edge": 0.225,
"pitch_design_score": 0.0324
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668390",
"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": 90.30702898227581,
"release_spin_rate": 2376.0641829067786,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.30702898227581,
"release_spin_rate": 2376.0641829067786,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.307,
"release_spin_rate": 2376.0642,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0324,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2316,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0829,
"sample_weight": 0.45,
"run_prevention_factor": 1.007,
"strikeout_factor": 1.0111,
"walk_factor": 0.9919,
"homer_factor": 1.0113,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668390",
"espn_id": 41177,
"player_name": "Cole Winn",
"team": "TEX",
"role": "pitcher",
"espn_rank": 626,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 626,
"gp_value": 25.0,
"gp_rank": 121,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.8153,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 21.2,
"ip_rank": 352,
"h_value": 24.0,
"h_rank": 268,
"er_value": 14.0,
"er_rank": 222,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 25.0,
"k_rank": 292,
"k_per_9_value": 10.384615,
"k_per_9_rank": 22,
"whip_value": 1.4769,
"whip_rank": null,
"war_value": -0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0031,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0031,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9964,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0051,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.005,
"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": 12,
"BB": 2,
"SO": 9,
"HR": 0,
"ERA": 6.750000000000001,
"WHIP": 1.7500000000000002,
"K9": 10.125000000000002,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": true,
"pitcher_id": "668390",
"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": 90.30702898227581,
"release_spin_rate": 2376.0641829067786,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 90.30702898227581,
"release_spin_rate": 2376.0641829067786,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.307,
"release_spin_rate": 2376.0642,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0324,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2316,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.29,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4618,
"prior_weight": 0.5382
},
"role": "pitcher",
"player_id": "668390",
"report_date": "20260615_M",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 4.0,
"R": 4.0,
"H": 4.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 59.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 0.8,
"H": 0.8,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.0,
"Pitches": 11.8
},
"rates": {
"ERA": 9.8182,
"WHIP": 1.3636,
"ER_per_IP": 1.09091,
"H_per_IP": 1.09091,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 6.0,
"R": 6.0,
"H": 12.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 127.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.2,
"SO": 0.9,
"HR": 0.0,
"BF": 3.8,
"Pitches": 12.7
},
"rates": {
"ERA": 6.75,
"WHIP": 1.75,
"ER_per_IP": 0.75,
"H_per_IP": 1.5,
"BB_per_IP": 0.25,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 25,
"totals": {
"IP": 21.2,
"ER": 14.0,
"R": 14.0,
"H": 24.0,
"BB": 8.0,
"SO": 25.0,
"HR": 3.0,
"BF": 98.0,
"Pitches": 372.0
},
"per_game": {
"IP": 1.0,
"ER": 0.56,
"R": 0.56,
"H": 0.96,
"BB": 0.32,
"SO": 1.0,
"HR": 0.12,
"BF": 3.92,
"Pitches": 14.88
},
"rates": {
"ERA": 5.8154,
"WHIP": 1.4769,
"ER_per_IP": 0.64615,
"H_per_IP": 1.10769,
"BB_per_IP": 0.36923,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.13846
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.471,
"predicted_H": 0.763,
"predicted_BB": 0.227,
"predicted_SO": 0.67,
"predicted_HR": 0.063,
"predicted_ERA": 6.0733,
"predicted_WHIP": 1.4202
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5774,
"form_weight": 0.4226,
"form_reliability": 0.4618,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.29,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4618,
"prior_weight": 0.5382
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.471,
"final": 0.199,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.763,
"final": 0.3225,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.227,
"final": 0.0959,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.67,
"final": 0.2831,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.063,
"final": 0.0266,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0733,
"final": 6.0733,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4202,
"final": 1.4202,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.217 | 0.000 | 0.000 | Hitting_2B | 0.192 | 2.000 | -0.192 | -2.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_AB | 4.070 | 4.000 | 4.000 | Hitting_AB | 3.952 | 5.000 | 0.048 | -1.000 |
| predicted_AVG | 0.249 | 0.250 | 0.250 | Hitting_AVG | 0.262 | 0.400 | -0.012 | -0.150 |
| predicted_BB | 0.348 | 0.000 | 0.000 | Hitting_BB | 0.392 | 0.000 | -0.392 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_H | 1.010 | 1.000 | 1.000 | Hitting_H | 1.036 | 2.000 | -0.036 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.250 | Hitting_OBP | 0.343 | 0.400 | -0.093 | -0.150 |
| predicted_R | 0.406 | 1.000 | 0.000 | Hitting_R | 0.436 | 0.000 | 0.564 | 1.000 |
| predicted_RBI | 0.460 | 1.000 | 0.000 | Hitting_RBI | 0.384 | 2.000 | 0.616 | -1.000 |
| predicted_SLG | 0.427 | 0.250 | 0.250 | Hitting_SLG | 0.417 | 0.800 | -0.167 | -0.550 |
| predicted_SO | 0.884 | 2.000 | 1.000 | Hitting_SO | 0.912 | 0.000 | 1.088 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.8840 -> 2.0000 (boost 1.1160, worse) |
| Biggest Deboost | predicted_BB: 0.3480 -> 0.0000 (deboost -0.3480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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 | 3 | 1 | predicted_2B: 0.2170 -> 0.2822 (boost 0.0652, better) | predicted_AB: 4.0700 -> 3.9676 (deboost -0.1024, 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.4267 -> 0.4119 (deboost -0.0148, 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.8304 -> 1.0000 (boost 0.1696, worse) | predicted_RBI: 0.4442 -> 0.0000 (deboost -0.4442, worse) | AB rounded to 4 (raw=4.07), rates preserved: AVG=0.252 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3841 -> 0.0000 (deboost -0.3841, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4119 -> 0.2500 (deboost -0.1619, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4119 (boost 0.1619, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.217,
"predicted_3B": 0.029,
"predicted_AB": 4.07,
"predicted_AVG": 0.249,
"predicted_BB": 0.348,
"predicted_H": 1.01,
"predicted_HR": 0.11,
"predicted_OBP": 0.317,
"predicted_R": 0.406,
"predicted_RBI": 0.46,
"predicted_SLG": 0.427,
"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.2822,
"predicted_3B": 0.0239,
"predicted_AB": 3.9676,
"predicted_AVG": 0.257,
"predicted_BB": 0.3086,
"predicted_H": 1.0163,
"predicted_HBP": 0.05,
"predicted_HR": 0.0918,
"predicted_OBP": 0.3185,
"predicted_R": 0.3776,
"predicted_RBI": 0.4367,
"predicted_SLG": 0.4267,
"predicted_SO": 0.8311
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.2822,
"delta": 0.0652,
"percent_delta": 0.3005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0239,
"delta": -0.0051,
"percent_delta": -0.1759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9676,
"delta": -0.1024,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.257,
"delta": 0.008,
"percent_delta": 0.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.3086,
"delta": -0.0394,
"percent_delta": -0.1132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 1.0163,
"delta": 0.0063,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.0918,
"delta": -0.0182,
"percent_delta": -0.1655,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3185,
"delta": 0.0015,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 0.3776,
"delta": -0.0284,
"percent_delta": -0.07,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4367,
"delta": -0.0233,
"percent_delta": -0.0507,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4267,
"delta": -0.0003,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.884,
"after": 0.8311,
"delta": -0.0529,
"percent_delta": -0.0598,
"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.217,
"after": 0.2822,
"delta": 0.0652,
"percent_delta": 0.3005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.07,
"after": 3.9676,
"delta": -0.1024,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2822,
"predicted_3B": 0.0239,
"predicted_AB": 3.9676,
"predicted_AVG": 0.2587,
"predicted_BB": 0.3088,
"predicted_H": 1.0264,
"predicted_HBP": 0.05,
"predicted_HR": 0.0926,
"predicted_OBP": 0.3122,
"predicted_R": 0.3841,
"predicted_RBI": 0.4442,
"predicted_SLG": 0.4119,
"predicted_SO": 0.8304
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2822,
"after": 0.2822,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0239,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9676,
"after": 3.9676,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.257,
"after": 0.2587,
"delta": 0.0017,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3086,
"after": 0.3088,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0163,
"after": 1.0264,
"delta": 0.0101,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.05,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0918,
"after": 0.0926,
"delta": 0.0008,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3185,
"after": 0.3122,
"delta": -0.0063,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3776,
"after": 0.3841,
"delta": 0.0065,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4367,
"after": 0.4442,
"delta": 0.0075,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4267,
"after": 0.4119,
"delta": -0.0148,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8311,
"after": 0.8304,
"delta": -0.0007,
"percent_delta": -0.0008,
"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.4267,
"after": 0.4119,
"delta": -0.0148,
"percent_delta": -0.0347,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.07), rates preserved: AVG=0.252 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2822,
"after": 0.0,
"delta": -0.2822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0,
"delta": -0.0239,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9676,
"after": 4.0,
"delta": 0.0324,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3088,
"after": 0.0,
"delta": -0.3088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0264,
"after": 1.0,
"delta": -0.0264,
"percent_delta": -0.0257,
"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.0926,
"after": 0.0,
"delta": -0.0926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4442,
"after": 0.0,
"delta": -0.4442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8304,
"after": 1.0,
"delta": 0.1696,
"percent_delta": 0.2042,
"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.8304,
"after": 1.0,
"delta": 0.1696,
"percent_delta": 0.2042,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4442,
"after": 0.0,
"delta": -0.4442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.3841,
"after": 0.0,
"delta": -0.3841,
"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.3841,
"after": 0.0,
"delta": -0.3841,
"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.2587,
"after": 0.25,
"delta": -0.0087,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3122,
"after": 0.25,
"delta": -0.0622,
"percent_delta": -0.1992,
"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.4119,
"after": 0.25,
"delta": -0.1619,
"percent_delta": -0.3931,
"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.4119,
"after": 0.25,
"delta": -0.1619,
"percent_delta": -0.3931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2587,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3122,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4119,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2587,
"delta": 0.0087,
"percent_delta": 0.0347,
"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.3122,
"delta": 0.0622,
"percent_delta": 0.2489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.4119,
"delta": 0.1619,
"percent_delta": 0.6476,
"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.4119,
"delta": 0.1619,
"percent_delta": 0.6476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.0,
"delta": -0.217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"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.249,
"after": 0.2587,
"delta": 0.0097,
"percent_delta": 0.039,
"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": 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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3122,
"delta": -0.0048,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.406,
"after": 1.0,
"delta": 0.594,
"percent_delta": 1.4631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.427,
"after": 0.4119,
"delta": -0.0151,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.884,
"after": 2.0,
"delta": 1.116,
"percent_delta": 1.2624,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.884,
"after": 2.0,
"delta": 1.116,
"percent_delta": 1.2624,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.217 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.348 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.406 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.427 | - |
| 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.282 | 0.065 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.968 | -0.102 |
| predicted_AVG | 0.257 | 0.008 |
| predicted_BB | 0.309 | -0.039 |
| predicted_H | 1.016 | 0.006 |
| predicted_HBP | 0.050 | - |
| predicted_HR | 0.092 | -0.018 |
| predicted_OBP | 0.319 | 0.002 |
| predicted_R | 0.378 | -0.028 |
| predicted_RBI | 0.437 | -0.023 |
| predicted_SLG | 0.427 | -0.000 |
| predicted_SO | 0.831 | -0.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.282 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.968 | 0.000 |
| predicted_AVG | 0.259 | 0.002 |
| predicted_BB | 0.309 | 0.000 |
| predicted_H | 1.026 | 0.010 |
| predicted_HBP | 0.050 | 0.000 |
| predicted_HR | 0.093 | 0.001 |
| predicted_OBP | 0.312 | -0.006 |
| predicted_R | 0.384 | 0.007 |
| predicted_RBI | 0.444 | 0.008 |
| predicted_SLG | 0.412 | -0.015 |
| predicted_SO | 0.830 | -0.001 |
AB rounded to 4 (raw=4.07), rates preserved: AVG=0.252 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.282 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.032 |
| predicted_AVG | 0.250 | -0.009 |
| predicted_BB | 0.000 | -0.309 |
| predicted_H | 1.000 | -0.026 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.250 | -0.062 |
| predicted_R | 0.000 | -0.384 |
| predicted_RBI | 0.000 | -0.444 |
| predicted_SLG | 0.250 | -0.162 |
| predicted_SO | 1.000 | 0.170 |
Attached 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 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 4.000 | 0.000 | 0.000 | 3.000 | 1.000 | 0.000 | 3.000 | 0.3000 | 0.3000 | 0.5000 | 0.3000 | 0.0000 | 0.1500 | 0.0000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 5.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 5.000 | 0.2778 | 0.3158 | 0.4167 | 0.2778 | 0.0000 | 0.0833 | 0.0556 | 0.1389 |
| season | 0.60 | 69 | - | 265.000 | 68.000 | 15.000 | 2.000 | 7.000 | 25.000 | 28.000 | 24.000 | 61.000 | 0.2566 | 0.3300 | 0.4075 | 0.2566 | 0.0264 | 0.0943 | 0.0906 | 0.2302 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3710 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.8280 |
| predicted_AVG | 0.2678 |
| predicted_BB | 0.2550 |
| predicted_H | 1.0250 |
| predicted_HBP | 0.0500 |
| predicted_HR | 0.0670 |
| predicted_OBP | 0.3205 |
| predicted_R | 0.3390 |
| predicted_RBI | 0.4050 |
| predicted_SLG | 0.4262 |
| predicted_SO | 0.7590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.3710 | 0.2822 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0239 | model_form_blend |
| predicted_AB | 4.0700 | 3.8280 | 3.9676 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2678 | 0.2570 | model_form_blend |
| predicted_BB | 0.3480 | 0.2550 | 0.3086 | model_form_blend |
| predicted_H | 1.0100 | 1.0250 | 1.0163 | model_form_blend |
| predicted_HBP | - | 0.0500 | 0.0500 | form_only |
| predicted_HR | 0.1100 | 0.0670 | 0.0918 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3205 | 0.3185 | model_form_blend |
| predicted_R | 0.4060 | 0.3390 | 0.3776 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4050 | 0.4367 | model_form_blend |
| predicted_SLG | 0.4270 | 0.4262 | 0.4267 | model_form_blend |
| predicted_SO | 0.8840 | 0.7590 | 0.8311 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| 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 | 2 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260614_TEX@BOS |
| game_type | full |
| mlbID | 607043 |
| playerID | 607043 |
| playerName | Brandon Nimmo |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.9 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.323 |
| sl_xwoba | 0.371 |
| sl_xba | 0.283 |
| sl_xslg | 0.5 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 10.9 |
| sl_hard_hit_percent | 51.7 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 22.9 |
| 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.108 | 0.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | -0.122 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.012 | 0.000 | -0.012 | 0.000 |
| predicted_AB | 2.708 | 5.000 | 3.000 | Hitting_AB | 2.971 | 1.000 | 2.029 | 4.000 |
| predicted_AVG | 0.259 | 0.200 | 0.333 | Hitting_AVG | 0.258 | 0.000 | -0.058 | 0.200 |
| predicted_BB | 0.415 | 0.000 | 0.000 | Hitting_BB | 0.483 | 0.000 | -0.483 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.310 | 1.000 | 1.000 | Hitting_H | 0.767 | 0.000 | 0.233 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.300 | 0.200 | 0.333 | Hitting_OBP | 0.361 | 0.000 | -0.161 | 0.200 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.442 | 0.000 | -0.442 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 0.000 | Hitting_RBI | 0.395 | 0.000 | -0.395 | 0.000 |
| predicted_SLG | 0.410 | 0.200 | 0.333 | Hitting_SLG | 0.454 | 0.000 | -0.254 | 0.200 |
| predicted_SO | 0.646 | 1.000 | 1.000 | Hitting_SO | 0.762 | 0.000 | 0.238 | 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: 2.7080 -> 5.0000 (boost 2.2920, better) |
| Biggest Deboost | predicted_BB: 0.4150 -> 0.0000 (deboost -0.4150, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_H: 0.3100 -> 0.4662 (boost 0.1562, better) | predicted_AVG: 0.2590 -> 0.2516 (deboost -0.0074, 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.4181 -> 0.3186 (deboost -0.0995, 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: 0.4708 -> 1.0000 (boost 0.5292, better) | predicted_BB: 0.3740 -> 0.0000 (deboost -0.3740, worse) | AB rounded to 3 (raw=2.77), rates preserved: AVG=0.170 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4069 -> 0.0000 (deboost -0.4069, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1701 -> 0.3330 (boost 0.1629, 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 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1701 (deboost -0.1629, 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.108,
"predicted_3B": 0.031,
"predicted_AB": 2.708,
"predicted_AVG": 0.259,
"predicted_BB": 0.415,
"predicted_H": 0.31,
"predicted_HR": 0.05,
"predicted_OBP": 0.3,
"predicted_R": 0.4,
"predicted_RBI": 0.16,
"predicted_SLG": 0.41,
"predicted_SO": 0.646
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1088,
"predicted_3B": 0.0566,
"predicted_AB": 2.7671,
"predicted_AVG": 0.2516,
"predicted_BB": 0.3737,
"predicted_H": 0.4662,
"predicted_HBP": 0.037,
"predicted_HR": 0.0624,
"predicted_OBP": 0.3088,
"predicted_R": 0.4,
"predicted_RBI": 0.2216,
"predicted_SLG": 0.4181,
"predicted_SO": 0.6212
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.1088,
"delta": 0.0008,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0566,
"delta": 0.0256,
"percent_delta": 0.8258,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.708,
"after": 2.7671,
"delta": 0.0591,
"percent_delta": 0.0218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2516,
"delta": -0.0074,
"percent_delta": -0.0286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.3737,
"delta": -0.0413,
"percent_delta": -0.0995,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.4662,
"delta": 0.1562,
"percent_delta": 0.5039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0624,
"delta": 0.0124,
"percent_delta": 0.248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.3088,
"delta": 0.0088,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.2216,
"delta": 0.0616,
"percent_delta": 0.385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.4181,
"delta": 0.0081,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.646,
"after": 0.6212,
"delta": -0.0248,
"percent_delta": -0.0384,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.31,
"after": 0.4662,
"delta": 0.1562,
"percent_delta": 0.5039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.2516,
"delta": -0.0074,
"percent_delta": -0.0286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1088,
"predicted_3B": 0.0566,
"predicted_AB": 2.7671,
"predicted_AVG": 0.1701,
"predicted_BB": 0.374,
"predicted_H": 0.4708,
"predicted_HBP": 0.037,
"predicted_HR": 0.063,
"predicted_OBP": 0.269,
"predicted_R": 0.4069,
"predicted_RBI": 0.2254,
"predicted_SLG": 0.3186,
"predicted_SO": 0.6207
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1088,
"after": 0.1088,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0566,
"after": 0.0566,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7671,
"after": 2.7671,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2516,
"after": 0.1701,
"delta": -0.0815,
"percent_delta": -0.3239,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3737,
"after": 0.374,
"delta": 0.0003,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4662,
"after": 0.4708,
"delta": 0.0046,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.037,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0624,
"after": 0.063,
"delta": 0.0006,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3088,
"after": 0.269,
"delta": -0.0398,
"percent_delta": -0.1289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4069,
"delta": 0.0069,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2216,
"after": 0.2254,
"delta": 0.0038,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4181,
"after": 0.3186,
"delta": -0.0995,
"percent_delta": -0.238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6212,
"after": 0.6207,
"delta": -0.0005,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4181,
"after": 0.3186,
"delta": -0.0995,
"percent_delta": -0.238,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.77), rates preserved: AVG=0.170 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1088,
"after": 0.0,
"delta": -0.1088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0566,
"after": 0.0,
"delta": -0.0566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.7671,
"after": 3.0,
"delta": 0.2329,
"percent_delta": 0.0842,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.374,
"after": 0.0,
"delta": -0.374,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4708,
"after": 1.0,
"delta": 0.5292,
"percent_delta": 1.124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.037,
"after": 0.0,
"delta": -0.037,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.063,
"after": 0.0,
"delta": -0.063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2254,
"after": 0.0,
"delta": -0.2254,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6207,
"after": 1.0,
"delta": 0.3793,
"percent_delta": 0.6111,
"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": 0.4708,
"after": 1.0,
"delta": 0.5292,
"percent_delta": 1.124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.374,
"after": 0.0,
"delta": -0.374,
"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.4069,
"after": 0.0,
"delta": -0.4069,
"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.4069,
"after": 0.0,
"delta": -0.4069,
"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.1701,
"after": 0.333,
"delta": 0.1629,
"percent_delta": 0.9577,
"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.269,
"after": 0.333,
"delta": 0.064,
"percent_delta": 0.2379,
"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.3186,
"after": 0.333,
"delta": 0.0144,
"percent_delta": 0.0452,
"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.1701,
"after": 0.333,
"delta": 0.1629,
"percent_delta": 0.9577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"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": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.1701,
"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.269,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3186,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1701,
"delta": -0.1629,
"percent_delta": -0.489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.269,
"delta": -0.064,
"percent_delta": -0.1923,
"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.3186,
"delta": -0.0144,
"percent_delta": -0.0431,
"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.1701,
"delta": -0.1629,
"percent_delta": -0.489,
"direction": "deboost",
"projection_effect": "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.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.708,
"after": 5.0,
"delta": 2.292,
"percent_delta": 0.8464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.259,
"after": 0.1701,
"delta": -0.0889,
"percent_delta": -0.3432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.3,
"after": 0.269,
"delta": -0.031,
"percent_delta": -0.1033,
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.41,
"after": 0.3186,
"delta": -0.0914,
"percent_delta": -0.2229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.646,
"after": 1.0,
"delta": 0.354,
"percent_delta": 0.548,
"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": 2.708,
"after": 5.0,
"delta": 2.292,
"percent_delta": 0.8464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 2.708 | - |
| predicted_AVG | 0.259 | - |
| predicted_BB | 0.415 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.410 | - |
| predicted_SO | 0.646 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | 0.001 |
| predicted_3B | 0.057 | 0.026 |
| predicted_AB | 2.767 | 0.059 |
| predicted_AVG | 0.252 | -0.007 |
| predicted_BB | 0.374 | -0.041 |
| predicted_H | 0.466 | 0.156 |
| predicted_HBP | 0.037 | - |
| predicted_HR | 0.062 | 0.012 |
| predicted_OBP | 0.309 | 0.009 |
| predicted_R | 0.400 | 0.000 |
| predicted_RBI | 0.222 | 0.062 |
| predicted_SLG | 0.418 | 0.008 |
| predicted_SO | 0.621 | -0.025 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | 0.000 |
| predicted_3B | 0.057 | 0.000 |
| predicted_AB | 2.767 | 0.000 |
| predicted_AVG | 0.170 | -0.081 |
| predicted_BB | 0.374 | 0.000 |
| predicted_H | 0.471 | 0.005 |
| predicted_HBP | 0.037 | 0.000 |
| predicted_HR | 0.063 | 0.001 |
| predicted_OBP | 0.269 | -0.040 |
| predicted_R | 0.407 | 0.007 |
| predicted_RBI | 0.225 | 0.004 |
| predicted_SLG | 0.319 | -0.100 |
| predicted_SO | 0.621 | -0.000 |
AB rounded to 3 (raw=2.77), rates preserved: AVG=0.170 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.109 |
| predicted_3B | 0.000 | -0.057 |
| predicted_AB | 3.000 | 0.233 |
| predicted_AVG | 0.333 | 0.163 |
| predicted_BB | 0.000 | -0.374 |
| predicted_H | 1.000 | 0.529 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.333 | 0.064 |
| predicted_R | 0.000 | -0.407 |
| predicted_RBI | 0.000 | -0.225 |
| predicted_SLG | 0.333 | 0.014 |
| 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 | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 3.000 | 0.000 | 1.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 0.2500 | 0.3077 | 0.4167 | 0.2500 | 0.0000 | 0.0000 | 0.0833 | 0.1667 |
| last_10 | 0.20 | 10 | - | 30.000 | 7.000 | 2.000 | 2.000 | 0.000 | 4.000 | 3.000 | 1.000 | 4.000 | 0.2333 | 0.2812 | 0.4333 | 0.2333 | 0.0000 | 0.1333 | 0.0333 | 0.1333 |
| season | 0.60 | 65 | - | 176.000 | 42.000 | 7.000 | 2.000 | 8.000 | 23.000 | 26.000 | 27.000 | 42.000 | 0.2386 | 0.3413 | 0.4375 | 0.2386 | 0.0454 | 0.1307 | 0.1534 | 0.2386 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1100 |
| predicted_3B | 0.0930 |
| predicted_AB | 2.8510 |
| predicted_AVG | 0.2412 |
| predicted_BB | 0.3150 |
| predicted_H | 0.6880 |
| predicted_HBP | 0.0370 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.3214 |
| predicted_R | 0.4000 |
| predicted_RBI | 0.3090 |
| predicted_SLG | 0.4296 |
| predicted_SO | 0.5860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1080 | 0.1100 | 0.1088 | model_form_blend |
| predicted_3B | 0.0310 | 0.0930 | 0.0566 | model_form_blend |
| predicted_AB | 2.7080 | 2.8510 | 2.7671 | model_form_blend |
| predicted_AVG | 0.2590 | 0.2412 | 0.2516 | model_form_blend |
| predicted_BB | 0.4150 | 0.3150 | 0.3737 | model_form_blend |
| predicted_H | 0.3100 | 0.6880 | 0.4662 | model_form_blend |
| predicted_HBP | - | 0.0370 | 0.0370 | form_only |
| predicted_HR | 0.0500 | 0.0800 | 0.0624 | model_form_blend |
| predicted_OBP | 0.3000 | 0.3214 | 0.3088 | model_form_blend |
| predicted_R | 0.4000 | 0.4000 | 0.4000 | model_form_blend |
| predicted_RBI | 0.1600 | 0.3090 | 0.2216 | model_form_blend |
| predicted_SLG | 0.4100 | 0.4296 | 0.4181 | model_form_blend |
| predicted_SO | 0.6460 | 0.5860 | 0.6212 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 172 |
| Season rows before report date | 172 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260614_TEX@BOS |
| game_type | ph |
| mlbID | 592626 |
| note | Grounded into a forceout for Higashioka in the 9th. |
| playerID | 592626 |
| playerName | Joc Pederson |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.345 |
| sl_xwoba | 0.349 |
| sl_xba | 0.253 |
| sl_xslg | 0.417 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 47.8 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 29.7 |
| 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.242 | 0.000 | 0.000 | Hitting_2B | 0.288 | 0.000 | -0.288 | 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 | 4.000 | Hitting_AB | 3.887 | 3.000 | -0.887 | 0.000 |
| predicted_AVG | 0.253 | 0.333 | 0.250 | Hitting_AVG | 0.305 | 0.333 | 0.029 | 0.000 |
| predicted_BB | 0.318 | 1.000 | 0.000 | Hitting_BB | 0.329 | 1.000 | 0.671 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.090 | 1.000 | 1.000 | Hitting_H | 1.185 | 1.000 | -0.185 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.345 | 0.500 | 0.250 | Hitting_OBP | 0.364 | 0.600 | 0.136 | -0.100 |
| predicted_R | 0.485 | 0.000 | 0.000 | Hitting_R | 0.486 | 0.000 | -0.486 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_SLG | 0.401 | 0.333 | 0.250 | Hitting_SLG | 0.476 | 0.333 | -0.143 | 0.000 |
| predicted_SO | 0.682 | 0.000 | 1.000 | Hitting_SO | 0.635 | 0.000 | -0.635 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3180 -> 1.0000 (boost 0.6820, 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 | 4 | 3 | 1 | 2 | 2 | predicted_SO: 0.6820 -> 0.7512 (boost 0.0692, worse) | predicted_AB: 4.2900 -> 4.1276 (deboost -0.1624, 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.3513 -> 0.3238 (deboost -0.0275, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 0 | 8 | predicted_SO: 0.7506 -> 1.0000 (boost 0.2494, worse) | predicted_RBI: 0.4253 -> 0.0000 (deboost -0.4253, worse) | AB rounded to 4 (raw=4.29), rates preserved: AVG=0.257 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4659 -> 0.0000 (deboost -0.4659, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3937 -> 0.2500 (deboost -0.1437, 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_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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3937 (boost 0.1437, better) | - | 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.242,
"predicted_3B": 0.0,
"predicted_AB": 4.29,
"predicted_AVG": 0.253,
"predicted_BB": 0.318,
"predicted_H": 1.09,
"predicted_HR": 0.11,
"predicted_OBP": 0.345,
"predicted_R": 0.485,
"predicted_RBI": 0.44,
"predicted_SLG": 0.401,
"predicted_SO": 0.682
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.204,
"predicted_3B": 0.0004,
"predicted_AB": 4.1276,
"predicted_AVG": 0.2648,
"predicted_BB": 0.3441,
"predicted_H": 1.093,
"predicted_HBP": 0.107,
"predicted_HR": 0.1045,
"predicted_OBP": 0.3513,
"predicted_R": 0.458,
"predicted_RBI": 0.4181,
"predicted_SLG": 0.3986,
"predicted_SO": 0.7512
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.204,
"delta": -0.038,
"percent_delta": -0.157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.29,
"after": 4.1276,
"delta": -0.1624,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2648,
"delta": 0.0118,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 0.3441,
"delta": 0.0261,
"percent_delta": 0.0821,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.093,
"delta": 0.003,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1045,
"delta": -0.0055,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3513,
"delta": 0.0063,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 0.458,
"delta": -0.027,
"percent_delta": -0.0557,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4181,
"delta": -0.0219,
"percent_delta": -0.0498,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3986,
"delta": -0.0024,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 0.7512,
"delta": 0.0692,
"percent_delta": 0.1015,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.682,
"after": 0.7512,
"delta": 0.0692,
"percent_delta": 0.1015,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.29,
"after": 4.1276,
"delta": -0.1624,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.204,
"predicted_3B": 0.0004,
"predicted_AB": 4.1276,
"predicted_AVG": 0.2674,
"predicted_BB": 0.3444,
"predicted_H": 1.1038,
"predicted_HBP": 0.107,
"predicted_HR": 0.1054,
"predicted_OBP": 0.3238,
"predicted_R": 0.4659,
"predicted_RBI": 0.4253,
"predicted_SLG": 0.3937,
"predicted_SO": 0.7506
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.204,
"after": 0.204,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1276,
"after": 4.1276,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2648,
"after": 0.2674,
"delta": 0.0026,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3441,
"after": 0.3444,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.093,
"after": 1.1038,
"delta": 0.0108,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.107,
"after": 0.107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1045,
"after": 0.1054,
"delta": 0.0009,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3513,
"after": 0.3238,
"delta": -0.0275,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.458,
"after": 0.4659,
"delta": 0.0079,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4181,
"after": 0.4253,
"delta": 0.0072,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3986,
"after": 0.3937,
"delta": -0.0049,
"percent_delta": -0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7512,
"after": 0.7506,
"delta": -0.0006,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3513,
"after": 0.3238,
"delta": -0.0275,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.29), rates preserved: AVG=0.257 HR/AB=0.025",
"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.204,
"after": 0.0,
"delta": -0.204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1276,
"after": 4.0,
"delta": -0.1276,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3444,
"after": 0.0,
"delta": -0.3444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1038,
"after": 1.0,
"delta": -0.1038,
"percent_delta": -0.094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1054,
"after": 0.0,
"delta": -0.1054,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4253,
"after": 0.0,
"delta": -0.4253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7506,
"after": 1.0,
"delta": 0.2494,
"percent_delta": 0.3323,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7506,
"after": 1.0,
"delta": 0.2494,
"percent_delta": 0.3323,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4253,
"after": 0.0,
"delta": -0.4253,
"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.4659,
"after": 0.0,
"delta": -0.4659,
"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.4659,
"after": 0.0,
"delta": -0.4659,
"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.2674,
"after": 0.25,
"delta": -0.0174,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3238,
"after": 0.25,
"delta": -0.0738,
"percent_delta": -0.2279,
"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.3937,
"after": 0.25,
"delta": -0.1437,
"percent_delta": -0.365,
"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.3937,
"after": 0.25,
"delta": -0.1437,
"percent_delta": -0.365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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_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.2674,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3238,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3937,
"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.25,
"after": 0.2674,
"delta": 0.0174,
"percent_delta": 0.0697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3238,
"delta": 0.0738,
"percent_delta": 0.2954,
"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.3937,
"delta": 0.1437,
"percent_delta": 0.5747,
"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.3937,
"delta": 0.1437,
"percent_delta": 0.5747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.0,
"delta": -0.242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2674,
"delta": 0.0144,
"percent_delta": 0.0569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.318,
"after": 1.0,
"delta": 0.682,
"percent_delta": 2.1447,
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3238,
"delta": -0.0212,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 0.0,
"delta": -0.485,
"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.401,
"after": 0.3937,
"delta": -0.0073,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.682,
"after": 0.0,
"delta": -0.682,
"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.318,
"after": 1.0,
"delta": 0.682,
"percent_delta": 2.1447,
"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.242 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.318 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.485 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.682 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | -0.038 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.128 | -0.162 |
| predicted_AVG | 0.265 | 0.012 |
| predicted_BB | 0.344 | 0.026 |
| predicted_H | 1.093 | 0.003 |
| predicted_HBP | 0.107 | - |
| predicted_HR | 0.104 | -0.006 |
| predicted_OBP | 0.351 | 0.006 |
| predicted_R | 0.458 | -0.027 |
| predicted_RBI | 0.418 | -0.022 |
| predicted_SLG | 0.399 | -0.002 |
| predicted_SO | 0.751 | 0.069 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.128 | 0.000 |
| predicted_AVG | 0.267 | 0.003 |
| predicted_BB | 0.344 | 0.000 |
| predicted_H | 1.104 | 0.011 |
| predicted_HBP | 0.107 | 0.000 |
| predicted_HR | 0.105 | 0.001 |
| predicted_OBP | 0.324 | -0.028 |
| predicted_R | 0.466 | 0.008 |
| predicted_RBI | 0.425 | 0.007 |
| predicted_SLG | 0.394 | -0.005 |
| predicted_SO | 0.751 | -0.001 |
AB rounded to 4 (raw=4.29), rates preserved: AVG=0.257 HR/AB=0.025
| 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.204 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.128 |
| predicted_AVG | 0.250 | -0.017 |
| predicted_BB | 0.000 | -0.344 |
| predicted_H | 1.000 | -0.104 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.250 | -0.074 |
| predicted_R | 0.000 | -0.466 |
| predicted_RBI | 0.000 | -0.425 |
| predicted_SLG | 0.250 | -0.144 |
| 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 | -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 | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 3.000 | 7.000 | 0.2000 | 0.3333 | 0.2000 | 0.2000 | 0.0000 | 0.0500 | 0.1500 | 0.3500 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 0.000 | 0.000 | 1.000 | 3.000 | 4.000 | 4.000 | 8.000 | 0.3000 | 0.3913 | 0.3750 | 0.3000 | 0.0250 | 0.0750 | 0.1000 | 0.2000 |
| season | 0.60 | 66 | - | 254.000 | 78.000 | 16.000 | 0.000 | 8.000 | 30.000 | 32.000 | 21.000 | 45.000 | 0.3071 | 0.3665 | 0.4646 | 0.3071 | 0.0315 | 0.1181 | 0.0827 | 0.1772 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1520 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9050 |
| predicted_AVG | 0.2810 |
| predicted_BB | 0.3800 |
| predicted_H | 1.0970 |
| predicted_HBP | 0.1070 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.3599 |
| predicted_R | 0.4210 |
| predicted_RBI | 0.3880 |
| predicted_SLG | 0.3953 |
| predicted_SO | 0.8460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2420 | 0.1520 | 0.2040 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.2900 | 3.9050 | 4.1276 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2810 | 0.2648 | model_form_blend |
| predicted_BB | 0.3180 | 0.3800 | 0.3441 | model_form_blend |
| predicted_H | 1.0900 | 1.0970 | 1.0930 | model_form_blend |
| predicted_HBP | - | 0.1070 | 0.1070 | form_only |
| predicted_HR | 0.1100 | 0.0970 | 0.1045 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3599 | 0.3513 | model_form_blend |
| predicted_R | 0.4850 | 0.4210 | 0.4580 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3880 | 0.4181 | model_form_blend |
| predicted_SLG | 0.4010 | 0.3953 | 0.3986 | model_form_blend |
| predicted_SO | 0.6820 | 0.8460 | 0.7512 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.307 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 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 | 3B |
| gameID | 20260614_TEX@BOS |
| game_type | full |
| mlbID | 673962 |
| playerID | 673962 |
| playerName | Josh Jung |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.364 |
| sl_xwoba | 0.35 |
| sl_xba | 0.298 |
| sl_xslg | 0.445 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 44.7 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 18.9 |
| 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.172 | 0.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | -0.161 | 0.000 |
| predicted_3B | 0.069 | 0.000 | 0.000 | Hitting_3B | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_AB | 4.350 | 3.000 | 4.000 | Hitting_AB | 4.172 | 4.000 | -1.172 | -1.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.245 | 0.250 | -0.245 | -0.250 |
| predicted_BB | 0.241 | 1.000 | 0.000 | Hitting_BB | 0.204 | 1.000 | 0.796 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 0.000 | 1.000 | Hitting_H | 1.022 | 1.000 | -1.022 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.054 | 1.000 | -0.054 | -1.000 |
| predicted_OBP | 0.305 | 0.250 | 0.250 | Hitting_OBP | 0.280 | 0.400 | -0.030 | -0.150 |
| predicted_R | 0.517 | 0.000 | 1.000 | Hitting_R | 0.505 | 2.000 | -0.505 | -2.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.226 | 1.000 | -0.226 | -1.000 |
| predicted_SLG | 0.408 | 0.000 | 0.250 | Hitting_SLG | 0.369 | 1.000 | -0.369 | -1.000 |
| predicted_SO | 0.966 | 1.000 | 1.000 | Hitting_SO | 0.978 | 1.000 | 0.022 | 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 | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2410 -> 1.0000 (boost 0.7590, better) |
| Biggest Deboost | predicted_AB: 4.3500 -> 3.0000 (deboost -1.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 | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2370 -> 0.2435 (boost 0.0065, better) | predicted_AB: 4.3500 -> 4.2212 (deboost -0.1288, 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.3043 -> 0.2885 (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 | 6 | 0 | 6 | 0 | 6 | - | predicted_RBI: 0.4284 -> 0.0000 (deboost -0.4284, worse) | AB rounded to 4 (raw=4.35), rates preserved: AVG=0.238 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5359 -> 1.0000 (boost 0.4641, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4146 -> 0.2500 (deboost -0.1646, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.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.2500 -> 0.4146 (boost 0.1646, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694671",
"player_name": "Wyatt Langford",
"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.172,
"predicted_3B": 0.069,
"predicted_AB": 4.35,
"predicted_AVG": 0.237,
"predicted_BB": 0.241,
"predicted_H": 1.03,
"predicted_HR": 0.14,
"predicted_OBP": 0.305,
"predicted_R": 0.517,
"predicted_RBI": 0.44,
"predicted_SLG": 0.408,
"predicted_SO": 0.966
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1771,
"predicted_3B": 0.0564,
"predicted_AB": 4.2212,
"predicted_AVG": 0.2435,
"predicted_BB": 0.2547,
"predicted_H": 1.0261,
"predicted_HBP": 0.007,
"predicted_HR": 0.14,
"predicted_OBP": 0.3043,
"predicted_R": 0.5268,
"predicted_RBI": 0.4212,
"predicted_SLG": 0.4137,
"predicted_SO": 0.9629
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1771,
"delta": 0.0051,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.069,
"after": 0.0564,
"delta": -0.0126,
"percent_delta": -0.1826,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 4.2212,
"delta": -0.1288,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2435,
"delta": 0.0065,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 0.2547,
"delta": 0.0137,
"percent_delta": 0.0568,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 1.0261,
"delta": -0.0039,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.14,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3043,
"delta": -0.0007,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 0.5268,
"delta": 0.0098,
"percent_delta": 0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4212,
"delta": -0.0188,
"percent_delta": -0.0427,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4137,
"delta": 0.0057,
"percent_delta": 0.014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.966,
"after": 0.9629,
"delta": -0.0031,
"percent_delta": -0.0032,
"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.237,
"after": 0.2435,
"delta": 0.0065,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 4.2212,
"delta": -0.1288,
"percent_delta": -0.0296,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1771,
"predicted_3B": 0.0564,
"predicted_AB": 4.2212,
"predicted_AVG": 0.2455,
"predicted_BB": 0.2549,
"predicted_H": 1.0363,
"predicted_HBP": 0.007,
"predicted_HR": 0.1413,
"predicted_OBP": 0.2885,
"predicted_R": 0.5359,
"predicted_RBI": 0.4284,
"predicted_SLG": 0.4146,
"predicted_SO": 0.9621
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1771,
"after": 0.1771,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0564,
"after": 0.0564,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2212,
"after": 4.2212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2435,
"after": 0.2455,
"delta": 0.002,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2547,
"after": 0.2549,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0261,
"after": 1.0363,
"delta": 0.0102,
"percent_delta": 0.0099,
"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.14,
"after": 0.1413,
"delta": 0.0013,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3043,
"after": 0.2885,
"delta": -0.0158,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5268,
"after": 0.5359,
"delta": 0.0091,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4212,
"after": 0.4284,
"delta": 0.0072,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4137,
"after": 0.4146,
"delta": 0.0009,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9629,
"after": 0.9621,
"delta": -0.0008,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3043,
"after": 0.2885,
"delta": -0.0158,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.35), rates preserved: AVG=0.238 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.1771,
"after": 0.0,
"delta": -0.1771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0564,
"after": 0.0,
"delta": -0.0564,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2212,
"after": 4.0,
"delta": -0.2212,
"percent_delta": -0.0524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2549,
"after": 0.0,
"delta": -0.2549,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0363,
"after": 1.0,
"delta": -0.0363,
"percent_delta": -0.035,
"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.1413,
"after": 0.0,
"delta": -0.1413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4284,
"after": 0.0,
"delta": -0.4284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9621,
"after": 1.0,
"delta": 0.0379,
"percent_delta": 0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4284,
"after": 0.0,
"delta": -0.4284,
"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.5359,
"after": 1.0,
"delta": 0.4641,
"percent_delta": 0.866,
"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.5359,
"after": 1.0,
"delta": 0.4641,
"percent_delta": 0.866,
"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.2455,
"after": 0.25,
"delta": 0.0045,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2885,
"after": 0.25,
"delta": -0.0385,
"percent_delta": -0.1334,
"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.4146,
"after": 0.25,
"delta": -0.1646,
"percent_delta": -0.397,
"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.4146,
"after": 0.25,
"delta": -0.1646,
"percent_delta": -0.397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2455,
"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.2885,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4146,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2455,
"delta": -0.0045,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2885,
"delta": 0.0385,
"percent_delta": 0.1538,
"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.4146,
"delta": 0.1646,
"percent_delta": 0.6582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4146,
"delta": 0.1646,
"percent_delta": 0.6582,
"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.172,
"after": 0.0,
"delta": -0.172,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.35,
"after": 3.0,
"delta": -1.35,
"percent_delta": -0.3103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2455,
"delta": 0.0085,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.241,
"after": 1.0,
"delta": 0.759,
"percent_delta": 3.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 0.0,
"delta": -1.03,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2885,
"delta": -0.0165,
"percent_delta": -0.0541,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.517,
"after": 0.0,
"delta": -0.517,
"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.408,
"after": 0.4146,
"delta": 0.0066,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.966,
"after": 1.0,
"delta": 0.034,
"percent_delta": 0.0352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.241,
"after": 1.0,
"delta": 0.759,
"percent_delta": 3.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.35,
"after": 3.0,
"delta": -1.35,
"percent_delta": -0.3103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.069 | - |
| predicted_AB | 4.350 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.241 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.517 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 0.966 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | 0.005 |
| predicted_3B | 0.056 | -0.013 |
| predicted_AB | 4.221 | -0.129 |
| predicted_AVG | 0.243 | 0.007 |
| predicted_BB | 0.255 | 0.014 |
| predicted_H | 1.026 | -0.004 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.140 | 0.000 |
| predicted_OBP | 0.304 | -0.001 |
| predicted_R | 0.527 | 0.010 |
| predicted_RBI | 0.421 | -0.019 |
| predicted_SLG | 0.414 | 0.006 |
| predicted_SO | 0.963 | -0.003 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 4.221 | 0.000 |
| predicted_AVG | 0.245 | 0.002 |
| predicted_BB | 0.255 | 0.000 |
| predicted_H | 1.036 | 0.010 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.141 | 0.001 |
| predicted_OBP | 0.288 | -0.016 |
| predicted_R | 0.536 | 0.009 |
| predicted_RBI | 0.428 | 0.007 |
| predicted_SLG | 0.415 | 0.001 |
| predicted_SO | 0.962 | -0.001 |
AB rounded to 4 (raw=4.35), rates preserved: AVG=0.238 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.177 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 4.000 | -0.221 |
| predicted_AVG | 0.250 | 0.005 |
| predicted_BB | 0.000 | -0.255 |
| predicted_H | 1.000 | -0.036 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.250 | -0.038 |
| predicted_R | 1.000 | 0.464 |
| predicted_RBI | 0.000 | -0.428 |
| predicted_SLG | 0.250 | -0.165 |
| predicted_SO | 1.000 | 0.038 |
Attached 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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 7.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 5.000 | 0.3043 | 0.3333 | 0.4783 | 0.3044 | 0.0435 | 0.1304 | 0.0435 | 0.2174 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 2.000 | 0.000 | 2.000 | 4.000 | 6.000 | 4.000 | 10.000 | 0.2432 | 0.3171 | 0.4595 | 0.2432 | 0.0541 | 0.1081 | 0.1081 | 0.2703 |
| season | 0.60 | 29 | - | 116.000 | 28.000 | 5.000 | 2.000 | 3.000 | 8.000 | 15.000 | 7.000 | 28.000 | 0.2414 | 0.2846 | 0.3966 | 0.2414 | 0.0259 | 0.0690 | 0.0603 | 0.2414 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1850 |
| predicted_3B | 0.0370 |
| predicted_AB | 4.0220 |
| predicted_AVG | 0.2536 |
| predicted_BB | 0.2760 |
| predicted_H | 1.0200 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.3033 |
| predicted_R | 0.5420 |
| predicted_RBI | 0.3920 |
| predicted_SLG | 0.4224 |
| predicted_SO | 0.9580 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1850 | 0.1771 | model_form_blend |
| predicted_3B | 0.0690 | 0.0370 | 0.0564 | model_form_blend |
| predicted_AB | 4.3500 | 4.0220 | 4.2212 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2536 | 0.2435 | model_form_blend |
| predicted_BB | 0.2410 | 0.2760 | 0.2547 | model_form_blend |
| predicted_H | 1.0300 | 1.0200 | 1.0261 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.1400 | 0.1400 | 0.1400 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3033 | 0.3043 | model_form_blend |
| predicted_R | 0.5170 | 0.5420 | 0.5268 | model_form_blend |
| predicted_RBI | 0.4400 | 0.3920 | 0.4212 | model_form_blend |
| predicted_SLG | 0.4080 | 0.4224 | 0.4137 | model_form_blend |
| predicted_SO | 0.9660 | 0.9580 | 0.9629 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 93 |
| Season rows before report date | 93 |
| 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | 20260614_TEX@BOS |
| game_type | full |
| mlbID | 694671 |
| playerID | 694671 |
| playerName | Wyatt Langford |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 5.1 |
| sl_woba | 0.288 |
| sl_xwoba | 0.271 |
| sl_xba | 0.231 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 35.3 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 15.3 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.333 | 4.000 | 3.000 | Hitting_AB | 3.333 | 4.000 | 0.667 | 0.000 |
| predicted_AVG | 0.263 | 0.250 | 0.333 | Hitting_AVG | 0.400 | 0.500 | -0.150 | -0.250 |
| predicted_BB | 0.333 | 0.000 | 0.000 | Hitting_BB | 0.333 | 1.000 | -0.333 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.350 | 1.000 | 1.000 | Hitting_H | 1.333 | 2.000 | -0.333 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.320 | 0.250 | 0.333 | Hitting_OBP | 0.455 | 0.600 | -0.205 | -0.350 |
| predicted_R | 0.333 | 1.000 | 0.000 | Hitting_R | 0.333 | 1.000 | 0.667 | 0.000 |
| predicted_RBI | 0.170 | 1.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.386 | 0.250 | 0.333 | Hitting_SLG | 0.400 | 0.500 | -0.150 | -0.250 |
| predicted_SO | 1.333 | 0.000 | 1.000 | Hitting_SO | 1.333 | 0.000 | -1.333 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.1700 -> 1.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_SO: 1.3330 -> 0.0000 (deboost -1.3330, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 6 | 0 | predicted_H: 0.3500 -> 0.5227 (boost 0.1727, better) | predicted_SO: 1.3330 -> 1.2544 (deboost -0.0786, better) | Final model input calibrated with local 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.3910 -> 0.2112 (deboost -0.1798, 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_H: 0.5279 -> 0.0000 (deboost -0.5279, worse) | AB rounded to 3 (raw=3.42), rates preserved: AVG=0.154 HR/AB=0.015 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3670 -> 0.0000 (deboost -0.3670, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1541 -> 0.3330 (boost 0.1789, 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_AB: 3.0000 -> 4.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.1541 (deboost -0.1789, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683227",
"player_name": "Cody Freeman",
"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": 3.333,
"predicted_AVG": 0.263,
"predicted_BB": 0.333,
"predicted_H": 0.35,
"predicted_HR": 0.04,
"predicted_OBP": 0.32,
"predicted_R": 0.333,
"predicted_RBI": 0.17,
"predicted_SLG": 0.386,
"predicted_SO": 1.333
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0314,
"predicted_3B": 0.0026,
"predicted_AB": 3.425,
"predicted_AVG": 0.2695,
"predicted_BB": 0.3273,
"predicted_H": 0.5227,
"predicted_HBP": 0.025,
"predicted_HR": 0.0525,
"predicted_OBP": 0.3274,
"predicted_R": 0.3608,
"predicted_RBI": 0.2144,
"predicted_SLG": 0.391,
"predicted_SO": 1.2544
},
"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.0026,
"delta": 0.0026,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.333,
"after": 3.425,
"delta": 0.092,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2695,
"delta": 0.0065,
"percent_delta": 0.0247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.3273,
"delta": -0.0057,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.5227,
"delta": 0.1727,
"percent_delta": 0.4934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0525,
"delta": 0.0125,
"percent_delta": 0.3125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3274,
"delta": 0.0074,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.3608,
"delta": 0.0278,
"percent_delta": 0.0835,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2144,
"delta": 0.0444,
"percent_delta": 0.2612,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.391,
"delta": 0.005,
"percent_delta": 0.013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.333,
"after": 1.2544,
"delta": -0.0786,
"percent_delta": -0.059,
"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": 0.35,
"after": 0.5227,
"delta": 0.1727,
"percent_delta": 0.4934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.333,
"after": 1.2544,
"delta": -0.0786,
"percent_delta": -0.059,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 3,
"last_10": 3,
"season": 3
}
},
{
"index": 3,
"step": "team_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.0026,
"predicted_AB": 3.425,
"predicted_AVG": 0.1541,
"predicted_BB": 0.3276,
"predicted_H": 0.5279,
"predicted_HBP": 0.025,
"predicted_HR": 0.053,
"predicted_OBP": 0.228,
"predicted_R": 0.367,
"predicted_RBI": 0.2181,
"predicted_SLG": 0.2112,
"predicted_SO": 1.2534
},
"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.0026,
"after": 0.0026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.425,
"after": 3.425,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2695,
"after": 0.1541,
"delta": -0.1154,
"percent_delta": -0.4282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3273,
"after": 0.3276,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5227,
"after": 0.5279,
"delta": 0.0052,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0525,
"after": 0.053,
"delta": 0.0005,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3274,
"after": 0.228,
"delta": -0.0994,
"percent_delta": -0.3036,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3608,
"after": 0.367,
"delta": 0.0062,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2144,
"after": 0.2181,
"delta": 0.0037,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.2112,
"delta": -0.1798,
"percent_delta": -0.4598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2544,
"after": 1.2534,
"delta": -0.001,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.391,
"after": 0.2112,
"delta": -0.1798,
"percent_delta": -0.4598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.42), rates preserved: AVG=0.154 HR/AB=0.015",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0314,
"after": 0.0,
"delta": -0.0314,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0026,
"after": 0.0,
"delta": -0.0026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.425,
"after": 3.0,
"delta": -0.425,
"percent_delta": -0.1241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3276,
"after": 0.0,
"delta": -0.3276,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5279,
"after": 0.0,
"delta": -0.5279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.053,
"after": 0.0,
"delta": -0.053,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2181,
"after": 0.0,
"delta": -0.2181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2534,
"after": 1.0,
"delta": -0.2534,
"percent_delta": -0.2022,
"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_H",
"before": 0.5279,
"after": 0.0,
"delta": -0.5279,
"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.367,
"after": 0.0,
"delta": -0.367,
"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.367,
"after": 0.0,
"delta": -0.367,
"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.1541,
"after": 0.333,
"delta": 0.1789,
"percent_delta": 1.1609,
"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.228,
"after": 0.333,
"delta": 0.105,
"percent_delta": 0.4605,
"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.2112,
"after": 0.333,
"delta": 0.1218,
"percent_delta": 0.5767,
"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.1541,
"after": 0.333,
"delta": 0.1789,
"percent_delta": 1.1609,
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 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_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 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.1541,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.228,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2112,
"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.1541,
"delta": -0.1789,
"percent_delta": -0.5372,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.228,
"delta": -0.105,
"percent_delta": -0.3154,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2112,
"delta": -0.1218,
"percent_delta": -0.3657,
"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.1541,
"delta": -0.1789,
"percent_delta": -0.5372,
"direction": "deboost",
"projection_effect": "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.333,
"after": 4.0,
"delta": 0.667,
"percent_delta": 0.2001,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.1541,
"delta": -0.1089,
"percent_delta": -0.4141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.32,
"after": 0.228,
"delta": -0.092,
"percent_delta": -0.2875,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 1.0,
"delta": 0.667,
"percent_delta": 2.003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.2112,
"delta": -0.1748,
"percent_delta": -0.4528,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.333,
"after": 0.0,
"delta": -1.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.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.333,
"after": 0.0,
"delta": -1.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.333 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.350 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 1.333 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.031 | 0.031 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 3.425 | 0.092 |
| predicted_AVG | 0.270 | 0.007 |
| predicted_BB | 0.327 | -0.006 |
| predicted_H | 0.523 | 0.173 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.052 | 0.012 |
| predicted_OBP | 0.327 | 0.007 |
| predicted_R | 0.361 | 0.028 |
| predicted_RBI | 0.214 | 0.044 |
| predicted_SLG | 0.391 | 0.005 |
| predicted_SO | 1.254 | -0.079 |
Step 3: 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.425 | 0.000 |
| predicted_AVG | 0.154 | -0.115 |
| predicted_BB | 0.328 | 0.000 |
| predicted_H | 0.528 | 0.005 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.053 | 0.001 |
| predicted_OBP | 0.228 | -0.099 |
| predicted_R | 0.367 | 0.006 |
| predicted_RBI | 0.218 | 0.004 |
| predicted_SLG | 0.211 | -0.180 |
| predicted_SO | 1.253 | -0.001 |
AB rounded to 3 (raw=3.42), rates preserved: AVG=0.154 HR/AB=0.015
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.031 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 3.000 | -0.425 |
| predicted_AVG | 0.333 | 0.179 |
| predicted_BB | 0.000 | -0.328 |
| predicted_H | 1.000 | 0.472 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.333 | 0.105 |
| predicted_R | 0.000 | -0.367 |
| predicted_RBI | 0.000 | -0.218 |
| predicted_SLG | 0.333 | 0.122 |
| predicted_SO | 1.000 | -0.253 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 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 | - | 10.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.4000 | 0.4545 | 0.4000 | 0.4000 | 0.0000 | 0.0000 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 3 | - | 10.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.4000 | 0.4545 | 0.4000 | 0.4000 | 0.0000 | 0.0000 | 0.1000 | 0.4000 |
| season | 0.60 | 3 | - | 10.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.4000 | 0.4545 | 0.4000 | 0.4000 | 0.0000 | 0.0000 | 0.1000 | 0.4000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1330 |
| predicted_3B | 0.0110 |
| predicted_AB | 3.7230 |
| predicted_AVG | 0.2906 |
| predicted_BB | 0.3090 |
| predicted_H | 1.0820 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.3513 |
| predicted_R | 0.4510 |
| predicted_RBI | 0.3580 |
| predicted_SLG | 0.4070 |
| predicted_SO | 1.0000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1330 | 0.0314 | model_form_blend |
| predicted_3B | 0.0000 | 0.0110 | 0.0026 | model_form_blend |
| predicted_AB | 3.3330 | 3.7230 | 3.4250 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2906 | 0.2695 | model_form_blend |
| predicted_BB | 0.3330 | 0.3090 | 0.3273 | model_form_blend |
| predicted_H | 0.3500 | 1.0820 | 0.5227 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0400 | 0.0930 | 0.0525 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3513 | 0.3274 | model_form_blend |
| predicted_R | 0.3330 | 0.4510 | 0.3608 | model_form_blend |
| predicted_RBI | 0.1700 | 0.3580 | 0.2144 | model_form_blend |
| predicted_SLG | 0.3860 | 0.4070 | 0.3910 | model_form_blend |
| predicted_SO | 1.3330 | 1.0000 | 1.2544 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.4 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-2B |
| gameID | 20260614_TEX@BOS |
| game_type | full |
| mlbID | 683227 |
| playerID | 683227 |
| playerName | Cody Freeman |
| pos | 3B |
| started | True |
| startingPosition | LF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 66.7 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.298 |
| sl_xwoba | 0.116 |
| sl_xba | 0.126 |
| sl_xslg | 0.135 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 0.0 |
| sl_exit_velocity_avg | 71.0 |
| sl_launch_angle_avg | -25.8 |
| sl_whiff_percent | 50.0 |
| 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.059 | 0.000 | 0.000 | Hitting_2B | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.824 | 4.000 | 3.000 | Hitting_AB | 3.053 | 2.000 | 0.947 | 2.000 |
| predicted_AVG | 0.271 | 0.000 | 0.333 | Hitting_AVG | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_BB | 0.118 | 0.000 | 0.000 | Hitting_BB | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.270 | 0.000 | 1.000 | Hitting_H | 0.684 | 0.000 | -0.684 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.305 | 0.000 | 0.333 | Hitting_OBP | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_R | 0.294 | 0.000 | 0.000 | Hitting_R | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_SLG | 0.369 | 0.000 | 0.333 | Hitting_SLG | 0.293 | 0.000 | -0.293 | 0.000 |
| predicted_SO | 0.588 | 0.000 | 1.000 | Hitting_SO | 0.579 | 0.000 | -0.579 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.8240 -> 4.0000 (boost 1.1760, better) |
| Biggest Deboost | predicted_SO: 0.5880 -> 0.0000 (deboost -0.5880, 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 | 4 | 0 | 4 | 0 | predicted_H: 0.2700 -> 0.4873 (boost 0.2173, better) | - | Final model input calibrated with local 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.3724 -> 0.2369 (deboost -0.1355, 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.6032 -> 1.0000 (boost 0.3968, worse) | predicted_H: 0.4921 -> 0.0000 (deboost -0.4921, worse) | AB rounded to 3 (raw=2.98), rates preserved: AVG=0.165 HR/AB=0.014 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3196 -> 0.0000 (deboost -0.3196, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1652 -> 0.3330 (boost 0.1678, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_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.1652 (deboost -0.1678, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670032",
"player_name": "Nicky Lopez",
"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.059,
"predicted_3B": 0.0,
"predicted_AB": 2.824,
"predicted_AVG": 0.271,
"predicted_BB": 0.118,
"predicted_H": 0.27,
"predicted_HR": 0.03,
"predicted_OBP": 0.305,
"predicted_R": 0.294,
"predicted_RBI": 0.15,
"predicted_SLG": 0.369,
"predicted_SO": 0.588
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0815,
"predicted_3B": 0.0017,
"predicted_AB": 2.9795,
"predicted_AVG": 0.2728,
"predicted_BB": 0.1409,
"predicted_H": 0.4873,
"predicted_HBP": 0.076,
"predicted_HR": 0.0426,
"predicted_OBP": 0.3138,
"predicted_R": 0.3142,
"predicted_RBI": 0.2156,
"predicted_SLG": 0.3724,
"predicted_SO": 0.6037
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.059,
"after": 0.0815,
"delta": 0.0225,
"percent_delta": 0.3814,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.824,
"after": 2.9795,
"delta": 0.1555,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2728,
"delta": 0.0018,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.118,
"after": 0.1409,
"delta": 0.0229,
"percent_delta": 0.1941,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.4873,
"delta": 0.2173,
"percent_delta": 0.8048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0426,
"delta": 0.0126,
"percent_delta": 0.42,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3138,
"delta": 0.0088,
"percent_delta": 0.0289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.3142,
"delta": 0.0202,
"percent_delta": 0.0687,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.2156,
"delta": 0.0656,
"percent_delta": 0.4373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3724,
"delta": 0.0034,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 0.6037,
"delta": 0.0157,
"percent_delta": 0.0267,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.27,
"after": 0.4873,
"delta": 0.2173,
"percent_delta": 0.8048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0815,
"predicted_3B": 0.0017,
"predicted_AB": 2.9795,
"predicted_AVG": 0.1652,
"predicted_BB": 0.141,
"predicted_H": 0.4921,
"predicted_HBP": 0.076,
"predicted_HR": 0.043,
"predicted_OBP": 0.2029,
"predicted_R": 0.3196,
"predicted_RBI": 0.2193,
"predicted_SLG": 0.2369,
"predicted_SO": 0.6032
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0815,
"after": 0.0815,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9795,
"after": 2.9795,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2728,
"after": 0.1652,
"delta": -0.1076,
"percent_delta": -0.3944,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1409,
"after": 0.141,
"delta": 0.0001,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4873,
"after": 0.4921,
"delta": 0.0048,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.076,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0426,
"after": 0.043,
"delta": 0.0004,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3138,
"after": 0.2029,
"delta": -0.1109,
"percent_delta": -0.3534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3142,
"after": 0.3196,
"delta": 0.0054,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2156,
"after": 0.2193,
"delta": 0.0037,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3724,
"after": 0.2369,
"delta": -0.1355,
"percent_delta": -0.3639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6037,
"after": 0.6032,
"delta": -0.0005,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3724,
"after": 0.2369,
"delta": -0.1355,
"percent_delta": -0.3639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.98), rates preserved: AVG=0.165 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0815,
"after": 0.0,
"delta": -0.0815,
"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": 2.9795,
"after": 3.0,
"delta": 0.0205,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4921,
"after": 0.0,
"delta": -0.4921,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.076,
"after": 0.0,
"delta": -0.076,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2193,
"after": 0.0,
"delta": -0.2193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6032,
"after": 1.0,
"delta": 0.3968,
"percent_delta": 0.6578,
"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.6032,
"after": 1.0,
"delta": 0.3968,
"percent_delta": 0.6578,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4921,
"after": 0.0,
"delta": -0.4921,
"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.3196,
"after": 0.0,
"delta": -0.3196,
"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.3196,
"after": 0.0,
"delta": -0.3196,
"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.1652,
"after": 0.333,
"delta": 0.1678,
"percent_delta": 1.0157,
"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.2029,
"after": 0.333,
"delta": 0.1301,
"percent_delta": 0.6412,
"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.2369,
"after": 0.333,
"delta": 0.0961,
"percent_delta": 0.4057,
"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.1652,
"after": 0.333,
"delta": 0.1678,
"percent_delta": 1.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1652,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2029,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2369,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1652,
"delta": -0.1678,
"percent_delta": -0.504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2029,
"delta": -0.1301,
"percent_delta": -0.3907,
"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.2369,
"delta": -0.0961,
"percent_delta": -0.2885,
"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.1652,
"delta": -0.1678,
"percent_delta": -0.504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.059,
"after": 0.0,
"delta": -0.059,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.824,
"after": 4.0,
"delta": 1.176,
"percent_delta": 0.4164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.1652,
"delta": -0.1058,
"percent_delta": -0.3904,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"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.03,
"after": 0.0,
"delta": -0.03,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.2029,
"delta": -0.1021,
"percent_delta": -0.3348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.2369,
"delta": -0.1321,
"percent_delta": -0.358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.588,
"after": 0.0,
"delta": -0.588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.824,
"after": 4.0,
"delta": 1.176,
"percent_delta": 0.4164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.588,
"after": 0.0,
"delta": -0.588,
"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.059 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.824 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.118 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.294 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.588 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.082 | 0.023 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.979 | 0.155 |
| predicted_AVG | 0.273 | 0.002 |
| predicted_BB | 0.141 | 0.023 |
| predicted_H | 0.487 | 0.217 |
| predicted_HBP | 0.076 | - |
| predicted_HR | 0.043 | 0.013 |
| predicted_OBP | 0.314 | 0.009 |
| predicted_R | 0.314 | 0.020 |
| predicted_RBI | 0.216 | 0.066 |
| predicted_SLG | 0.372 | 0.003 |
| predicted_SO | 0.604 | 0.016 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.082 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.979 | 0.000 |
| predicted_AVG | 0.165 | -0.108 |
| predicted_BB | 0.141 | 0.000 |
| predicted_H | 0.492 | 0.005 |
| predicted_HBP | 0.076 | 0.000 |
| predicted_HR | 0.043 | 0.000 |
| predicted_OBP | 0.203 | -0.111 |
| predicted_R | 0.320 | 0.005 |
| predicted_RBI | 0.219 | 0.004 |
| predicted_SLG | 0.237 | -0.136 |
| predicted_SO | 0.603 | -0.001 |
AB rounded to 3 (raw=2.98), rates preserved: AVG=0.165 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.082 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.021 |
| predicted_AVG | 0.333 | 0.168 |
| predicted_BB | 0.000 | -0.141 |
| predicted_H | 1.000 | 0.508 |
| predicted_HR | 0.000 | -0.043 |
| predicted_OBP | 0.333 | 0.130 |
| predicted_R | 0.000 | -0.320 |
| predicted_RBI | 0.000 | -0.219 |
| predicted_SLG | 0.333 | 0.096 |
| predicted_SO | 1.000 | 0.397 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.3125 | 0.3889 | 0.3750 | 0.3125 | 0.0000 | 0.0625 | 0.0625 | 0.0625 |
| last_10 | 0.20 | 10 | - | 30.000 | 10.000 | 1.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 6.000 | 0.3333 | 0.3750 | 0.3667 | 0.3333 | 0.0000 | 0.0667 | 0.0333 | 0.2000 |
| season | 0.60 | 17 | - | 48.000 | 13.000 | 1.000 | 0.000 | 1.000 | 5.000 | 5.000 | 2.000 | 10.000 | 0.2708 | 0.3137 | 0.3542 | 0.2708 | 0.0208 | 0.1042 | 0.0417 | 0.2083 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1250 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.2790 |
| predicted_AVG | 0.2764 |
| predicted_BB | 0.1850 |
| predicted_H | 0.9060 |
| predicted_HBP | 0.0760 |
| predicted_HR | 0.0670 |
| predicted_OBP | 0.3308 |
| predicted_R | 0.3530 |
| predicted_RBI | 0.3420 |
| predicted_SLG | 0.3789 |
| predicted_SO | 0.6340 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0590 | 0.1250 | 0.0815 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.8240 | 3.2790 | 2.9795 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2764 | 0.2728 | model_form_blend |
| predicted_BB | 0.1180 | 0.1850 | 0.1409 | model_form_blend |
| predicted_H | 0.2700 | 0.9060 | 0.4873 | model_form_blend |
| predicted_HBP | - | 0.0760 | 0.0760 | form_only |
| predicted_HR | 0.0300 | 0.0670 | 0.0426 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3308 | 0.3138 | model_form_blend |
| predicted_R | 0.2940 | 0.3530 | 0.3142 | model_form_blend |
| predicted_RBI | 0.1500 | 0.3420 | 0.2156 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3789 | 0.3724 | model_form_blend |
| predicted_SO | 0.5880 | 0.6340 | 0.6037 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 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 | 6 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-SS |
| gameID | 20260614_TEX@BOS |
| game_type | ph |
| mlbID | 670032 |
| note | Lined out for Foscue in the 7th. |
| playerID | 670032 |
| playerName | Nicky Lopez |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 4.0 |
| sl_woba | 0.312 |
| sl_xwoba | 0.251 |
| sl_xba | 0.226 |
| sl_xslg | 0.284 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 24.3 |
| sl_exit_velocity_avg | 83.8 |
| sl_launch_angle_avg | 0.3 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 51.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.188 | 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 | 3.860 | 3.000 | 4.000 | Hitting_AB | 3.835 | 5.000 | -0.835 | -2.000 |
| predicted_AVG | 0.253 | 0.000 | 0.250 | Hitting_AVG | 0.239 | 0.200 | -0.239 | -0.200 |
| predicted_BB | 0.304 | 1.000 | 0.000 | Hitting_BB | 0.278 | 0.000 | 0.722 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.980 | 0.000 | 1.000 | Hitting_H | 0.917 | 1.000 | -0.917 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.174 | 0.000 | -0.174 | 0.000 |
| predicted_OBP | 0.336 | 0.250 | 0.250 | Hitting_OBP | 0.293 | 0.200 | -0.043 | 0.050 |
| predicted_R | 0.464 | 0.000 | 0.000 | Hitting_R | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.665 | 0.000 | -0.665 | 0.000 |
| predicted_SLG | 0.469 | 0.000 | 0.250 | Hitting_SLG | 0.420 | 0.400 | -0.420 | -0.400 |
| predicted_SO | 1.058 | 0.000 | 1.000 | Hitting_SO | 1.152 | 2.000 | -1.152 | -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.3040 -> 1.0000 (boost 0.6960, better) |
| Biggest Deboost | predicted_SO: 1.0580 -> 0.0000 (deboost -1.0580, 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 | 3 | 1 | 3 | 1 | predicted_SLG: 0.4690 -> 0.4930 (boost 0.0240, better) | predicted_AB: 3.8600 -> 3.7221 (deboost -0.1379, 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.3411 -> 0.3301 (deboost -0.0110, 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.5900 -> 1.0000 (boost 0.4100, better) | predicted_BB: 0.3460 -> 0.0000 (deboost -0.3460, worse) | AB rounded to 4 (raw=3.86), rates preserved: AVG=0.258 HR/AB=0.053 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4462 -> 0.0000 (deboost -0.4462, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4844 -> 0.2500 (deboost -0.2344, 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_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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4844 (boost 0.2344, better) | - | 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.188,
"predicted_3B": 0.0,
"predicted_AB": 3.86,
"predicted_AVG": 0.253,
"predicted_BB": 0.304,
"predicted_H": 0.98,
"predicted_HR": 0.19,
"predicted_OBP": 0.336,
"predicted_R": 0.464,
"predicted_RBI": 0.58,
"predicted_SLG": 0.469,
"predicted_SO": 1.058
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1905,
"predicted_3B": 0.0004,
"predicted_AB": 3.7221,
"predicted_AVG": 0.2654,
"predicted_BB": 0.3457,
"predicted_H": 0.9872,
"predicted_HBP": 0.011,
"predicted_HR": 0.2031,
"predicted_OBP": 0.3411,
"predicted_R": 0.4387,
"predicted_RBI": 0.58,
"predicted_SLG": 0.493,
"predicted_SO": 1.026
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.1905,
"delta": 0.0025,
"percent_delta": 0.0133,
"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.86,
"after": 3.7221,
"delta": -0.1379,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2654,
"delta": 0.0124,
"percent_delta": 0.049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 0.3457,
"delta": 0.0417,
"percent_delta": 0.1372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9872,
"delta": 0.0072,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.2031,
"delta": 0.0131,
"percent_delta": 0.0689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3411,
"delta": 0.0051,
"percent_delta": 0.0152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.4387,
"delta": -0.0253,
"percent_delta": -0.0545,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.58,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.469,
"after": 0.493,
"delta": 0.024,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.058,
"after": 1.026,
"delta": -0.032,
"percent_delta": -0.0302,
"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_SLG",
"before": 0.469,
"after": 0.493,
"delta": 0.024,
"percent_delta": 0.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.86,
"after": 3.7221,
"delta": -0.1379,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1905,
"predicted_3B": 0.0004,
"predicted_AB": 3.7221,
"predicted_AVG": 0.2679,
"predicted_BB": 0.346,
"predicted_H": 0.997,
"predicted_HBP": 0.011,
"predicted_HR": 0.2049,
"predicted_OBP": 0.3301,
"predicted_R": 0.4462,
"predicted_RBI": 0.59,
"predicted_SLG": 0.4844,
"predicted_SO": 1.0252
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1905,
"after": 0.1905,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7221,
"after": 3.7221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2654,
"after": 0.2679,
"delta": 0.0025,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3457,
"after": 0.346,
"delta": 0.0003,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9872,
"after": 0.997,
"delta": 0.0098,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2031,
"after": 0.2049,
"delta": 0.0018,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3411,
"after": 0.3301,
"delta": -0.011,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4387,
"after": 0.4462,
"delta": 0.0075,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.59,
"delta": 0.01,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.493,
"after": 0.4844,
"delta": -0.0086,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.026,
"after": 1.0252,
"delta": -0.0008,
"percent_delta": -0.0008,
"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.3411,
"after": 0.3301,
"delta": -0.011,
"percent_delta": -0.0322,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.86), rates preserved: AVG=0.258 HR/AB=0.053",
"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.1905,
"after": 0.0,
"delta": -0.1905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7221,
"after": 4.0,
"delta": 0.2779,
"percent_delta": 0.0747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.346,
"after": 0.0,
"delta": -0.346,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.997,
"after": 1.0,
"delta": 0.003,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2049,
"after": 0.0,
"delta": -0.2049,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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_SO",
"before": 1.0252,
"after": 1.0,
"delta": -0.0252,
"percent_delta": -0.0246,
"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.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.346,
"after": 0.0,
"delta": -0.346,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4462,
"after": 0.0,
"delta": -0.4462,
"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.4462,
"after": 0.0,
"delta": -0.4462,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2679,
"after": 0.25,
"delta": -0.0179,
"percent_delta": -0.0668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3301,
"after": 0.25,
"delta": -0.0801,
"percent_delta": -0.2427,
"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.4844,
"after": 0.25,
"delta": -0.2344,
"percent_delta": -0.4839,
"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.4844,
"after": 0.25,
"delta": -0.2344,
"percent_delta": -0.4839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2679,
"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.3301,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4844,
"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.2679,
"delta": 0.0179,
"percent_delta": 0.0714,
"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.3301,
"delta": 0.0801,
"percent_delta": 0.3205,
"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.4844,
"delta": 0.2344,
"percent_delta": 0.9377,
"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.4844,
"delta": 0.2344,
"percent_delta": 0.9377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.86,
"after": 3.0,
"delta": -0.86,
"percent_delta": -0.2228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2679,
"delta": 0.0149,
"percent_delta": 0.0589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.304,
"after": 1.0,
"delta": 0.696,
"percent_delta": 2.2895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"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.336,
"after": 0.3301,
"delta": -0.0059,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.464,
"after": 0.0,
"delta": -0.464,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.0,
"delta": -0.58,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.469,
"after": 0.4844,
"delta": 0.0154,
"percent_delta": 0.0328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.058,
"after": 0.0,
"delta": -1.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.304,
"after": 1.0,
"delta": 0.696,
"percent_delta": 2.2895,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.058,
"after": 0.0,
"delta": -1.058,
"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.188 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.860 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.304 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.464 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.469 | - |
| predicted_SO | 1.058 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.722 | -0.138 |
| predicted_AVG | 0.265 | 0.012 |
| predicted_BB | 0.346 | 0.042 |
| predicted_H | 0.987 | 0.007 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.203 | 0.013 |
| predicted_OBP | 0.341 | 0.005 |
| predicted_R | 0.439 | -0.025 |
| predicted_RBI | 0.580 | 0.000 |
| predicted_SLG | 0.493 | 0.024 |
| predicted_SO | 1.026 | -0.032 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 3.722 | 0.000 |
| predicted_AVG | 0.268 | 0.003 |
| predicted_BB | 0.346 | 0.000 |
| predicted_H | 0.997 | 0.010 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.205 | 0.002 |
| predicted_OBP | 0.330 | -0.011 |
| predicted_R | 0.446 | 0.008 |
| predicted_RBI | 0.590 | 0.010 |
| predicted_SLG | 0.484 | -0.009 |
| predicted_SO | 1.025 | -0.001 |
AB rounded to 4 (raw=3.86), rates preserved: AVG=0.258 HR/AB=0.053
| 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 | 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.191 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.278 |
| predicted_AVG | 0.250 | -0.018 |
| predicted_BB | 0.000 | -0.346 |
| predicted_H | 1.000 | 0.003 |
| predicted_HR | 0.000 | -0.205 |
| predicted_OBP | 0.250 | -0.080 |
| predicted_R | 0.000 | -0.446 |
| predicted_RBI | 1.000 | 0.410 |
| predicted_SLG | 0.250 | -0.234 |
| predicted_SO | 1.000 | -0.025 |
Attached 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 6.000 | 1.000 | 0.000 | 2.000 | 3.000 | 2.000 | 3.000 | 5.000 | 0.3750 | 0.4500 | 0.8125 | 0.3750 | 0.1250 | 0.1875 | 0.1875 | 0.3125 |
| last_10 | 0.20 | 10 | - | 32.000 | 10.000 | 2.000 | 0.000 | 2.000 | 5.000 | 2.000 | 5.000 | 8.000 | 0.3125 | 0.3947 | 0.5625 | 0.3125 | 0.0625 | 0.1562 | 0.1562 | 0.2500 |
| season | 0.60 | 69 | - | 255.000 | 63.000 | 13.000 | 0.000 | 12.000 | 42.000 | 32.000 | 21.000 | 73.000 | 0.2471 | 0.3047 | 0.4392 | 0.2471 | 0.0471 | 0.1647 | 0.0824 | 0.2863 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5330 |
| predicted_AVG | 0.2823 |
| predicted_BB | 0.4030 |
| predicted_H | 0.9970 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2210 |
| predicted_OBP | 0.3480 |
| predicted_R | 0.4040 |
| predicted_RBI | 0.5800 |
| predicted_SLG | 0.5260 |
| predicted_SO | 0.9820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1940 | 0.1905 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.8600 | 3.5330 | 3.7221 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2823 | 0.2654 | model_form_blend |
| predicted_BB | 0.3040 | 0.4030 | 0.3457 | model_form_blend |
| predicted_H | 0.9800 | 0.9970 | 0.9872 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1900 | 0.2210 | 0.2031 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3480 | 0.3411 | model_form_blend |
| predicted_R | 0.4640 | 0.4040 | 0.4387 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5800 | 0.5800 | model_form_blend |
| predicted_SLG | 0.4690 | 0.5260 | 0.4930 | model_form_blend |
| predicted_SO | 1.0580 | 0.9820 | 1.0260 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 230 |
| Season rows before report date | 230 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.247 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260614_TEX@BOS |
| game_type | full |
| mlbID | 669394 |
| playerID | 669394 |
| playerName | Jake Burger |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.9 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.326 |
| sl_xwoba | 0.314 |
| sl_xba | 0.246 |
| sl_xslg | 0.415 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 47.5 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 11.7 |
| sl_whiff_percent | 34.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.054 | 0.000 | 0.000 | Hitting_2B | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.568 | 3.000 | 3.000 | Hitting_AB | 2.792 | 4.000 | 0.208 | -1.000 |
| predicted_AVG | 0.265 | 0.333 | 0.333 | Hitting_AVG | 0.239 | 0.250 | 0.095 | 0.083 |
| predicted_BB | 0.297 | 1.000 | 0.000 | Hitting_BB | 0.406 | 0.000 | 0.594 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.073 | 0.000 | -0.073 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.667 | 1.000 | 0.333 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.318 | 0.500 | 0.333 | Hitting_OBP | 0.376 | 0.250 | 0.124 | 0.250 |
| predicted_R | 0.270 | 0.000 | 0.000 | Hitting_R | 0.344 | 1.000 | -0.344 | -1.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_SLG | 0.315 | 0.333 | 0.333 | Hitting_SLG | 0.269 | 0.250 | 0.065 | 0.083 |
| predicted_SO | 0.405 | 2.000 | 0.000 | Hitting_SO | 0.500 | 0.000 | 1.500 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_SO: 0.4050 -> 2.0000 (boost 1.5950, worse) |
| Biggest Deboost | predicted_RBI: 0.3300 -> 0.0000 (deboost -0.3300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_AB: 2.5680 -> 2.7520 (boost 0.1840, better) | predicted_SLG: 0.3150 -> 0.3012 (deboost -0.0138, 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_SLG: 0.3012 -> 0.3192 (boost 0.0180, 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_H: 0.7013 -> 1.0000 (boost 0.2987, better) | predicted_SO: 0.4249 -> 0.0000 (deboost -0.4249, better) | AB rounded to 3 (raw=2.75), rates preserved: AVG=0.255 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3019 -> 0.0000 (deboost -0.3019, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2548 -> 0.3330 (boost 0.0782, better) | - | 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_SO: 0.0000 -> 2.0000 (boost 2.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2548 (deboost -0.0782, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"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.054,
"predicted_3B": 0.0,
"predicted_AB": 2.568,
"predicted_AVG": 0.265,
"predicted_BB": 0.297,
"predicted_H": 0.68,
"predicted_HR": 0.05,
"predicted_OBP": 0.318,
"predicted_R": 0.27,
"predicted_RBI": 0.33,
"predicted_SLG": 0.315,
"predicted_SO": 0.405
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0571,
"predicted_3B": 0.0008,
"predicted_AB": 2.752,
"predicted_AVG": 0.2537,
"predicted_BB": 0.2888,
"predicted_H": 0.6944,
"predicted_HBP": 0.113,
"predicted_HR": 0.0391,
"predicted_OBP": 0.3194,
"predicted_R": 0.2968,
"predicted_RBI": 0.3218,
"predicted_SLG": 0.3012,
"predicted_SO": 0.4252
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.054,
"after": 0.0571,
"delta": 0.0031,
"percent_delta": 0.0574,
"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.568,
"after": 2.752,
"delta": 0.184,
"percent_delta": 0.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2537,
"delta": -0.0113,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.297,
"after": 0.2888,
"delta": -0.0082,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.6944,
"delta": 0.0144,
"percent_delta": 0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.318,
"after": 0.3194,
"delta": 0.0014,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.27,
"after": 0.2968,
"delta": 0.0268,
"percent_delta": 0.0993,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3218,
"delta": -0.0082,
"percent_delta": -0.0248,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.3012,
"delta": -0.0138,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.405,
"after": 0.4252,
"delta": 0.0202,
"percent_delta": 0.0499,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.568,
"after": 2.752,
"delta": 0.184,
"percent_delta": 0.0717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.3012,
"delta": -0.0138,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0571,
"predicted_3B": 0.0008,
"predicted_AB": 2.752,
"predicted_AVG": 0.2548,
"predicted_BB": 0.289,
"predicted_H": 0.7013,
"predicted_HBP": 0.113,
"predicted_HR": 0.0395,
"predicted_OBP": 0.3256,
"predicted_R": 0.3019,
"predicted_RBI": 0.3273,
"predicted_SLG": 0.3192,
"predicted_SO": 0.4249
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0571,
"after": 0.0571,
"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": 2.752,
"after": 2.752,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2537,
"after": 0.2548,
"delta": 0.0011,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2888,
"after": 0.289,
"delta": 0.0002,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6944,
"after": 0.7013,
"delta": 0.0069,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.113,
"after": 0.113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0391,
"after": 0.0395,
"delta": 0.0004,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3194,
"after": 0.3256,
"delta": 0.0062,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2968,
"after": 0.3019,
"delta": 0.0051,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3218,
"after": 0.3273,
"delta": 0.0055,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3012,
"after": 0.3192,
"delta": 0.018,
"percent_delta": 0.0598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4252,
"after": 0.4249,
"delta": -0.0003,
"percent_delta": -0.0007,
"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.3012,
"after": 0.3192,
"delta": 0.018,
"percent_delta": 0.0598,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.75), rates preserved: AVG=0.255 HR/AB=0.014",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0571,
"after": 0.0,
"delta": -0.0571,
"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": 2.752,
"after": 3.0,
"delta": 0.248,
"percent_delta": 0.0901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7013,
"after": 1.0,
"delta": 0.2987,
"percent_delta": 0.4259,
"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.0395,
"after": 0.0,
"delta": -0.0395,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3273,
"after": 0.0,
"delta": -0.3273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4249,
"after": 0.0,
"delta": -0.4249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7013,
"after": 1.0,
"delta": 0.2987,
"percent_delta": 0.4259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4249,
"after": 0.0,
"delta": -0.4249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3019,
"after": 0.0,
"delta": -0.3019,
"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.3019,
"after": 0.0,
"delta": -0.3019,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2548,
"after": 0.333,
"delta": 0.0782,
"percent_delta": 0.3069,
"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.3256,
"after": 0.333,
"delta": 0.0074,
"percent_delta": 0.0227,
"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.3192,
"after": 0.333,
"delta": 0.0138,
"percent_delta": 0.0432,
"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.2548,
"after": 0.333,
"delta": 0.0782,
"percent_delta": 0.3069,
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"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_SO",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2548,
"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.3256,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3192,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2548,
"delta": -0.0782,
"percent_delta": -0.2348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.3256,
"delta": -0.0074,
"percent_delta": -0.0221,
"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.3192,
"delta": -0.0138,
"percent_delta": -0.0416,
"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.2548,
"delta": -0.0782,
"percent_delta": -0.2348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.054,
"after": 0.0,
"delta": -0.054,
"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.568,
"after": 3.0,
"delta": 0.432,
"percent_delta": 0.1682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2548,
"delta": -0.0102,
"percent_delta": -0.0385,
"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.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"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.318,
"after": 0.3256,
"delta": 0.0076,
"percent_delta": 0.0239,
"direction": "boost",
"projection_effect": "better",
"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.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.315,
"after": 0.3192,
"delta": 0.0042,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.405,
"after": 2.0,
"delta": 1.595,
"percent_delta": 3.9383,
"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.405,
"after": 2.0,
"delta": 1.595,
"percent_delta": 3.9383,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"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.054 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.568 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.297 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.270 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.315 | - |
| predicted_SO | 0.405 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.057 | 0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.752 | 0.184 |
| predicted_AVG | 0.254 | -0.011 |
| predicted_BB | 0.289 | -0.008 |
| predicted_H | 0.694 | 0.014 |
| predicted_HBP | 0.113 | - |
| predicted_HR | 0.039 | -0.011 |
| predicted_OBP | 0.319 | 0.001 |
| predicted_R | 0.297 | 0.027 |
| predicted_RBI | 0.322 | -0.008 |
| predicted_SLG | 0.301 | -0.014 |
| predicted_SO | 0.425 | 0.020 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.057 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.752 | 0.000 |
| predicted_AVG | 0.255 | 0.001 |
| predicted_BB | 0.289 | 0.000 |
| predicted_H | 0.701 | 0.007 |
| predicted_HBP | 0.113 | 0.000 |
| predicted_HR | 0.040 | 0.000 |
| predicted_OBP | 0.326 | 0.006 |
| predicted_R | 0.302 | 0.005 |
| predicted_RBI | 0.327 | 0.006 |
| predicted_SLG | 0.319 | 0.018 |
| predicted_SO | 0.425 | -0.000 |
AB rounded to 3 (raw=2.75), rates preserved: AVG=0.255 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.057 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.248 |
| predicted_AVG | 0.333 | 0.078 |
| predicted_BB | 0.000 | -0.289 |
| predicted_H | 1.000 | 0.299 |
| predicted_HR | 0.000 | -0.040 |
| predicted_OBP | 0.333 | 0.007 |
| predicted_R | 0.000 | -0.302 |
| predicted_RBI | 0.000 | -0.327 |
| predicted_SLG | 0.333 | 0.014 |
| predicted_SO | 0.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 | 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 | 2.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 2.000 | 0.2353 | 0.2778 | 0.2353 | 0.2353 | 0.0000 | 0.1177 | 0.0588 | 0.1177 |
| last_10 | 0.20 | 10 | - | 30.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 2.000 | 2.000 | 0.1667 | 0.2424 | 0.1667 | 0.1667 | 0.0000 | 0.0667 | 0.0667 | 0.0667 |
| season | 0.60 | 37 | - | 95.000 | 24.000 | 2.000 | 0.000 | 0.000 | 9.000 | 10.000 | 11.000 | 15.000 | 0.2526 | 0.3661 | 0.2737 | 0.2526 | 0.0000 | 0.0947 | 0.1158 | 0.1579 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0620 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0420 |
| predicted_AVG | 0.2359 |
| predicted_BB | 0.2760 |
| predicted_H | 0.7170 |
| predicted_HBP | 0.1130 |
| predicted_HR | 0.0220 |
| predicted_OBP | 0.3215 |
| predicted_R | 0.3390 |
| predicted_RBI | 0.3090 |
| predicted_SLG | 0.2795 |
| predicted_SO | 0.4570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0540 | 0.0620 | 0.0571 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5680 | 3.0420 | 2.7520 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2359 | 0.2537 | model_form_blend |
| predicted_BB | 0.2970 | 0.2760 | 0.2888 | model_form_blend |
| predicted_H | 0.6800 | 0.7170 | 0.6944 | model_form_blend |
| predicted_HBP | - | 0.1130 | 0.1130 | form_only |
| predicted_HR | 0.0500 | 0.0220 | 0.0391 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3215 | 0.3194 | model_form_blend |
| predicted_R | 0.2700 | 0.3390 | 0.2968 | model_form_blend |
| predicted_RBI | 0.3300 | 0.3090 | 0.3218 | model_form_blend |
| predicted_SLG | 0.3150 | 0.2795 | 0.3012 | model_form_blend |
| predicted_SO | 0.4050 | 0.4570 | 0.4252 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 96 |
| Season rows before report date | 96 |
| Report year | 2026 |
| Profile rows used | 37 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 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 | CF |
| gameID | 20260614_TEX@BOS |
| game_type | full |
| mlbID | 696030 |
| playerID | 696030 |
| playerName | Alejandro Osuna |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 13.6 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.313 |
| sl_xwoba | 0.328 |
| sl_xba | 0.263 |
| sl_xslg | 0.316 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 33.8 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 3.8 |
| sl_whiff_percent | 16.0 |
| 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.231 | 1.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.692 | 4.000 | 3.000 | Hitting_AB | 2.167 | 0.000 | 1.833 | 4.000 |
| predicted_AVG | 0.296 | 0.250 | 0.333 | Hitting_AVG | 0.385 | - | -0.135 | - |
| predicted_BB | 0.077 | 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.580 | 1.000 | 1.000 | Hitting_H | 0.833 | 0.000 | 0.167 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.310 | 0.250 | 0.333 | Hitting_OBP | 0.385 | - | -0.135 | - |
| predicted_R | 0.385 | 0.000 | 0.000 | Hitting_R | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_SLG | 0.438 | 0.500 | 0.333 | Hitting_SLG | 0.462 | - | 0.038 | - |
| predicted_SO | 0.538 | 1.000 | 1.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 | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.6920 -> 4.0000 (boost 1.3080, better) |
| Biggest Deboost | predicted_R: 0.3850 -> 0.0000 (deboost -0.3850, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_AB: 2.6920 -> 2.8619 (boost 0.1699, better) | predicted_AVG: 0.2960 -> 0.2898 (deboost -0.0062, 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.2898 -> 0.2397 (deboost -0.0501, 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: 0.5774 -> 1.0000 (boost 0.4226, worse) | predicted_RBI: 0.4112 -> 0.0000 (deboost -0.4112, worse) | AB rounded to 3 (raw=2.86), rates preserved: AVG=0.240 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4109 -> 0.0000 (deboost -0.4109, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2397 -> 0.3330 (boost 0.0933, better) | predicted_SLG: 0.4291 -> 0.3330 (deboost -0.0961, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4291 (boost 0.0961, better) | predicted_AVG: 0.3330 -> 0.2397 (deboost -0.0933, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "553869",
"player_name": "Elias Díaz",
"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.231,
"predicted_3B": 0.0,
"predicted_AB": 2.692,
"predicted_AVG": 0.296,
"predicted_BB": 0.077,
"predicted_H": 0.58,
"predicted_HR": 0.09,
"predicted_OBP": 0.31,
"predicted_R": 0.385,
"predicted_RBI": 0.35,
"predicted_SLG": 0.438,
"predicted_SO": 0.538
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2218,
"predicted_3B": 0.0019,
"predicted_AB": 2.8619,
"predicted_AVG": 0.2898,
"predicted_BB": 0.0979,
"predicted_H": 0.6792,
"predicted_HBP": 0.013,
"predicted_HR": 0.1046,
"predicted_OBP": 0.3106,
"predicted_R": 0.404,
"predicted_RBI": 0.4042,
"predicted_SLG": 0.4477,
"predicted_SO": 0.5779
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.2218,
"delta": -0.0092,
"percent_delta": -0.0398,
"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.692,
"after": 2.8619,
"delta": 0.1699,
"percent_delta": 0.0631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2898,
"delta": -0.0062,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.077,
"after": 0.0979,
"delta": 0.0209,
"percent_delta": 0.2714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 0.6792,
"delta": 0.0992,
"percent_delta": 0.171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1046,
"delta": 0.0146,
"percent_delta": 0.1622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3106,
"delta": 0.0006,
"percent_delta": 0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.404,
"delta": 0.019,
"percent_delta": 0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.4042,
"delta": 0.0542,
"percent_delta": 0.1549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4477,
"delta": 0.0097,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 0.5779,
"delta": 0.0399,
"percent_delta": 0.0742,
"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_AB",
"before": 2.692,
"after": 2.8619,
"delta": 0.1699,
"percent_delta": 0.0631,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2898,
"delta": -0.0062,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 13
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2218,
"predicted_3B": 0.0019,
"predicted_AB": 2.8619,
"predicted_AVG": 0.2397,
"predicted_BB": 0.098,
"predicted_H": 0.6859,
"predicted_HBP": 0.013,
"predicted_HR": 0.1055,
"predicted_OBP": 0.2648,
"predicted_R": 0.4109,
"predicted_RBI": 0.4112,
"predicted_SLG": 0.4291,
"predicted_SO": 0.5774
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2218,
"after": 0.2218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0019,
"after": 0.0019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8619,
"after": 2.8619,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2898,
"after": 0.2397,
"delta": -0.0501,
"percent_delta": -0.1729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0979,
"after": 0.098,
"delta": 0.0001,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6792,
"after": 0.6859,
"delta": 0.0067,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1046,
"after": 0.1055,
"delta": 0.0009,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3106,
"after": 0.2648,
"delta": -0.0458,
"percent_delta": -0.1475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.404,
"after": 0.4109,
"delta": 0.0069,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4042,
"after": 0.4112,
"delta": 0.007,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4477,
"after": 0.4291,
"delta": -0.0186,
"percent_delta": -0.0415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5779,
"after": 0.5774,
"delta": -0.0005,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2898,
"after": 0.2397,
"delta": -0.0501,
"percent_delta": -0.1729,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.86), rates preserved: AVG=0.240 HR/AB=0.037",
"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.2218,
"after": 0.0,
"delta": -0.2218,
"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": 2.8619,
"after": 3.0,
"delta": 0.1381,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.098,
"after": 0.0,
"delta": -0.098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6859,
"after": 1.0,
"delta": 0.3141,
"percent_delta": 0.4579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1055,
"after": 0.0,
"delta": -0.1055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4112,
"after": 0.0,
"delta": -0.4112,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5774,
"after": 1.0,
"delta": 0.4226,
"percent_delta": 0.7319,
"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": 0.5774,
"after": 1.0,
"delta": 0.4226,
"percent_delta": 0.7319,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4112,
"after": 0.0,
"delta": -0.4112,
"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.4109,
"after": 0.0,
"delta": -0.4109,
"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.4109,
"after": 0.0,
"delta": -0.4109,
"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.2397,
"after": 0.333,
"delta": 0.0933,
"percent_delta": 0.3892,
"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.2648,
"after": 0.333,
"delta": 0.0682,
"percent_delta": 0.2576,
"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.4291,
"after": 0.333,
"delta": -0.0961,
"percent_delta": -0.224,
"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.2397,
"after": 0.333,
"delta": 0.0933,
"percent_delta": 0.3892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4291,
"after": 0.333,
"delta": -0.0961,
"percent_delta": -0.224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2397,
"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.2648,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4291,
"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.333,
"after": 0.2397,
"delta": -0.0933,
"percent_delta": -0.2803,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2648,
"delta": -0.0682,
"percent_delta": -0.2047,
"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.4291,
"delta": 0.0961,
"percent_delta": 0.2887,
"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.4291,
"delta": 0.0961,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2397,
"delta": -0.0933,
"percent_delta": -0.2803,
"direction": "deboost",
"projection_effect": "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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.692,
"after": 4.0,
"delta": 1.308,
"percent_delta": 0.4859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2397,
"delta": -0.0563,
"percent_delta": -0.1902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"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.31,
"after": 0.2648,
"delta": -0.0452,
"percent_delta": -0.1458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4291,
"delta": -0.0089,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 1.0,
"delta": 0.462,
"percent_delta": 0.8587,
"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": 2.692,
"after": 4.0,
"delta": 1.308,
"percent_delta": 0.4859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"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.231 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.692 | - |
| predicted_AVG | 0.296 | - |
| predicted_BB | 0.077 | - |
| predicted_H | 0.580 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.385 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 0.538 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | -0.009 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.862 | 0.170 |
| predicted_AVG | 0.290 | -0.006 |
| predicted_BB | 0.098 | 0.021 |
| predicted_H | 0.679 | 0.099 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.105 | 0.015 |
| predicted_OBP | 0.311 | 0.001 |
| predicted_R | 0.404 | 0.019 |
| predicted_RBI | 0.404 | 0.054 |
| predicted_SLG | 0.448 | 0.010 |
| predicted_SO | 0.578 | 0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.862 | 0.000 |
| predicted_AVG | 0.240 | -0.050 |
| predicted_BB | 0.098 | 0.000 |
| predicted_H | 0.686 | 0.007 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.105 | 0.001 |
| predicted_OBP | 0.265 | -0.046 |
| predicted_R | 0.411 | 0.007 |
| predicted_RBI | 0.411 | 0.007 |
| predicted_SLG | 0.429 | -0.019 |
| predicted_SO | 0.577 | -0.000 |
AB rounded to 3 (raw=2.86), rates preserved: AVG=0.240 HR/AB=0.037
| 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.222 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.138 |
| predicted_AVG | 0.333 | 0.093 |
| predicted_BB | 0.000 | -0.098 |
| predicted_H | 1.000 | 0.314 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.333 | 0.068 |
| predicted_R | 0.000 | -0.411 |
| predicted_RBI | 0.000 | -0.411 |
| predicted_SLG | 0.333 | -0.096 |
| predicted_SO | 1.000 | 0.423 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 5.000 | 1.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 2.000 | 0.3846 | 0.3846 | 0.4615 | 0.3846 | 0.0000 | 0.1538 | 0.0000 | 0.1538 |
| last_10 | 0.20 | 10 | - | 28.000 | 7.000 | 1.000 | 0.000 | 2.000 | 5.000 | 4.000 | 0.000 | 6.000 | 0.2500 | 0.2500 | 0.5000 | 0.2500 | 0.0714 | 0.1786 | 0.0000 | 0.2143 |
| season | 0.60 | 13 | - | 35.000 | 10.000 | 3.000 | 0.000 | 2.000 | 7.000 | 5.000 | 1.000 | 7.000 | 0.2857 | 0.3056 | 0.5429 | 0.2857 | 0.0571 | 0.2000 | 0.0286 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2020 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.2280 |
| predicted_AVG | 0.2766 |
| predicted_BB | 0.1430 |
| predicted_H | 0.8930 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1360 |
| predicted_OBP | 0.3118 |
| predicted_R | 0.4450 |
| predicted_RBI | 0.5210 |
| predicted_SLG | 0.4687 |
| predicted_SO | 0.6640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.2020 | 0.2218 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 2.6920 | 3.2280 | 2.8619 | model_form_blend |
| predicted_AVG | 0.2960 | 0.2766 | 0.2898 | model_form_blend |
| predicted_BB | 0.0770 | 0.1430 | 0.0979 | model_form_blend |
| predicted_H | 0.5800 | 0.8930 | 0.6792 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0900 | 0.1360 | 0.1046 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3118 | 0.3106 | model_form_blend |
| predicted_R | 0.3850 | 0.4450 | 0.4040 | model_form_blend |
| predicted_RBI | 0.3500 | 0.5210 | 0.4042 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4687 | 0.4477 | model_form_blend |
| predicted_SO | 0.5380 | 0.6640 | 0.5779 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 13 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 2 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260614_TEX@BOS |
| game_type | short |
| mlbID | 553869 |
| playerID | 553869 |
| playerName | Elias Díaz |
| pos | C |
| started | False |
| startingPosition | C |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 2.8 |
| sl_woba | 0.364 |
| sl_xwoba | 0.282 |
| sl_xba | 0.243 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 10.7 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 58.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 | 2.357 | 3.000 | 0.643 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.357 | 2.000 | -0.357 | 0.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 4.500 | 8.000 | -0.500 | -4.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.921 | 5.000 | -0.721 | -0.800 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 5.429 | 6.000 | -2.429 | -3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669022",
"player_name": "MacKenzie Gore",
"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": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.6667,
"predicted_SO": 3.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 2.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.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 | 23.000 | 9.000 | 25.000 | 11.000 | 23.000 | 0.000 | 3.5217 | 1.5652 | 0.3913 | 1.0870 | 0.4783 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 50.000 | 26.000 | 51.000 | 22.000 | 46.000 | 4.000 | 4.6800 | 1.4600 | 0.5200 | 1.0200 | 0.4400 | 0.9200 | 0.0800 |
| season | 0.20 | 14 | 71.000 | 33.000 | 63.000 | 33.000 | 76.000 | 6.000 | 4.1831 | 1.3521 | 0.4648 | 0.8873 | 0.4648 | 1.0704 | 0.0845 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0910 |
| predicted_ER | 2.2230 |
| predicted_ERA | 4.1670 |
| predicted_H | 4.8500 |
| predicted_HR | 0.3420 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.6690 |
| predicted_WHIP | 1.4456 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.0910 | 2.5102 | model_form_blend |
| predicted_ER | 2.0000 | 2.2230 | 2.1202 | model_form_blend |
| predicted_ERA | - | 4.1670 | 4.1670 | form_only |
| predicted_H | 4.0000 | 4.8500 | 4.4580 | model_form_blend |
| predicted_HR | 0.0000 | 0.3420 | 0.1843 | model_form_blend |
| predicted_IP | 4.2000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 3.0000 | 4.6690 | 3.8993 | model_form_blend |
| predicted_WHIP | - | 1.4456 | 1.4456 | 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.2 |
| H | 4 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 3 |
| HR | 0 |
| BF | 21 |
| 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 | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.18 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 3 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 87 |
| Pitching_R | 2 |
| Pitching_SO | 6 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260610_TEX@KC |
| game_type | full |
| mlbID | 669022 |
| playerID | 669022 |
| playerName | MacKenzie Gore |
| pos | P |
| started | True |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-10 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.31 |
| sl_xwoba | 0.323 |
| sl_sweet_spot_percent | 36.9 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 44.4 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 48.0 |
| sl_avg_best_speed | 77.801752828 |
| sl_avg_hyper_speed | 95.104993756 |
| 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.269 | 0.000 | -0.269 | 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.500 | 0.000 | -0.500 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.219 | 1.100 | -0.119 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.346 | 2.000 | 0.654 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656641",
"player_name": "Jacob Latz",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.100 | 0.000 | 2.000 | 2.000 | 11.000 | 0.000 | 0.0000 | 0.5455 | 0.0000 | 0.2727 | 0.2727 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 14.200 | 1.000 | 5.000 | 2.000 | 19.000 | 1.000 | 0.6136 | 0.4773 | 0.0682 | 0.3409 | 0.1364 | 1.2954 | 0.0682 |
| season | 0.20 | 25 | 33.100 | 3.000 | 10.000 | 6.000 | 35.000 | 2.000 | 0.8100 | 0.4800 | 0.0900 | 0.3000 | 0.1800 | 1.0500 | 0.0600 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3640 |
| predicted_ER | 0.3170 |
| predicted_ERA | 2.1402 |
| predicted_H | 0.7880 |
| predicted_HR | 0.1110 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.5520 |
| predicted_WHIP | 0.8640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3640 | 0.1703 | model_form_blend |
| predicted_ER | 0.0000 | 0.3170 | 0.1483 | model_form_blend |
| predicted_ERA | - | 2.1402 | 2.1402 | form_only |
| predicted_H | 0.0000 | 0.7880 | 0.3687 | model_form_blend |
| predicted_HR | 0.0000 | 0.1110 | 0.0519 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.5520 | 1.7904 | model_form_blend |
| predicted_WHIP | - | 0.8640 | 0.8640 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.62 |
| 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 | 1.1 |
| Pitching_Pitches | 24 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_TEX@BOS |
| game_type | full |
| mlbID | 656641 |
| playerID | 656641 |
| playerName | Jacob Latz |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 28.4 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.179 |
| sl_xwoba | 0.243 |
| sl_sweet_spot_percent | 21.1 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 43.4 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 49.1 |
| sl_avg_best_speed | 79.852364474 |
| sl_avg_hyper_speed | 94.2009 |
| 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.200 | 0.000 | -0.200 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.240 | 1.000 | 0.760 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.760 | 3.000 | 0.240 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.108 | 0.200 | -0.108 | 0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.840 | 1.000 | 1.160 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "596001",
"player_name": "Jakob Junis",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.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 | 5.100 | 2.000 | 7.000 | 0.000 | 8.000 | 0.000 | 3.3750 | 1.3125 | 0.3750 | 1.3125 | 0.0000 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 13.000 | 3.000 | 11.000 | 0.000 | 14.000 | 0.000 | 2.0769 | 0.8462 | 0.2308 | 0.8461 | 0.0000 | 1.0769 | 0.0000 |
| season | 0.20 | 25 | 29.100 | 6.000 | 19.000 | 5.000 | 21.000 | 0.000 | 1.8409 | 0.8182 | 0.2046 | 0.6477 | 0.1704 | 0.7159 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2040 |
| predicted_ER | 0.4240 |
| predicted_ERA | 3.4717 |
| predicted_H | 1.0940 |
| predicted_HR | 0.0740 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1800 |
| predicted_WHIP | 1.1812 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2040 | 0.0927 | model_form_blend |
| predicted_ER | 1.0000 | 0.4240 | 0.7382 | model_form_blend |
| predicted_ERA | - | 3.4717 | 3.4717 | form_only |
| predicted_H | 1.0000 | 1.0940 | 1.0427 | model_form_blend |
| predicted_HR | 1.0000 | 0.0740 | 0.5791 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.1800 | 1.6273 | model_form_blend |
| predicted_WHIP | - | 1.1812 | 1.1812 | 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 | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| HR | 1 |
| BF | 4 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.84 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 16 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260614_TEX@BOS |
| game_type | full |
| mlbID | 596001 |
| playerID | 596001 |
| playerName | Jakob Junis |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-14 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 4.6 |
| sl_woba | 0.198 |
| sl_xwoba | 0.285 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 31.3 |
| sl_whiff_percent | 18.6 |
| sl_swing_percent | 48.0 |
| sl_avg_best_speed | 75.6595445 |
| sl_avg_hyper_speed | 92.786748625 |
| 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.276 | 0.000 | -0.276 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.345 | 1.000 | -0.345 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.069 | 2.000 | -1.069 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.821 | 1.000 | 0.179 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.759 | 1.000 | -0.759 | -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": "641302",
"player_name": "Tyler Alexander",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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.000 | 4.000 | 6.000 | 0.000 | 3.000 | 0.000 | 9.0000 | 1.5000 | 1.0000 | 1.5000 | 0.0000 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 5.000 | 8.000 | 3.000 | 7.000 | 1.000 | 5.6250 | 1.3750 | 0.6250 | 1.0000 | 0.3750 | 0.8750 | 0.1250 |
| season | 0.20 | 29 | 28.000 | 10.000 | 31.000 | 8.000 | 22.000 | 2.000 | 3.2143 | 1.3929 | 0.3571 | 1.1071 | 0.2857 | 0.7857 | 0.0714 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2320 |
| predicted_ER | 0.5370 |
| predicted_ERA | 5.6216 |
| predicted_H | 0.9600 |
| predicted_HR | 0.0850 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7430 |
| predicted_WHIP | 1.3866 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2320 | 0.1043 | model_form_blend |
| predicted_ER | 0.0000 | 0.5370 | 0.2415 | model_form_blend |
| predicted_ERA | - | 5.6216 | 5.6216 | form_only |
| predicted_H | 0.0000 | 0.9600 | 0.4317 | model_form_blend |
| predicted_HR | 0.0000 | 0.0850 | 0.0382 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7430 | 0.3341 | model_form_blend |
| predicted_WHIP | - | 1.3866 | 1.3866 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.21 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260610_TEX@KC |
| game_type | full |
| mlbID | 641302 |
| playerID | 641302 |
| playerName | Tyler Alexander |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-10 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.331 |
| sl_xwoba | 0.285 |
| sl_sweet_spot_percent | 25.6 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 31.1 |
| sl_whiff_percent | 16.6 |
| sl_swing_percent | 45.2 |
| sl_avg_best_speed | 75.207223636 |
| sl_avg_hyper_speed | 92.92821875 |
| 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.320 | 0.000 | -0.320 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.560 | 2.000 | -0.560 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.960 | 2.000 | -0.960 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.736 | 0.200 | 0.264 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 2.000 | -1.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.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": "668390",
"player_name": "Cole Winn",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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.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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 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 | 4.000 | 4.000 | 1.000 | 3.000 | 0.000 | 9.8182 | 1.3636 | 1.0909 | 1.0909 | 0.2727 | 0.8182 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 6.000 | 12.000 | 2.000 | 9.000 | 0.000 | 6.7500 | 1.7500 | 0.7500 | 1.5000 | 0.2500 | 1.1250 | 0.0000 |
| season | 0.20 | 25 | 21.200 | 14.000 | 24.000 | 8.000 | 25.000 | 3.000 | 5.8154 | 1.4769 | 0.6462 | 1.1077 | 0.3692 | 1.1539 | 0.1385 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2270 |
| predicted_ER | 0.4710 |
| predicted_ERA | 6.0733 |
| predicted_H | 0.7630 |
| predicted_HR | 0.0630 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6700 |
| predicted_WHIP | 1.4202 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2270 | 0.0959 | model_form_blend |
| predicted_ER | 0.0000 | 0.4710 | 0.1990 | model_form_blend |
| predicted_ERA | - | 6.0733 | 6.0733 | form_only |
| predicted_H | 0.0000 | 0.7630 | 0.3225 | model_form_blend |
| predicted_HR | 0.0000 | 0.0630 | 0.0266 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6700 | 0.2831 | model_form_blend |
| predicted_WHIP | - | 1.4202 | 1.4202 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 25 |
| Season rows before report date | 25 |
| Report year | 2026 |
| Profile rows used | 25 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 5.82 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 2 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260613_TEX@BOS |
| game_type | full |
| mlbID | 668390 |
| playerID | 668390 |
| playerName | Cole Winn |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-06-13 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.331 |
| sl_xwoba | 0.333 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 48.4 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 52.7 |
| sl_avg_best_speed | 78.659129375 |
| sl_avg_hyper_speed | 95.035447344 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | NYM 1 - 2 CIN | CIN | 0.553 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | NYM 0 - 4 CIN | CIN | - | 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.5529 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.347 | 4.822 | - | Base ML historical model prediction |
| 2 | variance_applied | 3 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 2 | 0.5529 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 1 | 2 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 0 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4428288412017168,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.027378197424892725,
"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": 3,
"pre_simulation_expected_total_runs": 9.7,
"low_score_model_expected_total_runs": 9.7,
"final_simulation_total_runs": 4,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 197,
"near_bucket_sample_size": 197,
"medium_bucket_sample_size": 202,
"wide_bucket_sample_size": 214,
"global_sample_size": 214,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5635,
"bayesian_hit_rate": 0.5581,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.9163,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5597,
"calibrated_pick_probability": 0.5529,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "CIN",
"games": 70,
"wins": 33,
"losses": 37,
"win_pct": 0.4714285714285714,
"runs_scored": 293,
"runs_allowed": 351,
"run_differential": -58,
"run_differential_per_game": -0.8285714285714286,
"available": true
},
"away": {
"team": "NYM",
"games": 71,
"wins": 32,
"losses": 39,
"win_pct": 0.4507042253521127,
"runs_scored": 288,
"runs_allowed": 299,
"run_differential": -11,
"run_differential_per_game": -0.15492957746478872,
"available": true
},
"run_differential_edge_per_game": -0.6736,
"win_pct_edge": 0.0207,
"quality_edge": -0.6426,
"margin_adjustment": -0.2699,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.405,
"home_runs": 2.107,
"home_win_probability": 0.5597
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "CIN",
"guardrail_predicted_team": "CIN",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "CIN",
"output_opponent_team": "NYM",
"final_score_winner": "CIN",
"pre_simulation_winner": "CIN",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "NYM 1 - 2 CIN",
"winner": "CIN"
},
"final_simulation_score": {
"away_runs": 0,
"home_runs": 4,
"score_text": "NYM 0 - 4 CIN",
"winner": "CIN"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 2,
"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": "CIN",
"games": 70,
"wins": 33,
"losses": 37,
"win_pct": 0.4714285714285714,
"runs_scored": 293,
"runs_allowed": 351,
"run_differential": -58,
"run_differential_per_game": -0.8285714285714286,
"available": true
},
"away": {
"team": "NYM",
"games": 71,
"wins": 32,
"losses": 39,
"win_pct": 0.4507042253521127,
"runs_scored": 288,
"runs_allowed": 299,
"run_differential": -11,
"run_differential_per_game": -0.15492957746478872,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.7018,
"final_margin": 0.7018,
"margin_cap": 1.5,
"season_quality_edge": 0.6426,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.552871,
"final_confidence": 0.552871,
"confidence_cap": 0.66,
"score_gap": 0.7018,
"calibration_sample_size": 197,
"calibration_empirical_hit_rate": 0.5635,
"calibration_bayesian_hit_rate": 0.5581,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6426,
"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": 1,
"home_runs": 2,
"score_text": "NYM 1 - 2 CIN",
"winner": "CIN"
},
"final_simulation_score": {
"away_runs": 0,
"home_runs": 4,
"score_text": "NYM 0 - 4 CIN",
"winner": "CIN"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 2,
"total_run_delta": 1,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 1,
"home_runs": 2,
"confidence": 0.552871,
"home_win_probability": 0.552871,
"away_win_probability": 0.447129,
"predicted_score_text": "NYM 1 - 2 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": "NYM",
"original_runs": 1,
"run_delta": -0.3122,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.2991151122442945,
"contact": 0.43592624471557573,
"power": 0.5811202533536414,
"discipline": -0.06403741961454869,
"xwoba": 0.33640624999999996,
"recent_xwoba": 0.33640624999999996,
"barrel": 10.656250000000002,
"ab_hard_contact": 0.09660149564426052,
"ab_bat_speed": 70.1740461010982,
"ab_strikeout_rate": 0.23908124010327053,
"available_players": 9,
"top_players": [
{
"player_id": "665742",
"player_name": "Juan Soto",
"position": "LF",
"weight": 4.0,
"quality": 1.162282298175907,
"contact": 1.738191889920533,
"power": 1.8977517939678399,
"discipline": 0.9381301903407169,
"xwoba": 0.422,
"recent_xwoba": 0.422,
"barrel": 16.4,
"ab_hard_contact": 0.9257025460234664,
"ab_bat_speed": 70.41891355641356,
"ab_strikeout_rate": 0.148005148005148,
"available": 1.0
},
{
"player_id": "666182",
"player_name": "Bo Bichette",
"position": "SS",
"weight": 4.0,
"quality": 0.5593230060001181,
"contact": 0.7617216393434253,
"power": 0.4274358866712934,
"discipline": 0.11665385686438312,
"xwoba": 0.33,
"recent_xwoba": 0.33,
"barrel": 7.8,
"ab_hard_contact": -0.043663218955077056,
"ab_bat_speed": 69.04705887579499,
"ab_strikeout_rate": 0.16898148148148148,
"available": 1.0
},
{
"player_id": "701807",
"player_name": "Carson Benge",
"position": "RF",
"weight": 4.0,
"quality": 0.4920622584403003,
"contact": 0.702594530492328,
"power": 0.5733028252269552,
"discipline": -0.16305513784461179,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 9.3,
"ab_hard_contact": 0.0679612664438869,
"ab_bat_speed": 69.1056576984127,
"ab_strikeout_rate": 0.22833333333333333,
"available": 1.0
},
{
"player_id": "682626",
"player_name": "Francisco Alvarez",
"position": "C",
"weight": 3.0,
"quality": 0.21483179973485667,
"contact": 0.08346694947192157,
"power": 0.9273773432801777,
"discipline": -0.36698370927318286,
"xwoba": 0.325,
"recent_xwoba": 0.325,
"barrel": 16.1,
"ab_hard_contact": 0.2416421036987883,
"ab_bat_speed": 72.7064484126984,
"ab_strikeout_rate": 0.2276190476190476,
"available": 1.0
},
{
"player_id": "676724",
"player_name": "Jared Young",
"position": "1B",
"weight": 3.0,
"quality": 0.07989373759214294,
"contact": 0.7412882202202209,
"power": 1.08451795685394,
"discipline": -0.001293233082706801,
"xwoba": 0.36400000000000005,
"recent_xwoba": 0.364,
"barrel": 14.5,
"ab_hard_contact": -0.8650694343497637,
"ab_bat_speed": 72.63215277777778,
"ab_strikeout_rate": 0.2,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "695505",
"player_name": "Chase Burns",
"quality": 0.6342747571394333,
"contact": 0.48701334544499997,
"command": 0.859857142857143,
"movement": 1.6159984865434647,
"xwoba": 0.271,
"whiff": 33.7,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "CIN",
"original_runs": 2,
"run_delta": 0.1251,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.18618304004666408,
"contact": -0.10188891970060267,
"power": 0.10575419994293907,
"discipline": -0.015978583075003168,
"xwoba": 0.31912121212121214,
"recent_xwoba": 0.31912121212121214,
"barrel": 9.003030303030304,
"ab_hard_contact": -0.17402999825521454,
"ab_bat_speed": 69.68459190088171,
"ab_strikeout_rate": 0.24311502611096777,
"available_players": 8,
"top_players": [
{
"player_id": "701398",
"player_name": "Sal Stewart",
"position": "DH",
"weight": 4.0,
"quality": 0.7657518772600194,
"contact": 0.621916196859933,
"power": 1.0837194365447158,
"discipline": 0.48446927066092904,
"xwoba": 0.362,
"recent_xwoba": 0.362,
"barrel": 15.1,
"ab_hard_contact": 0.4389601594657498,
"ab_bat_speed": 70.50775943396226,
"ab_strikeout_rate": 0.1989517819706499,
"available": 1.0
},
{
"player_id": "668715",
"player_name": "Spencer Steer",
"position": "1B",
"weight": 4.0,
"quality": 0.6375953746332568,
"contact": 0.6272546534601832,
"power": 0.9163962525472176,
"discipline": 0.194062042360804,
"xwoba": 0.363,
"recent_xwoba": 0.363,
"barrel": 13.1,
"ab_hard_contact": 0.8585917176110214,
"ab_bat_speed": 70.03990958605665,
"ab_strikeout_rate": 0.2022875816993464,
"available": 1.0
},
{
"player_id": "668709",
"player_name": "JJ Bleday",
"position": "LF",
"weight": 4.0,
"quality": 0.5005007326737769,
"contact": 1.1299894078392687,
"power": 1.1738676693803956,
"discipline": 0.6242305764411029,
"xwoba": 0.386,
"recent_xwoba": 0.386,
"barrel": 12.3,
"ab_hard_contact": 0.6775438637983848,
"ab_bat_speed": 71.79647518518519,
"ab_strikeout_rate": 0.15933333333333333,
"available": 1.0
},
{
"player_id": "553993",
"player_name": "Eugenio Suárez",
"position": "3B",
"weight": 4.0,
"quality": -0.41141045604904575,
"contact": -1.1109672699275628,
"power": -0.619448394712836,
"discipline": -0.5843605565638232,
"xwoba": 0.278,
"recent_xwoba": 0.278,
"barrel": 7.1,
"ab_hard_contact": -0.25944408473290587,
"ab_bat_speed": 69.28642720306513,
"ab_strikeout_rate": 0.2867816091954023,
"available": 1.0
},
{
"player_id": "695490",
"player_name": "Edwin Arroyo",
"position": "2B",
"weight": 3.0,
"quality": -0.0,
"contact": -1.0847999999999993,
"power": -1.4201523809523806,
"discipline": -0.3922142857142858,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.2222222222222222,
"available": 0.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "668964",
"player_name": "Tobias Myers",
"quality": -0.0418062853767186,
"contact": 0.06003195704952405,
"command": -0.27714285714285725,
"movement": -0.5129955319848958,
"xwoba": 0.291,
"whiff": 18.6,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"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": "NYM 1 - 2 CIN",
"confidence": 0.552871,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "NYM 1 - 2 CIN",
"winner": "CIN"
},
"final_simulation_score": {
"away_runs": 0,
"home_runs": 4,
"score_text": "NYM 0 - 4 CIN",
"winner": "CIN"
},
"winner_flipped_by_simulation": false,
"away_run_delta": -1,
"home_run_delta": 2,
"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.0361 | 1.0361 | 1 | 9 | 0 |
| Home CIN | True | 1.0207 | 1.0207 | 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 | 480 | 1.0586 | 0.7819 | positive_batter_regression | 0.3300 | 0.2800 | 0.4330 | 7.80 | 46.60 | 91.10 | 7.80 | 17.10 | 17.10 | 6.30 | 1.2857 |
| LF | Juan Soto | 45 | 1.0997 | 1.3295 | neutral | 0.4220 | 0.3010 | 0.6270 | 16.40 | 50 | 93 | 15.50 | 20.30 | 13.30 | 12.80 | 0.7429 |
| RF | Carson Benge | 158 | 1.0664 | 0.8852 | positive_batter_regression | 0.3470 | 0.2800 | 0.4550 | 9.30 | 44.30 | 90.10 | 10.80 | 21.60 | 22.10 | 6.80 | 0.9714 |
| 1B | Jared Young | 145 | 1.0360 | 0.4802 | neutral | 0.3640 | 0.2580 | 0.4840 | 14.50 | 47.30 | 90.70 | 5.60 | 25.60 | 21.30 | 8.80 | 0.1143 |
| 2B | Marcus Semien | 467 | 1.0375 | 0.5002 | positive_batter_regression | 0.3230 | 0.2610 | 0.4300 | 8.70 | 35.40 | 86.40 | 18.20 | 22.70 | 21 | 6.90 | 1.3714 |
| CF | A.J. Ewing | 129 | 1.0198 | 0.2635 | positive_batter_regression | 0.3310 | 0.2710 | 0.3990 | 6 | 41.80 | 89.30 | 11.30 | 22.10 | 31.30 | 10.40 | 0.9143 |
| DH | MJ Melendez | 330 | 0.9843 | -0.2088 | negative_batter_regression | 0.2700 | 0.1640 | 0.3140 | 11.30 | 56.50 | 94.10 | 24 | 35.20 | 34.50 | 9.20 | -1.3429 |
| 3B | Brett Baty | 285 | 0.9960 | -0.0533 | neutral | 0.2920 | 0.2310 | 0.3660 | 7.50 | 38.80 | 89.20 | 9 | 28 | 27.90 | 8.20 | 0.4857 |
| C | Francisco Alvarez | 395 | 1.0267 | 0.3555 | neutral | 0.3250 | 0.2370 | 0.4420 | 16.10 | 41.90 | 90.20 | 9.80 | 29.50 | 23.90 | 7.70 | 0.3714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Sal Stewart | 133 | 1.0841 | 1.1214 | neutral | 0.3620 | 0.2560 | 0.4780 | 15.10 | 41.20 | 90.70 | 14.50 | 27.30 | 20.60 | 13 | 0.4286 |
| 1B | Spencer Steer | 255 | 1.0778 | 1.0371 | neutral | 0.3630 | 0.2640 | 0.4850 | 13.10 | 39.20 | 89.50 | 16.50 | 24.80 | 21 | 10.10 | 0.7429 |
| LF | JJ Bleday | 84 | 1.0539 | 0.7183 | neutral | 0.3860 | 0.2760 | 0.5170 | 12.30 | 47.20 | 90 | 21.10 | 25.30 | 18.40 | 12.80 | -0.1143 |
| CF | Blake Dunn | 182 | 0.9735 | -0.3538 | negative_batter_regression | 0.2710 | 0.2330 | 0.3130 | 3.90 | 32.10 | 88.50 | 12.30 | 25.80 | 22.50 | 6.30 | -1.5714 |
| 3B | Eugenio Suárez | 532 | 0.9783 | -0.2888 | neutral | 0.2780 | 0.2130 | 0.3400 | 7.10 | 27.20 | 86.60 | 19.30 | 33.10 | 30.60 | 8.80 | -0.1429 |
| RF | Noelvi Marte | 354 | 0.9789 | -0.2817 | neutral | 0.2730 | 0.2160 | 0.3420 | 5.40 | 35.10 | 88.50 | 5 | 31.20 | 25.50 | 7.30 | -0.1714 |
| C | Tyler Stephenson | 253 | 1.0304 | 0.4048 | positive_batter_regression | 0.3210 | 0.2220 | 0.4100 | 11.10 | 43.30 | 90.50 | 21.80 | 25.70 | 26.90 | 12.20 | 0.9714 |
| SS | Matt McLain | 278 | 1.0378 | 0.5037 | neutral | 0.3300 | 0.2360 | 0.4160 | 10.40 | 38.80 | 88.50 | 20.10 | 26.50 | 24.20 | 11.50 | 0.7714 |
| 2B | Edwin Arroyo | 298 | 0.9719 | -0.3746 | neutral | 0.2630 | 0.2250 | 0.2630 | 0 | 26.70 | 89.50 | 13.10 | 25.30 | 35.70 | 7.10 | -0.1429 |
{
"home": {
"applied": true,
"offense_factor": 1.0207,
"raw_average_factor": 1.0207,
"team_espn_average_rank": 263.22,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "701398",
"player_name": "Sal Stewart",
"offense_factor": 1.0841,
"quality_score": 1.1214,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701398",
"espn_id": 5080771,
"player_name": "Sal Stewart",
"team": "CIN",
"role": "batter",
"espn_rank": 133,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 133,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 263.0,
"ab_rank": 35,
"r_value": 36.0,
"r_rank": 62,
"h_value": 65.0,
"h_rank": 65,
"avg_value": 0.2471482,
"avg_rank": 92.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 13.0,
"hr_rank": 35,
"rbi_value": 42.0,
"rbi_rank": 24,
"tb_value": 117.0,
"tb_rank": 601,
"bb_value": 39.0,
"bb_rank": 23,
"so_value": 63.0,
"so_rank": 62,
"sb_value": 10.0,
"sb_rank": 34,
"obp_value": 0.3442622,
"obp_rank": "61",
"slg_value": 0.4448669,
"slg_rank": "60",
"ops_value": 0.7891291,
"ops_rank": 121.0,
"war_value": 0.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 20.6,
"bb_percent": 13.0,
"woba": 0.347,
"xwoba": 0.362,
"xba": 0.256,
"xslg": 0.478,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 15.1,
"hard_hit_percent": 41.2,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 14.5,
"whiff_percent": 27.3,
"swing_percent": 47.4
},
"components": {
"expected_quality": 1.2342,
"regression_edge": 0.4286,
"xwoba_edge": 1.6286,
"xba_edge": 0.5143,
"xslg_edge": 1.4714,
"barrel_edge": 1.8222,
"hard_hit_edge": 0.3714,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "668715",
"player_name": "Spencer Steer",
"offense_factor": 1.0778,
"quality_score": 1.0371,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668715",
"espn_id": 4722857,
"player_name": "Spencer Steer",
"team": "CIN",
"role": "batter",
"espn_rank": 255,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 255,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 235.0,
"ab_rank": 104,
"r_value": 41.0,
"r_rank": 42,
"h_value": 59.0,
"h_rank": 90,
"avg_value": 0.2510638,
"avg_rank": 85.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 10.0,
"hr_rank": 60,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 101.0,
"tb_rank": 726,
"bb_value": 27.0,
"bb_rank": 69,
"so_value": 56.0,
"so_rank": 91,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3333333,
"obp_rank": "83",
"slg_value": 0.4297872,
"slg_rank": "74",
"ops_value": 0.7631205,
"ops_rank": 157.0,
"war_value": 0.22,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 201.0,
"k_percent": 21.0,
"bb_percent": 10.1,
"woba": 0.337,
"xwoba": 0.363,
"xba": 0.264,
"xslg": 0.485,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 39.2,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 16.5,
"whiff_percent": 24.8,
"swing_percent": 44.6
},
"components": {
"expected_quality": 1.199,
"regression_edge": 0.7429,
"xwoba_edge": 1.6571,
"xba_edge": 0.7429,
"xslg_edge": 1.5714,
"barrel_edge": 1.3778,
"hard_hit_edge": 0.0857,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 0.9833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "668709",
"player_name": "JJ Bleday",
"offense_factor": 1.0539,
"quality_score": 0.7183,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668709",
"espn_id": 42410,
"player_name": "JJ Bleday",
"team": "CIN",
"role": "batter",
"espn_rank": 84,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 84,
"gp_value": 42.0,
"gp_rank": 279,
"ab_value": 158.0,
"ab_rank": 216,
"r_value": 24.0,
"r_rank": 168,
"h_value": 42.0,
"h_rank": 185,
"avg_value": 0.2658227,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 12.0,
"hr_rank": 42,
"rbi_value": 30.0,
"rbi_rank": 105,
"tb_value": 90.0,
"tb_rank": 563,
"bb_value": 23.0,
"bb_rank": 98,
"so_value": 33.0,
"so_rank": 244,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3606557,
"obp_rank": "-",
"slg_value": 0.5696202,
"slg_rank": "-",
"ops_value": 0.9302759,
"ops_rank": null,
"war_value": 1.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 109.0,
"k_percent": 18.4,
"bb_percent": 12.8,
"woba": 0.39,
"xwoba": 0.386,
"xba": 0.276,
"xslg": 0.517,
"sweet_spot_percent": 43.9,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 21.1,
"whiff_percent": 25.3,
"swing_percent": 46.7
},
"components": {
"expected_quality": 1.7043,
"regression_edge": -0.1143,
"xwoba_edge": 2.3143,
"xba_edge": 1.0857,
"xslg_edge": 2.0286,
"barrel_edge": 1.2,
"hard_hit_edge": 1.2286,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.7667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "694362",
"player_name": "Blake Dunn",
"offense_factor": 0.9735,
"quality_score": -0.3538,
"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": 182,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 182,
"gp_value": 29.0,
"gp_rank": 359,
"ab_value": 108.0,
"ab_rank": 299,
"r_value": 14.0,
"r_rank": 276,
"h_value": 29.0,
"h_rank": 266,
"avg_value": 0.2685185,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 5.0,
"rbi_rank": 396,
"tb_value": 41.0,
"tb_rank": 1574,
"bb_value": 7.0,
"bb_rank": 327,
"so_value": 26.0,
"so_rank": 295,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3189655,
"obp_rank": "-",
"slg_value": 0.3796296,
"slg_rank": "-",
"ops_value": 0.6985951,
"ops_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 49.0,
"k_percent": 22.5,
"bb_percent": 6.3,
"woba": 0.326,
"xwoba": 0.271,
"xba": 0.233,
"xslg": 0.313,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 32.1,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 12.3,
"whiff_percent": 25.8,
"swing_percent": 46.8
},
"components": {
"expected_quality": -0.6585,
"regression_edge": -1.5714,
"xwoba_edge": -0.9714,
"xba_edge": -0.1429,
"xslg_edge": -0.8857,
"barrel_edge": -0.6667,
"hard_hit_edge": -0.9286,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"offense_factor": 0.9783,
"quality_score": -0.2888,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "553993",
"espn_id": 32367,
"player_name": "Eugenio Suarez",
"team": "CIN",
"role": "batter",
"espn_rank": 532,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 532,
"gp_value": 44.0,
"gp_rank": 264,
"ab_value": 158.0,
"ab_rank": 216,
"r_value": 14.0,
"r_rank": 276,
"h_value": 34.0,
"h_rank": 232,
"avg_value": 0.2151898,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 19.0,
"rbi_rank": 210,
"tb_value": 56.0,
"tb_rank": 1342,
"bb_value": 15.0,
"bb_rank": 197,
"so_value": 54.0,
"so_rank": 104,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2816091,
"obp_rank": "-",
"slg_value": 0.3544303,
"slg_rank": "-",
"ops_value": 0.6360394,
"ops_rank": null,
"war_value": -0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 115.0,
"k_percent": 30.6,
"bb_percent": 8.8,
"woba": 0.283,
"xwoba": 0.278,
"xba": 0.213,
"xslg": 0.34,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 27.2,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 19.3,
"whiff_percent": 33.1,
"swing_percent": 46.3
},
"components": {
"expected_quality": -0.6192,
"regression_edge": -0.1429,
"xwoba_edge": -0.7714,
"xba_edge": -0.7143,
"xslg_edge": -0.5,
"barrel_edge": 0.0444,
"hard_hit_edge": -1.6286,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": 0.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "682622",
"player_name": "Noelvi Marte",
"offense_factor": 0.9789,
"quality_score": -0.2817,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682622",
"espn_id": 41307,
"player_name": "Noelvi Marte",
"team": "CIN",
"role": "batter",
"espn_rank": 354,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 354,
"gp_value": 20.0,
"gp_rank": 404,
"ab_value": 55.0,
"ab_rank": 400,
"r_value": 7.0,
"r_rank": 380,
"h_value": 12.0,
"h_rank": 391,
"avg_value": 0.2181818,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 3.0,
"rbi_rank": 445,
"tb_value": 22.0,
"tb_rank": 1891,
"bb_value": 4.0,
"bb_rank": 401,
"so_value": 15.0,
"so_rank": 396,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.2711864,
"obp_rank": "-",
"slg_value": 0.4,
"slg_rank": "-",
"ops_value": 0.6711864,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 31.0,
"k_percent": 25.5,
"bb_percent": 7.3,
"woba": 0.279,
"xwoba": 0.273,
"xba": 0.216,
"xslg": 0.342,
"sweet_spot_percent": 16.2,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 35.1,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 5.0,
"whiff_percent": 31.2,
"swing_percent": 51.7
},
"components": {
"expected_quality": -0.6999,
"regression_edge": -0.1714,
"xwoba_edge": -0.9143,
"xba_edge": -0.6286,
"xslg_edge": -0.4714,
"barrel_edge": -0.3333,
"hard_hit_edge": -0.5,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "663886",
"player_name": "Tyler Stephenson",
"offense_factor": 1.0304,
"quality_score": 0.4048,
"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": 253,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 253,
"gp_value": 56.0,
"gp_rank": 190,
"ab_value": 171.0,
"ab_rank": 195,
"r_value": 12.0,
"r_rank": 304,
"h_value": 35.0,
"h_rank": 228,
"avg_value": 0.2046783,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 19.0,
"rbi_rank": 210,
"tb_value": 57.0,
"tb_rank": 1338,
"bb_value": 24.0,
"bb_rank": 89,
"so_value": 53.0,
"so_rank": 111,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2994923,
"obp_rank": "-",
"slg_value": 0.3333333,
"slg_rank": "-",
"ops_value": 0.6328256,
"ops_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 154.0,
"k_percent": 26.9,
"bb_percent": 12.2,
"woba": 0.287,
"xwoba": 0.321,
"xba": 0.222,
"xslg": 0.41,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 43.3,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 21.8,
"whiff_percent": 25.7,
"swing_percent": 44.8
},
"components": {
"expected_quality": 0.5142,
"regression_edge": 0.9714,
"xwoba_edge": 0.4571,
"xba_edge": -0.4571,
"xslg_edge": 0.5,
"barrel_edge": 0.9333,
"hard_hit_edge": 0.6714,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 1.1167,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "SS",
"player_id": "680574",
"player_name": "Matt McLain",
"offense_factor": 1.0378,
"quality_score": 0.5037,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680574",
"espn_id": 4422899,
"player_name": "Matt McLain",
"team": "CIN",
"role": "batter",
"espn_rank": 278,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 278,
"gp_value": 67.0,
"gp_rank": 78,
"ab_value": 230.0,
"ab_rank": 111,
"r_value": 29.0,
"r_rank": 121,
"h_value": 48.0,
"h_rank": 151,
"avg_value": 0.2086956,
"avg_rank": 147.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 25.0,
"rbi_rank": 152,
"tb_value": 84.0,
"tb_rank": 886,
"bb_value": 31.0,
"bb_rank": 49,
"so_value": 63.0,
"so_rank": 62,
"sb_value": 10.0,
"sb_rank": 34,
"obp_value": 0.3079847,
"obp_rank": "118",
"slg_value": 0.3652173,
"slg_rank": "122",
"ops_value": 0.673202,
"ops_rank": 4.0,
"war_value": 0.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 24.2,
"bb_percent": 11.5,
"woba": 0.303,
"xwoba": 0.33,
"xba": 0.236,
"xslg": 0.416,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 10.4,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 20.1,
"whiff_percent": 26.5,
"swing_percent": 42.2
},
"components": {
"expected_quality": 0.4909,
"regression_edge": 0.7714,
"xwoba_edge": 0.7143,
"xba_edge": -0.0571,
"xslg_edge": 0.5857,
"barrel_edge": 0.7778,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 0.8167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "695490",
"player_name": "Edwin Arroyo",
"offense_factor": 0.9719,
"quality_score": -0.3746,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695490",
"espn_id": 4919919,
"player_name": "Edwin Arroyo",
"team": "CIN",
"role": "batter",
"espn_rank": 298,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 298,
"gp_value": 12.0,
"gp_rank": 459,
"ab_value": 28.0,
"ab_rank": 465,
"r_value": 1.0,
"r_rank": 499,
"h_value": 6.0,
"h_rank": 451,
"avg_value": 0.2142857,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 482,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 2.0,
"rbi_rank": 464,
"tb_value": 6.0,
"tb_rank": 2624,
"bb_value": 2.0,
"bb_rank": 440,
"so_value": 10.0,
"so_rank": 437,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.28125,
"obp_rank": "-",
"slg_value": 0.2142857,
"slg_rank": "-",
"ops_value": 0.4955357,
"ops_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 35.7,
"bb_percent": 7.1,
"woba": 0.268,
"xwoba": 0.263,
"xba": 0.225,
"xslg": 0.263,
"sweet_spot_percent": 53.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 26.7,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 13.1,
"whiff_percent": 25.3,
"swing_percent": 62.5
},
"components": {
"expected_quality": -0.9448,
"regression_edge": -0.1429,
"xwoba_edge": -1.2,
"xba_edge": -0.3714,
"xslg_edge": -1.6,
"barrel_edge": -1.5333,
"hard_hit_edge": -1.7,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0361,
"raw_average_factor": 1.0361,
"team_espn_average_rank": 270.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "666182",
"player_name": "Bo Bichette",
"offense_factor": 1.0586,
"quality_score": 0.7819,
"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": 480,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 480,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 285.0,
"ab_rank": 5,
"r_value": 36.0,
"r_rank": 62,
"h_value": 68.0,
"h_rank": 48,
"avg_value": 0.2385964,
"avg_rank": 106.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 40.0,
"rbi_rank": 35,
"tb_value": 103.0,
"tb_rank": 606,
"bb_value": 19.0,
"bb_rank": 153,
"so_value": 54.0,
"so_rank": 104,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.2847896,
"obp_rank": "144",
"slg_value": 0.3614035,
"slg_rank": "124",
"ops_value": 0.6461931,
"ops_rank": 20.0,
"war_value": -0.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 17.1,
"bb_percent": 6.3,
"woba": 0.285,
"xwoba": 0.33,
"xba": 0.28,
"xslg": 0.433,
"sweet_spot_percent": 33.2,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 46.6,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 7.8,
"whiff_percent": 17.1,
"swing_percent": 53.1
},
"components": {
"expected_quality": 0.6999,
"regression_edge": 1.2857,
"xwoba_edge": 0.7143,
"xba_edge": 1.2,
"xslg_edge": 0.8286,
"barrel_edge": 0.2,
"hard_hit_edge": 1.1429,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": -0.0167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "665742",
"player_name": "Juan Soto",
"offense_factor": 1.0997,
"quality_score": 1.3295,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665742",
"espn_id": 36969,
"player_name": "Juan Soto",
"team": "NYM",
"role": "batter",
"espn_rank": 45,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 45,
"gp_value": 54.0,
"gp_rank": 202,
"ab_value": 198.0,
"ab_rank": 151,
"r_value": 32.0,
"r_rank": 86,
"h_value": 58.0,
"h_rank": 96,
"avg_value": 0.2929292,
"avg_rank": 19.0,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 15.0,
"hr_rank": 22,
"rbi_value": 34.0,
"rbi_rank": 66,
"tb_value": 111.0,
"tb_rank": 525,
"bb_value": 31.0,
"bb_rank": 49,
"so_value": 30.0,
"so_rank": 264,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.3869565,
"obp_rank": "12",
"slg_value": 0.560606,
"slg_rank": "6",
"ops_value": 0.9475625,
"ops_rank": 6.0,
"war_value": 2.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 13.3,
"bb_percent": 12.8,
"woba": 0.396,
"xwoba": 0.422,
"xba": 0.301,
"xslg": 0.627,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 16.4,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 93.0,
"launch_angle_avg": 15.5,
"whiff_percent": 20.3,
"swing_percent": 40.3
},
"components": {
"expected_quality": 2.0453,
"regression_edge": 0.7429,
"xwoba_edge": 2.5,
"xba_edge": 1.8,
"xslg_edge": 2.5,
"barrel_edge": 2.1111,
"hard_hit_edge": 1.6286,
"exit_velocity_edge": 1.68,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "701807",
"player_name": "Carson Benge",
"offense_factor": 1.0664,
"quality_score": 0.8852,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701807",
"espn_id": 4925604,
"player_name": "Carson Benge",
"team": "NYM",
"role": "batter",
"espn_rank": 158,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 158,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 245.0,
"ab_rank": 86,
"r_value": 37.0,
"r_rank": 59,
"h_value": 63.0,
"h_rank": 75,
"avg_value": 0.2571428,
"avg_rank": 73.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 95.0,
"tb_rank": 696,
"bb_value": 19.0,
"bb_rank": 153,
"so_value": 59.0,
"so_rank": 80,
"sb_value": 10.0,
"sb_rank": 34,
"obp_value": 0.3208955,
"obp_rank": "101",
"slg_value": 0.3877551,
"slg_rank": "112",
"ops_value": 0.7086506,
"ops_rank": 213.0,
"war_value": 0.76,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 199.0,
"k_percent": 22.1,
"bb_percent": 6.8,
"woba": 0.313,
"xwoba": 0.347,
"xba": 0.28,
"xslg": 0.455,
"sweet_spot_percent": 41.5,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 44.3,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 10.8,
"whiff_percent": 21.6,
"swing_percent": 44.8
},
"components": {
"expected_quality": 0.9798,
"regression_edge": 0.9714,
"xwoba_edge": 1.2,
"xba_edge": 1.2,
"xslg_edge": 1.1429,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.8143,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 1.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "676724",
"player_name": "Jared Young",
"offense_factor": 1.036,
"quality_score": 0.4802,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676724",
"espn_id": 41575,
"player_name": "Jared Young",
"team": "NYM",
"role": "batter",
"espn_rank": 145,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 145,
"gp_value": 28.0,
"gp_rank": 364,
"ab_value": 76.0,
"ab_rank": 361,
"r_value": 10.0,
"r_rank": 334,
"h_value": 20.0,
"h_rank": 332,
"avg_value": 0.2631578,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 10.0,
"rbi_rank": 315,
"tb_value": 36.0,
"tb_rank": 1601,
"bb_value": 7.0,
"bb_rank": 327,
"so_value": 18.0,
"so_rank": 365,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3294117,
"obp_rank": "-",
"slg_value": 0.4736842,
"slg_rank": "-",
"ops_value": 0.8030959,
"ops_rank": null,
"war_value": 0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 25.0,
"k_percent": 21.3,
"bb_percent": 8.8,
"woba": 0.36,
"xwoba": 0.364,
"xba": 0.258,
"xslg": 0.484,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 14.5,
"hard_hit_percent": 47.3,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 5.6,
"whiff_percent": 25.6,
"swing_percent": 47.3
},
"components": {
"expected_quality": 1.2223,
"regression_edge": 0.1143,
"xwoba_edge": 1.6857,
"xba_edge": 0.5714,
"xslg_edge": 1.5571,
"barrel_edge": 1.6889,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": -1.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "543760",
"player_name": "Marcus Semien",
"offense_factor": 1.0375,
"quality_score": 0.5002,
"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": 467,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 467,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 257.0,
"ab_rank": 45,
"r_value": 27.0,
"r_rank": 141,
"h_value": 56.0,
"h_rank": 108,
"avg_value": 0.2178988,
"avg_rank": 140.0,
"2b_value": 8.0,
"2b_rank": 183,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 91.0,
"tb_rank": 896,
"bb_value": 19.0,
"bb_rank": 153,
"so_value": 60.0,
"so_rank": 74,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.2714285,
"obp_rank": "154",
"slg_value": 0.3540856,
"slg_rank": "130",
"ops_value": 0.6255141,
"ops_rank": 24.0,
"war_value": -0.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 21.0,
"bb_percent": 6.9,
"woba": 0.275,
"xwoba": 0.323,
"xba": 0.261,
"xslg": 0.43,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 35.4,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 18.2,
"whiff_percent": 22.7,
"swing_percent": 51.2
},
"components": {
"expected_quality": 0.3747,
"regression_edge": 1.3714,
"xwoba_edge": 0.5143,
"xba_edge": 0.6571,
"xslg_edge": 0.7857,
"barrel_edge": 0.4,
"hard_hit_edge": -0.4571,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "805999",
"player_name": "A.J. Ewing",
"offense_factor": 1.0198,
"quality_score": 0.2635,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "805999",
"espn_id": 5208019,
"player_name": "A.J. Ewing",
"team": "NYM",
"role": "batter",
"espn_rank": 129,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 129,
"gp_value": 31.0,
"gp_rank": 345,
"ab_value": 105.0,
"ab_rank": 302,
"r_value": 14.0,
"r_rank": 276,
"h_value": 28.0,
"h_rank": 270,
"avg_value": 0.2666666,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 9.0,
"rbi_rank": 331,
"tb_value": 40.0,
"tb_rank": 1578,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 37.0,
"so_rank": 206,
"sb_value": 7.0,
"sb_rank": 58,
"obp_value": 0.338983,
"obp_rank": "-",
"slg_value": 0.3809523,
"slg_rank": "-",
"ops_value": 0.7199353,
"ops_rank": null,
"war_value": 0.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 57.0,
"k_percent": 31.3,
"bb_percent": 10.4,
"woba": 0.299,
"xwoba": 0.331,
"xba": 0.271,
"xslg": 0.399,
"sweet_spot_percent": 43.3,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 41.8,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 11.3,
"whiff_percent": 22.1,
"swing_percent": 43.7
},
"components": {
"expected_quality": 0.5319,
"regression_edge": 0.9143,
"xwoba_edge": 0.7429,
"xba_edge": 0.9429,
"xslg_edge": 0.3429,
"barrel_edge": -0.2,
"hard_hit_edge": 0.4571,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 1.6667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "669004",
"player_name": "MJ Melendez",
"offense_factor": 0.9843,
"quality_score": -0.2088,
"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": 330,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 330,
"gp_value": 46.0,
"gp_rank": 253,
"ab_value": 103.0,
"ab_rank": 307,
"r_value": 13.0,
"r_rank": 295,
"h_value": 21.0,
"h_rank": 324,
"avg_value": 0.2038834,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 11.0,
"rbi_rank": 299,
"tb_value": 40.0,
"tb_rank": 1308,
"bb_value": 13.0,
"bb_rank": 228,
"so_value": 41.0,
"so_rank": 180,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3196721,
"obp_rank": "-",
"slg_value": 0.3883495,
"slg_rank": "-",
"ops_value": 0.7080216,
"ops_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 83.0,
"k_percent": 34.5,
"bb_percent": 9.2,
"woba": 0.317,
"xwoba": 0.27,
"xba": 0.164,
"xslg": 0.314,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 56.5,
"exit_velocity_avg": 94.1,
"launch_angle_avg": 24.0,
"whiff_percent": 35.2,
"swing_percent": 47.1
},
"components": {
"expected_quality": -0.321,
"regression_edge": -1.3429,
"xwoba_edge": -1.0,
"xba_edge": -2.1143,
"xslg_edge": -0.8714,
"barrel_edge": 0.9778,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.12,
"sweet_spot_edge": -0.9833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "683146",
"player_name": "Brett Baty",
"offense_factor": 0.996,
"quality_score": -0.0533,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683146",
"espn_id": 42414,
"player_name": "Brett Baty",
"team": "NYM",
"role": "batter",
"espn_rank": 285,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 285,
"gp_value": 67.0,
"gp_rank": 78,
"ab_value": 212.0,
"ab_rank": 131,
"r_value": 24.0,
"r_rank": 168,
"h_value": 49.0,
"h_rank": 143,
"avg_value": 0.231132,
"avg_rank": 120.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 69.0,
"tb_rank": 1118,
"bb_value": 21.0,
"bb_rank": 133,
"so_value": 65.0,
"so_rank": 54,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3008474,
"obp_rank": "130",
"slg_value": 0.3254716,
"slg_rank": "146",
"ops_value": 0.626319,
"ops_rank": 16.0,
"war_value": 0.16,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 27.9,
"bb_percent": 8.2,
"woba": 0.275,
"xwoba": 0.292,
"xba": 0.231,
"xslg": 0.366,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 9.0,
"whiff_percent": 28.0,
"swing_percent": 46.2
},
"components": {
"expected_quality": -0.1548,
"regression_edge": 0.4857,
"xwoba_edge": -0.3714,
"xba_edge": -0.2,
"xslg_edge": -0.1286,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.0286,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "682626",
"player_name": "Francisco Alvarez",
"offense_factor": 1.0267,
"quality_score": 0.3555,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682626",
"espn_id": 41253,
"player_name": "Francisco Alvarez",
"team": "NYM",
"role": "batter",
"espn_rank": 395,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 395,
"gp_value": 41.0,
"gp_rank": 283,
"ab_value": 126.0,
"ab_rank": 263,
"r_value": 13.0,
"r_rank": 295,
"h_value": 30.0,
"h_rank": 258,
"avg_value": 0.2380952,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 12.0,
"rbi_rank": 286,
"tb_value": 50.0,
"tb_rank": 1422,
"bb_value": 11.0,
"bb_rank": 262,
"so_value": 34.0,
"so_rank": 233,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3071428,
"obp_rank": "-",
"slg_value": 0.3968253,
"slg_rank": "-",
"ops_value": 0.7039681,
"ops_rank": null,
"war_value": -0.09,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 128.0,
"k_percent": 23.9,
"bb_percent": 7.7,
"woba": 0.312,
"xwoba": 0.325,
"xba": 0.237,
"xslg": 0.442,
"sweet_spot_percent": 30.1,
"barrel_batted_rate": 16.1,
"hard_hit_percent": 41.9,
"exit_velocity_avg": 90.2,
"launch_angle_avg": 9.8,
"whiff_percent": 29.5,
"swing_percent": 46.0
},
"components": {
"expected_quality": 0.6501,
"regression_edge": 0.3714,
"xwoba_edge": 0.5714,
"xba_edge": -0.0286,
"xslg_edge": 0.9571,
"barrel_edge": 2.0444,
"hard_hit_edge": 0.4714,
"exit_velocity_edge": 0.56,
"sweet_spot_edge": -0.5333,
"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 | 272 | 0.0305 | 0.5080 | 0.9974 | 0.9704 | 0.9604 | 1.0005 | neutral | 0.2910 | 0.3040 | 19.40 | 5.20 | 18.60 | 6.90 | 43.60 | |
| Home CIN | True | 4 | 0.5877 | 0.9680 | 0.9500 | 1.0835 | 0.9729 | 1.0020 | neutral | 0.2710 | 0.2640 | 29.60 | 7.70 | 33.70 | 9.60 | 38.40 |
| 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 | 19 | 87.84 | 2024 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1059 | |
| Home CIN | True | None | 89 | 94.93 | 2581 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2800 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9516 |
| home_runs_vs_away_pitcher | 0.9987 |
| home_pitcher_quality_edge | 0.5572 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "695505",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 242.0,
"k_percent": 29.6,
"bb_percent": 7.7,
"woba": 0.264,
"xwoba": 0.271,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 38.4,
"avg_best_speed": 78.4523,
"avg_hyper_speed": 94.0318,
"whiff_percent": 33.7,
"swing_percent": 48.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6511,
"command_and_miss": 0.9236,
"regression_edge": -0.2,
"xwoba_edge": 1.2571,
"barrel_edge": -0.5111,
"hard_hit_edge": 0.0286,
"whiff_edge": 1.1714,
"bb_edge": 0.35,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695505",
"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": 94.93203205925869,
"release_spin_rate": 2580.9688470869296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.93203205925869,
"release_spin_rate": 2580.9688470869296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.932,
"release_spin_rate": 2580.9688,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.5877,
"sample_weight": 0.968,
"run_prevention_factor": 0.95,
"strikeout_factor": 1.0835,
"walk_factor": 0.9729,
"homer_factor": 1.002,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695505",
"espn_id": 4927516,
"player_name": "Chase Burns",
"team": "CIN",
"role": "pitcher",
"espn_rank": 4,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 4,
"gp_value": 13.0,
"gp_rank": 308,
"gs_value": 13.0,
"gs_rank": 58,
"qs_value": 8.0,
"qs_rank": 13,
"era_value": 2.1409,
"era_rank": 4.0,
"w_value": 7.0,
"w_rank": 11,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 75.2,
"ip_rank": 45,
"h_value": 52.0,
"h_rank": 110,
"er_value": 18.0,
"er_rank": 167,
"hr_value": 9.0,
"hr_rank": 59,
"bb_value": 23.0,
"bb_rank": 72,
"k_value": 88.0,
"k_rank": 14,
"k_per_9_value": 10.46696,
"k_per_9_rank": 8,
"whip_value": 0.9911,
"whip_rank": 6.0,
"war_value": 3.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "668964",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 127.0,
"k_percent": 19.4,
"bb_percent": 5.2,
"woba": 0.304,
"xwoba": 0.291,
"sweet_spot_percent": 25.7,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 43.6,
"avg_best_speed": 81.4149,
"avg_hyper_speed": 94.6681,
"whiff_percent": 18.6,
"swing_percent": 52.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.2241,
"command_and_miss": -0.3621,
"regression_edge": 0.3714,
"xwoba_edge": 0.6857,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.7143,
"whiff_edge": -0.9857,
"bb_edge": 0.975,
"pitch_design_score": -0.1059
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668964",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.8361130711394,
"release_spin_rate": 2023.8356908296382,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.8361130711394,
"release_spin_rate": 2023.8356908296382,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8361,
"release_spin_rate": 2023.8357,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1059,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7567,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_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.508,
"run_prevention_factor": 0.9974,
"strikeout_factor": 0.9704,
"walk_factor": 0.9604,
"homer_factor": 1.0005,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668964",
"espn_id": 39716,
"player_name": "Tobias Myers",
"team": "NYM",
"role": "pitcher",
"espn_rank": 272,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 272,
"gp_value": 20.0,
"gp_rank": 171,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.05,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 3.0,
"hld_rank": 139,
"ip_value": 33.1,
"ip_rank": 190,
"h_value": 29.0,
"h_rank": 214,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 26.0,
"k_rank": 281,
"k_per_9_value": 7.02,
"k_per_9_rank": 39,
"whip_value": 1.08,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9516,
"home_runs_vs_away_pitcher": 0.9987,
"home_pitcher_quality_edge": 0.5572
},
"score_before": {
"away_runs": 1.3204,
"home_runs": 2.2311
},
"score_after": {
"away_runs": 1.2565,
"home_runs": 2.2282,
"home_win_probability": 0.5926
},
"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 | 23-39 | 0.371 | 1.10 | 3.10 | -123 | cold | strong | |
| Home CIN | 12-50 | 0.194 | 0.90 | 3.90 | -188 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away NYM | 32-39 | 0.451 | -11 | -0.155 | True |
| Home CIN | 33-37 | 0.471 | -58 | -0.829 | True |
| Signal | - | - | -0.674 | -0.643 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target NYM | - | - | 1 | - | - | - | - |
| Game target CIN | - | - | 2 | - | - | - | - |
| Player finalized NYM | 32 | 9 | 3 | 0 | 2 | 1 | 8 |
| Player finalized CIN | 33 | 9 | 2 | 0 | 2 | 2 | 9 |
| Player model fractional NYM | 31.75 | 7.67 | 4.15 | 1.22 | 3.98 | 2.85 | 7.88 |
| Player model fractional CIN | 32.96 | 6.85 | 3.54 | 1.25 | 3.38 | 3.33 | 8.74 |
| Simulation box NYM | 29 | 2 | 0 | 0 | 0 | 3 | 5 |
| Simulation box CIN | 32 | 8 | 4 | 0 | 4 | 4 | 4 |
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 | Tobias Myers | 5 | 3 | 2 | 6 | 2 | 6.00 | 1.40 | True |
| Away NYM | Middle Reliever | Brooks Raley | 1.10 | 0 | 0 | 1 | 0 | 4.60 | 1.47 | True |
| Away NYM | Middle Reliever | Luke Weaver | 1.10 | 0 | 1 | 0 | 1 | 2.30 | 0.86 | True |
| Away NYM | Middle Reliever | Devin Williams | 0.10 | 1 | 1 | 1 | 1 | 3.88 | 1.21 | True |
| Home CIN | Starter | Chase Burns | 6 | 0 | 5 | 1 | 3 | 2.72 | 1.04 | True |
| Home CIN | Middle Reliever | Brock Burke | 1 | 0 | 0 | 0 | 0 | 2.62 | 1.39 | True |
| Home CIN | Middle Reliever | Sam Moll | 1 | 0 | 0 | 1 | 0 | 3.83 | 1.18 | True |
| Home CIN | Middle Reliever | Tony Santillan | 1 | 0 | 0 | 0 | 0 | 3.83 | 1.28 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | CIN | batter | DH | Sal Stewart | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -2.0900 | deboost | worse |
| away | NYM | batter | DH | MJ Melendez | worse | 11 | 2 | 9 | 3 | 8 | predicted_BB | 1.7060 | boost | better |
| home | CIN | batter | RF | Noelvi Marte | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.6600 | boost | better |
| away | NYM | batter | SS | Bo Bichette | worse | 10 | 1 | 9 | 2 | 8 | predicted_AB | -1.4900 | deboost | worse |
| home | CIN | batter | 2B | Edwin Arroyo | worse | 10 | 3 | 7 | 4 | 6 | predicted_H | 1.4300 | boost | better |
| home | CIN | batter | 3B | Eugenio Suárez | better | 11 | 5 | 6 | 6 | 5 | predicted_SO | -1.2560 | deboost | better |
| home | CIN | batter | LF | JJ Bleday | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | -1.2100 | deboost | worse |
| away | NYM | batter | 2B | Marcus Semien | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 1.1710 | boost | worse |
| away | NYM | batter | RF | Carson Benge | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.1600 | deboost | worse |
| away | NYM | batter | LF | Juan Soto | worse | 8 | 1 | 7 | 2 | 6 | predicted_H | -1.0900 | deboost | worse |
| away | NYM | batter | 3B | Brett Baty | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -1.0000 | deboost | better |
| away | NYM | pitcher | Starter | Tobias Myers | better | 1 | 0 | 1 | 1 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | NYM | pitcher | Middle Reliever | Brooks Raley | better | 2 | 1 | 1 | 2 | 0 | predicted_H | -1.0000 | deboost | better |
| away | NYM | pitcher | Middle Reliever | Devin Williams | worse | 2 | 2 | 0 | 0 | 2 | predicted_ER | 1.0000 | boost | worse |
| home | CIN | batter | CF | Blake Dunn | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.0000 | deboost | better |
| home | CIN | batter | SS | Matt McLain | worse | 11 | 1 | 10 | 2 | 9 | predicted_SO | -1.0000 | deboost | better |
| home | CIN | pitcher | Starter | Chase Burns | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | CIN | pitcher | Middle Reliever | Tony Santillan | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| away | NYM | batter | 1B | Jared Young | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | 0.9600 | boost | better |
| away | NYM | batter | C | Francisco Alvarez | worse | 11 | 0 | 11 | 1 | 10 | predicted_SO | -0.8720 | deboost | better |
| home | CIN | batter | 1B | Spencer Steer | worse | 11 | 6 | 5 | 5 | 6 | predicted_2B | 0.8180 | boost | better |
| away | NYM | batter | CF | A.J. Ewing | worse | 10 | 5 | 5 | 4 | 6 | predicted_SO | 0.8060 | boost | worse |
| home | CIN | batter | C | Tyler Stephenson | worse | 10 | 0 | 10 | 0 | 10 | predicted_H | -0.7000 | deboost | worse |
| away | NYM | pitcher | Middle Reliever | Luke Weaver | 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 | Tobias Myers |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0305 |
| ESPN Rank | 272 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1059 |
| Avg Velo | 87.8361 |
| Avg Spin | 2023.8357 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 6 |
| Pre BB | 2 |
| Pre SO | 2 |
| Season ERA | 4.0500 |
| Season WHIP | 1.0800 |
| Role Avg IP | 1.6670 |
| Recent Avg IP | 1.6670 |
| Last Start IP | 1.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 78,
"wins": 33,
"losses": 45,
"win_pct": 0.4231,
"runs_scored": 306.0,
"runs_allowed": 319.0,
"run_differential": -13.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 3.9231,
"avg_runs_allowed": 4.0897,
"offense_index": 0.8734,
"defense_index": 1.0983,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.6,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0508
},
"opponent": {
"team": "CIN",
"games": 79,
"wins": 35,
"losses": 44,
"win_pct": 0.443,
"runs_scored": 326.0,
"runs_allowed": 400.0,
"run_differential": -74.0,
"run_differential_per_game": -0.9367,
"avg_runs_scored": 4.1266,
"avg_runs_allowed": 5.0633,
"offense_index": 0.9187,
"defense_index": 0.8872,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 5.1,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.2681
},
"edges": {
"quality_edge": 0.2173,
"offense_edge": -0.1266,
"opponent_offense_edge": -0.0813,
"defense_strength": 0.0983,
"opponent_defense_weakness": 0.1128,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0149,
"run_prevention": 0.9663,
"strikeout": 1.013
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668964",
"profile": {
"available": true,
"pitcher_id": "668964",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 127.0,
"k_percent": 19.4,
"bb_percent": 5.2,
"woba": 0.304,
"xwoba": 0.291,
"sweet_spot_percent": 25.7,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 43.6,
"avg_best_speed": 81.4149,
"avg_hyper_speed": 94.6681,
"whiff_percent": 18.6,
"swing_percent": 52.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.2241,
"command_and_miss": -0.3621,
"regression_edge": 0.3714,
"xwoba_edge": 0.6857,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.7143,
"whiff_edge": -0.9857,
"bb_edge": 0.975,
"pitch_design_score": -0.1059
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668964",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.8361130711394,
"release_spin_rate": 2023.8356908296382,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.8361130711394,
"release_spin_rate": 2023.8356908296382,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8361,
"release_spin_rate": 2023.8357,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1059,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7567,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_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.508,
"run_prevention_factor": 0.9974,
"strikeout_factor": 0.9704,
"walk_factor": 0.9604,
"homer_factor": 1.0005,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668964",
"espn_id": 39716,
"player_name": "Tobias Myers",
"team": "NYM",
"role": "pitcher",
"espn_rank": 272,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 272,
"gp_value": 20.0,
"gp_rank": 171,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.05,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 3.0,
"hld_rank": 139,
"ip_value": 33.1,
"ip_rank": 190,
"h_value": 29.0,
"h_rank": 214,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 26.0,
"k_rank": 281,
"k_per_9_value": 7.02,
"k_per_9_rank": 39,
"whip_value": 1.08,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9987,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9987,
"adjusted": 3
},
"predicted_BB": {
"original": 3.0,
"factor": 0.9799,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0003,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.985,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 11.1,
"ER": 10,
"H": 14,
"BB": 3,
"SO": 10,
"HR": 4,
"ERA": 7.941176470588236,
"WHIP": 1.5000000000000002,
"K9": 7.941176470588236,
"HR9": 3.1764705882352944,
"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": "668964",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 19,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.8361130711394,
"release_spin_rate": 2023.8356908296382,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 19,
"pitch_usage": 0.0,
"release_speed": 87.8361130711394,
"release_spin_rate": 2023.8356908296382,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.8361,
"release_spin_rate": 2023.8357,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1059,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7567,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"role": "pitcher",
"player_id": "668964",
"report_date": "20260615_N",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 26.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.4,
"BB": 0.4,
"SO": 0.8,
"HR": 0.2,
"BF": 5.2,
"Pitches": 16.8
},
"rates": {
"ERA": 7.9412,
"WHIP": 1.5882,
"ER_per_IP": 0.88235,
"H_per_IP": 1.23529,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 10.0,
"R": 10.0,
"H": 14.0,
"BB": 3.0,
"SO": 10.0,
"HR": 4.0,
"BF": 51.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.4,
"BB": 0.3,
"SO": 1.0,
"HR": 0.4,
"BF": 5.1,
"Pitches": 16.2
},
"rates": {
"ERA": 7.9412,
"WHIP": 1.5,
"ER_per_IP": 0.88235,
"H_per_IP": 1.23529,
"BB_per_IP": 0.26471,
"SO_per_IP": 0.88235,
"HR_per_IP": 0.35294
}
},
"season": {
"games": 20,
"totals": {
"IP": 33.1,
"ER": 15.0,
"R": 17.0,
"H": 29.0,
"BB": 7.0,
"SO": 26.0,
"HR": 6.0,
"BF": 134.0,
"Pitches": 460.0
},
"per_game": {
"IP": 1.2,
"ER": 0.75,
"R": 0.85,
"H": 1.45,
"BB": 0.35,
"SO": 1.3,
"HR": 0.3,
"BF": 6.7,
"Pitches": 23.0
},
"rates": {
"ERA": 4.05,
"WHIP": 1.08,
"ER_per_IP": 0.45,
"H_per_IP": 0.87,
"BB_per_IP": 0.21,
"SO_per_IP": 0.78,
"HR_per_IP": 0.18
}
}
},
"weighted_prediction": {
"predicted_IP": 2.2,
"predicted_ER": 1.867,
"predicted_H": 3.025,
"predicted_BB": 0.903,
"predicted_SO": 2.373,
"predicted_HR": 0.556,
"predicted_ERA": 6.0016,
"predicted_WHIP": 1.4029
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5321,
"form_weight": 0.4679,
"form_reliability": 0.569,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 2.2,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.867,
"final": 3.002,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 3.025,
"final": 4.608,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.903,
"final": 1.4867,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 2.373,
"final": 2.1745,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.556,
"final": 0.2602,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0016,
"final": 6.0016,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4029,
"final": 1.4029,
"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.1109 |
| ESPN Rank | 115 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.0769 |
| Season WHIP | 1.2692 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 78,
"wins": 33,
"losses": 45,
"win_pct": 0.4231,
"runs_scored": 306.0,
"runs_allowed": 319.0,
"run_differential": -13.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 3.9231,
"avg_runs_allowed": 4.0897,
"offense_index": 0.8734,
"defense_index": 1.0983,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.6,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0508
},
"opponent": {
"team": "CIN",
"games": 79,
"wins": 35,
"losses": 44,
"win_pct": 0.443,
"runs_scored": 326.0,
"runs_allowed": 400.0,
"run_differential": -74.0,
"run_differential_per_game": -0.9367,
"avg_runs_scored": 4.1266,
"avg_runs_allowed": 5.0633,
"offense_index": 0.9187,
"defense_index": 0.8872,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 5.1,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.2681
},
"edges": {
"quality_edge": 0.2173,
"offense_edge": -0.1266,
"opponent_offense_edge": -0.0813,
"defense_strength": 0.0983,
"opponent_defense_weakness": 0.1128,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0149,
"run_prevention": 0.9663,
"strikeout": 1.013
},
"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.7,
"bb_percent": 10.7,
"woba": 0.289,
"xwoba": 0.299,
"sweet_spot_percent": 40.3,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 29.9,
"avg_best_speed": 76.1496,
"avg_hyper_speed": 93.0883,
"whiff_percent": 26.0,
"swing_percent": 44.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.3674,
"command_and_miss": 0.2664,
"regression_edge": -0.2857,
"xwoba_edge": 0.4571,
"barrel_edge": -0.0444,
"hard_hit_edge": 1.2429,
"whiff_edge": 0.0714,
"bb_edge": -0.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "548384",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1109,
"sample_weight": 0.45,
"run_prevention_factor": 0.9906,
"strikeout_factor": 1.0141,
"walk_factor": 1.0144,
"homer_factor": 0.9731,
"woba_minus_xwoba": -0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "548384",
"espn_id": 32005,
"player_name": "Brooks Raley",
"team": "NYM",
"role": "pitcher",
"espn_rank": 115,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 115,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.0769,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 10.0,
"hld_rank": 21,
"ip_value": 26.0,
"ip_rank": 300,
"h_value": 21.0,
"h_rank": 296,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 31.0,
"k_rank": 225,
"k_per_9_value": 10.730769,
"k_per_9_rank": 20,
"whip_value": 1.2692,
"whip_rank": null,
"war_value": 0.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9958,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0065,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9879,
"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": 8.1,
"ER": 4,
"H": 9,
"BB": 6,
"SO": 10,
"HR": 1,
"ERA": 4.32,
"WHIP": 1.8000000000000003,
"K9": 10.8,
"HR9": 1.08,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "548384",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.148,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5073,
"prior_weight": 0.4927
},
"role": "pitcher",
"player_id": "548384",
"report_date": "20260615_N",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 2.0,
"SO": 6.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 91.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 1.2,
"HR": 0.2,
"BF": 4.0,
"Pitches": 18.2
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.6154,
"ER_per_IP": 0.69231,
"H_per_IP": 1.15385,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 4.0,
"R": 4.0,
"H": 9.0,
"BB": 6.0,
"SO": 10.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 170.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.9,
"BB": 0.6,
"SO": 1.0,
"HR": 0.1,
"BF": 4.0,
"Pitches": 17.0
},
"rates": {
"ERA": 4.32,
"WHIP": 1.8,
"ER_per_IP": 0.48,
"H_per_IP": 1.08,
"BB_per_IP": 0.72,
"SO_per_IP": 1.2,
"HR_per_IP": 0.12
}
},
"season": {
"games": 29,
"totals": {
"IP": 26.0,
"ER": 6.0,
"R": 7.0,
"H": 21.0,
"BB": 12.0,
"SO": 31.0,
"HR": 2.0,
"BF": 112.0,
"Pitches": 434.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2069,
"R": 0.2414,
"H": 0.7241,
"BB": 0.4138,
"SO": 1.069,
"HR": 0.069,
"BF": 3.8621,
"Pitches": 14.9655
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.2692,
"ER_per_IP": 0.23077,
"H_per_IP": 0.80769,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.19231,
"HR_per_IP": 0.07692
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.481,
"predicted_H": 0.956,
"predicted_BB": 0.431,
"predicted_SO": 1.045,
"predicted_HR": 0.144,
"predicted_ERA": 4.6017,
"predicted_WHIP": 1.474
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5582,
"form_weight": 0.4418,
"form_reliability": 0.5073,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.148,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5073,
"prior_weight": 0.4927
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.481,
"final": 0.2125,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.956,
"final": 1.5387,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.431,
"final": 0.1904,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.045,
"final": 0.4617,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.144,
"final": 0.0636,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6017,
"final": 4.6017,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.474,
"final": 1.474,
"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.1397 |
| ESPN Rank | 85 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.4000 |
| Season WHIP | 0.9333 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 78,
"wins": 33,
"losses": 45,
"win_pct": 0.4231,
"runs_scored": 306.0,
"runs_allowed": 319.0,
"run_differential": -13.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 3.9231,
"avg_runs_allowed": 4.0897,
"offense_index": 0.8734,
"defense_index": 1.0983,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.6,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0508
},
"opponent": {
"team": "CIN",
"games": 79,
"wins": 35,
"losses": 44,
"win_pct": 0.443,
"runs_scored": 326.0,
"runs_allowed": 400.0,
"run_differential": -74.0,
"run_differential_per_game": -0.9367,
"avg_runs_scored": 4.1266,
"avg_runs_allowed": 5.0633,
"offense_index": 0.9187,
"defense_index": 0.8872,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 5.1,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.2681
},
"edges": {
"quality_edge": 0.2173,
"offense_edge": -0.1266,
"opponent_offense_edge": -0.0813,
"defense_strength": 0.0983,
"opponent_defense_weakness": 0.1128,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0149,
"run_prevention": 0.9663,
"strikeout": 1.013
},
"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": 22.7,
"bb_percent": 6.7,
"woba": 0.234,
"xwoba": 0.285,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 31.3,
"avg_best_speed": 79.538,
"avg_hyper_speed": 93.0824,
"whiff_percent": 26.8,
"swing_percent": 51.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.7287,
"command_and_miss": 0.185,
"regression_edge": -1.4571,
"xwoba_edge": 0.8571,
"barrel_edge": -0.5111,
"hard_hit_edge": 1.0429,
"whiff_edge": 0.1857,
"bb_edge": 0.6,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "596133",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1397,
"sample_weight": 0.45,
"run_prevention_factor": 0.9881,
"strikeout_factor": 1.0033,
"walk_factor": 0.9784,
"homer_factor": 0.9881,
"woba_minus_xwoba": -0.051,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "596133",
"espn_id": 33770,
"player_name": "Luke Weaver",
"team": "NYM",
"role": "pitcher",
"espn_rank": 85,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 85,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.4,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 8.0,
"hld_rank": 39,
"ip_value": 30.0,
"ip_rank": 240,
"h_value": 20.0,
"h_rank": 318,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 27.0,
"k_rank": 266,
"k_per_9_value": 8.1,
"k_per_9_rank": 29,
"whip_value": 0.9333,
"whip_rank": null,
"war_value": 1.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9946,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9946,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9903,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9946,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0015,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 0,
"H": 5,
"BB": 1,
"SO": 8,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5625,
"K9": 6.75,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-11T00:00:00"
}{
"available": false,
"pitcher_id": "596133",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"role": "pitcher",
"player_id": "596133",
"report_date": "20260615_N",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 3.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 61.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.1875,
"ER_per_IP": 0.0,
"H_per_IP": 0.1875,
"BB_per_IP": 0.0,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 137.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.5,
"BB": 0.1,
"SO": 0.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 13.7
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5625,
"ER_per_IP": 0.0,
"H_per_IP": 0.46875,
"BB_per_IP": 0.09375,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 30.0,
"ER": 8.0,
"R": 8.0,
"H": 20.0,
"BB": 8.0,
"SO": 27.0,
"HR": 2.0,
"BF": 119.0,
"Pitches": 448.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2857,
"R": 0.2857,
"H": 0.7143,
"BB": 0.2857,
"SO": 0.9643,
"HR": 0.0714,
"BF": 4.25,
"Pitches": 16.0
},
"rates": {
"ERA": 2.4,
"WHIP": 0.9333,
"ER_per_IP": 0.26667,
"H_per_IP": 0.66667,
"BB_per_IP": 0.26667,
"SO_per_IP": 0.9,
"HR_per_IP": 0.06667
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.256,
"predicted_H": 0.652,
"predicted_BB": 0.212,
"predicted_SO": 0.804,
"predicted_HR": 0.074,
"predicted_ERA": 2.3027,
"predicted_WHIP": 0.8633
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5431,
"form_weight": 0.4569,
"form_reliability": 0.543,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.256,
"final": 0.117,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.652,
"final": 0.2979,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.212,
"final": 0.6399,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.804,
"final": 0.9104,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.074,
"final": 0.0338,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3027,
"final": 2.3027,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8633,
"final": 0.8633,
"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.3635 |
| ESPN Rank | 514 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0348 |
| Avg Velo | 89.1068 |
| Avg Spin | 2442.9373 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 4.2429 |
| Season WHIP | 1.3286 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 78,
"wins": 33,
"losses": 45,
"win_pct": 0.4231,
"runs_scored": 306.0,
"runs_allowed": 319.0,
"run_differential": -13.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 3.9231,
"avg_runs_allowed": 4.0897,
"offense_index": 0.8734,
"defense_index": 1.0983,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.6,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0508
},
"opponent": {
"team": "CIN",
"games": 79,
"wins": 35,
"losses": 44,
"win_pct": 0.443,
"runs_scored": 326.0,
"runs_allowed": 400.0,
"run_differential": -74.0,
"run_differential_per_game": -0.9367,
"avg_runs_scored": 4.1266,
"avg_runs_allowed": 5.0633,
"offense_index": 0.9187,
"defense_index": 0.8872,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 5.1,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.2681
},
"edges": {
"quality_edge": 0.2173,
"offense_edge": -0.1266,
"opponent_offense_edge": -0.0813,
"defense_strength": 0.0983,
"opponent_defense_weakness": 0.1128,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0149,
"run_prevention": 0.9663,
"strikeout": 1.013
},
"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": 35.9,
"bb_percent": 13.6,
"woba": 0.325,
"xwoba": 0.272,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 25.0,
"avg_best_speed": 79.6207,
"avg_hyper_speed": 92.7857,
"whiff_percent": 39.5,
"swing_percent": 50.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.5627,
"command_and_miss": 1.3236,
"regression_edge": 1.5143,
"xwoba_edge": 1.2286,
"barrel_edge": -0.0889,
"hard_hit_edge": 1.9429,
"whiff_edge": 2.0,
"bb_edge": -1.125,
"pitch_design_score": -0.0348
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642207",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 34,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 34,
"pitch_usage": 0.0,
"release_speed": 89.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": 34,
"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.0348,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2485,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.3635,
"sample_weight": 0.45,
"run_prevention_factor": 0.9691,
"strikeout_factor": 1.0699,
"walk_factor": 1.0405,
"homer_factor": 0.9516,
"woba_minus_xwoba": 0.053,
"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": 514,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 514,
"gp_value": 26.0,
"gp_rank": 111,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.0142,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 10.0,
"sv_rank": 14,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 23.1,
"ip_rank": 329,
"h_value": 21.0,
"h_rank": 296,
"er_value": 13.0,
"er_rank": 236,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 14.0,
"bb_rank": 199,
"k_value": 37.0,
"k_rank": 168,
"k_per_9_value": 14.271429,
"k_per_9_rank": 13,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9861,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9861,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0182,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9782,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0315,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 5,
"H": 6,
"BB": 7,
"SO": 15,
"HR": 1,
"ERA": 4.655172413793104,
"WHIP": 1.3448275862068966,
"K9": 13.965517241379311,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": true,
"pitcher_id": "642207",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 34,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 34,
"pitch_usage": 0.0,
"release_speed": 89.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": 34,
"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.0348,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2485,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.62,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4803,
"prior_weight": 0.5197
},
"role": "pitcher",
"player_id": "642207",
"report_date": "20260615_N",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.2,
"SO": 1.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 19.0
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.75,
"ER_per_IP": 0.1875,
"H_per_IP": 0.5625,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.6875,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 5.0,
"R": 5.0,
"H": 6.0,
"BB": 7.0,
"SO": 15.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 181.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.6,
"BB": 0.7,
"SO": 1.5,
"HR": 0.1,
"BF": 4.1,
"Pitches": 18.1
},
"rates": {
"ERA": 4.6552,
"WHIP": 1.3448,
"ER_per_IP": 0.51724,
"H_per_IP": 0.62069,
"BB_per_IP": 0.72414,
"SO_per_IP": 1.55172,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 25,
"totals": {
"IP": 23.1,
"ER": 11.0,
"R": 11.0,
"H": 20.0,
"BB": 11.0,
"SO": 37.0,
"HR": 2.0,
"BF": 98.0,
"Pitches": 408.0
},
"per_game": {
"IP": 1.0,
"ER": 0.44,
"R": 0.44,
"H": 0.8,
"BB": 0.44,
"SO": 1.48,
"HR": 0.08,
"BF": 3.92,
"Pitches": 16.32
},
"rates": {
"ERA": 4.2429,
"WHIP": 1.3286,
"ER_per_IP": 0.47143,
"H_per_IP": 0.85714,
"BB_per_IP": 0.47143,
"SO_per_IP": 1.58571,
"HR_per_IP": 0.08571
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.282,
"predicted_H": 0.532,
"predicted_BB": 0.258,
"predicted_SO": 0.826,
"predicted_HR": 0.066,
"predicted_ERA": 3.8771,
"predicted_WHIP": 1.2087
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5696,
"form_weight": 0.4304,
"form_reliability": 0.4803,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.62,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4803,
"prior_weight": 0.5197
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.282,
"final": 0.1214,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.532,
"final": 0.229,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.258,
"final": 0.6806,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.826,
"final": 0.9251,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0284,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8771,
"final": 3.8771,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2087,
"final": 1.2087,
"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.129 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.490 | 3.000 | 4.000 | Hitting_AB | 4.132 | 5.000 | -1.132 | -2.000 |
| predicted_AVG | 0.251 | 0.000 | 0.250 | Hitting_AVG | 0.232 | 0.400 | -0.232 | -0.400 |
| predicted_BB | 0.257 | 0.000 | 0.000 | Hitting_BB | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.130 | 0.000 | 1.000 | Hitting_H | 0.957 | 2.000 | -0.957 | -2.000 |
| predicted_HR | 0.200 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.314 | 0.250 | 0.250 | Hitting_OBP | 0.278 | 0.400 | -0.028 | -0.150 |
| predicted_R | 0.514 | 0.000 | 1.000 | Hitting_R | 0.479 | 2.000 | -0.479 | -2.000 |
| predicted_RBI | 0.800 | 0.000 | 1.000 | Hitting_RBI | 0.560 | 0.000 | -0.560 | 0.000 |
| predicted_SLG | 0.469 | 0.000 | 0.250 | Hitting_SLG | 0.340 | 0.400 | -0.340 | -0.400 |
| predicted_SO | 0.771 | 0.000 | 1.000 | Hitting_SO | 0.782 | 2.000 | -0.782 | -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_AVG: 0.2510 -> 0.2702 (boost 0.0192, better) |
| Biggest Deboost | predicted_AB: 4.4900 -> 3.0000 (deboost -1.4900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_R: 0.5140 -> 0.5886 (boost 0.0746, better) | predicted_AB: 4.4900 -> 4.2917 (deboost -0.1983, 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.4916 -> 0.4663 (deboost -0.0253, 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.7927 -> 1.0000 (boost 0.2073, worse) | predicted_AB: 4.2917 -> 4.0000 (deboost -0.2917, worse) | AB rounded to 4 (raw=4.49), rates preserved: AVG=0.258 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6067 -> 1.0000 (boost 0.3933, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4663 -> 0.2500 (deboost -0.2163, 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: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4663 (boost 0.2163, better) | - | 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.129,
"predicted_3B": 0.014,
"predicted_AB": 4.49,
"predicted_AVG": 0.251,
"predicted_BB": 0.257,
"predicted_H": 1.13,
"predicted_HR": 0.2,
"predicted_OBP": 0.314,
"predicted_R": 0.514,
"predicted_RBI": 0.8,
"predicted_SLG": 0.469,
"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.1498,
"predicted_3B": 0.0195,
"predicted_AB": 4.2917,
"predicted_AVG": 0.2663,
"predicted_BB": 0.2193,
"predicted_H": 1.1402,
"predicted_HBP": 0.011,
"predicted_HR": 0.2161,
"predicted_OBP": 0.3152,
"predicted_R": 0.5886,
"predicted_RBI": 0.828,
"predicted_SLG": 0.4916,
"predicted_SO": 0.7939
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1498,
"delta": 0.0208,
"percent_delta": 0.1612,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0195,
"delta": 0.0055,
"percent_delta": 0.3929,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.49,
"after": 4.2917,
"delta": -0.1983,
"percent_delta": -0.0442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2663,
"delta": 0.0153,
"percent_delta": 0.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.2193,
"delta": -0.0377,
"percent_delta": -0.1467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 1.1402,
"delta": 0.0102,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.2161,
"delta": 0.0161,
"percent_delta": 0.0805,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3152,
"delta": 0.0012,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.5886,
"delta": 0.0746,
"percent_delta": 0.1451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8,
"after": 0.828,
"delta": 0.028,
"percent_delta": 0.035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.469,
"after": 0.4916,
"delta": 0.0226,
"percent_delta": 0.0482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.771,
"after": 0.7939,
"delta": 0.0229,
"percent_delta": 0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.514,
"after": 0.5886,
"delta": 0.0746,
"percent_delta": 0.1451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.49,
"after": 4.2917,
"delta": -0.1983,
"percent_delta": -0.0442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1498,
"predicted_3B": 0.0195,
"predicted_AB": 4.2917,
"predicted_AVG": 0.2702,
"predicted_BB": 0.2196,
"predicted_H": 1.1597,
"predicted_HBP": 0.011,
"predicted_HR": 0.2176,
"predicted_OBP": 0.3057,
"predicted_R": 0.6067,
"predicted_RBI": 0.8534,
"predicted_SLG": 0.4663,
"predicted_SO": 0.7927
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1498,
"after": 0.1498,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0195,
"after": 0.0195,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2917,
"after": 4.2917,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2663,
"after": 0.2702,
"delta": 0.0039,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2193,
"after": 0.2196,
"delta": 0.0003,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1402,
"after": 1.1597,
"delta": 0.0195,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2161,
"after": 0.2176,
"delta": 0.0015,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3152,
"after": 0.3057,
"delta": -0.0095,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5886,
"after": 0.6067,
"delta": 0.0181,
"percent_delta": 0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.828,
"after": 0.8534,
"delta": 0.0254,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4916,
"after": 0.4663,
"delta": -0.0253,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7939,
"after": 0.7927,
"delta": -0.0012,
"percent_delta": -0.0015,
"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.4916,
"after": 0.4663,
"delta": -0.0253,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.49), rates preserved: AVG=0.258 HR/AB=0.048",
"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.1498,
"after": 0.0,
"delta": -0.1498,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0195,
"after": 0.0,
"delta": -0.0195,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2917,
"after": 4.0,
"delta": -0.2917,
"percent_delta": -0.068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2196,
"after": 0.0,
"delta": -0.2196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1597,
"after": 1.0,
"delta": -0.1597,
"percent_delta": -0.1377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2176,
"after": 0.0,
"delta": -0.2176,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8534,
"after": 1.0,
"delta": 0.1466,
"percent_delta": 0.1718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7927,
"after": 1.0,
"delta": 0.2073,
"percent_delta": 0.2615,
"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.7927,
"after": 1.0,
"delta": 0.2073,
"percent_delta": 0.2615,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2917,
"after": 4.0,
"delta": -0.2917,
"percent_delta": -0.068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.6067,
"after": 1.0,
"delta": 0.3933,
"percent_delta": 0.6483,
"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.6067,
"after": 1.0,
"delta": 0.3933,
"percent_delta": 0.6483,
"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.2702,
"after": 0.25,
"delta": -0.0202,
"percent_delta": -0.0748,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.25,
"delta": -0.0557,
"percent_delta": -0.1822,
"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.4663,
"after": 0.25,
"delta": -0.2163,
"percent_delta": -0.4639,
"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.4663,
"after": 0.25,
"delta": -0.2163,
"percent_delta": -0.4639,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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": 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.2702,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3057,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4663,
"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.2702,
"delta": 0.0202,
"percent_delta": 0.0809,
"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.25,
"after": 0.3057,
"delta": 0.0557,
"percent_delta": 0.223,
"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.4663,
"delta": 0.2163,
"percent_delta": 0.8653,
"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.4663,
"delta": 0.2163,
"percent_delta": 0.8653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.49,
"after": 3.0,
"delta": -1.49,
"percent_delta": -0.3318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2702,
"delta": 0.0192,
"percent_delta": 0.0765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.257,
"after": 0.0,
"delta": -0.257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.13,
"after": 0.0,
"delta": -1.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3057,
"delta": -0.0083,
"percent_delta": -0.0264,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 0.0,
"delta": -0.514,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.469,
"after": 0.4663,
"delta": -0.0027,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2702,
"delta": 0.0192,
"percent_delta": 0.0765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.49,
"after": 3.0,
"delta": -1.49,
"percent_delta": -0.3318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.490 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.257 | - |
| predicted_H | 1.130 | - |
| predicted_HR | 0.200 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.800 | - |
| predicted_SLG | 0.469 | - |
| 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.150 | 0.021 |
| predicted_3B | 0.019 | 0.005 |
| predicted_AB | 4.292 | -0.198 |
| predicted_AVG | 0.266 | 0.015 |
| predicted_BB | 0.219 | -0.038 |
| predicted_H | 1.140 | 0.010 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.216 | 0.016 |
| predicted_OBP | 0.315 | 0.001 |
| predicted_R | 0.589 | 0.075 |
| predicted_RBI | 0.828 | 0.028 |
| predicted_SLG | 0.492 | 0.023 |
| predicted_SO | 0.794 | 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.150 | 0.000 |
| predicted_3B | 0.019 | 0.000 |
| predicted_AB | 4.292 | 0.000 |
| predicted_AVG | 0.270 | 0.004 |
| predicted_BB | 0.220 | 0.000 |
| predicted_H | 1.160 | 0.019 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.218 | 0.002 |
| predicted_OBP | 0.306 | -0.009 |
| predicted_R | 0.607 | 0.018 |
| predicted_RBI | 0.853 | 0.025 |
| predicted_SLG | 0.466 | -0.025 |
| predicted_SO | 0.793 | -0.001 |
AB rounded to 4 (raw=4.49), rates preserved: AVG=0.258 HR/AB=0.048
| 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.150 |
| predicted_3B | 0.000 | -0.019 |
| predicted_AB | 4.000 | -0.292 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 0.000 | -0.220 |
| predicted_H | 1.000 | -0.160 |
| predicted_HR | 0.000 | -0.218 |
| predicted_OBP | 0.250 | -0.056 |
| predicted_R | 1.000 | 0.393 |
| predicted_RBI | 1.000 | 0.147 |
| predicted_SLG | 0.250 | -0.216 |
| predicted_SO | 1.000 | 0.207 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 1.000 | 0.000 | 3.000 | 8.000 | 6.000 | 0.000 | 4.000 | 0.3500 | 0.3500 | 0.8500 | 0.3500 | 0.1500 | 0.4000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 41.000 | 16.000 | 3.000 | 1.000 | 3.000 | 12.000 | 8.000 | 0.000 | 10.000 | 0.3902 | 0.3902 | 0.7317 | 0.3902 | 0.0732 | 0.2927 | 0.0000 | 0.2439 |
| season | 0.60 | 70 | - | 282.000 | 67.000 | 9.000 | 1.000 | 8.000 | 40.000 | 36.000 | 18.000 | 54.000 | 0.2376 | 0.2820 | 0.3617 | 0.2376 | 0.0284 | 0.1418 | 0.0638 | 0.1915 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1780 |
| predicted_3B | 0.0270 |
| predicted_AB | 4.0220 |
| predicted_AVG | 0.2870 |
| predicted_BB | 0.1680 |
| predicted_H | 1.1540 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2380 |
| predicted_OBP | 0.3169 |
| predicted_R | 0.6900 |
| predicted_RBI | 0.8660 |
| predicted_SLG | 0.5223 |
| predicted_SO | 0.8250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.1780 | 0.1498 | model_form_blend |
| predicted_3B | 0.0140 | 0.0270 | 0.0195 | model_form_blend |
| predicted_AB | 4.4900 | 4.0220 | 4.2917 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2870 | 0.2663 | model_form_blend |
| predicted_BB | 0.2570 | 0.1680 | 0.2193 | model_form_blend |
| predicted_H | 1.1300 | 1.1540 | 1.1402 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.2000 | 0.2380 | 0.2161 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3169 | 0.3152 | model_form_blend |
| predicted_R | 0.5140 | 0.6900 | 0.5886 | model_form_blend |
| predicted_RBI | 0.8000 | 0.8660 | 0.8280 | model_form_blend |
| predicted_SLG | 0.4690 | 0.5223 | 0.4916 | model_form_blend |
| predicted_SO | 0.7710 | 0.8250 | 0.7939 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 257 |
| Season rows before report date | 257 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| 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 | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_ATL@NYM |
| game_type | full |
| mlbID | 666182 |
| playerID | 666182 |
| playerName | Bo Bichette |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-14 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.285 |
| sl_xwoba | 0.33 |
| sl_xba | 0.28 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 33.2 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 46.6 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 7.8 |
| sl_whiff_percent | 17.1 |
| sl_swing_percent | 53.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.113 | 0.000 | 0.000 | Hitting_2B | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 4.020 | 4.000 | 4.000 | Hitting_AB | 3.771 | 3.000 | 0.229 | 1.000 |
| predicted_AVG | 0.270 | 0.000 | 0.250 | Hitting_AVG | 0.301 | 0.667 | -0.301 | -0.667 |
| predicted_BB | 0.566 | 0.000 | 1.000 | Hitting_BB | 0.631 | 2.000 | -0.631 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.050 | 1.000 | -0.050 | -1.000 |
| predicted_H | 1.090 | 0.000 | 1.000 | Hitting_H | 1.134 | 2.000 | -1.134 | -2.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.268 | 0.000 | -0.268 | 0.000 |
| predicted_OBP | 0.383 | 0.000 | 0.400 | Hitting_OBP | 0.398 | 0.800 | -0.398 | -0.800 |
| predicted_R | 0.604 | 0.000 | 1.000 | Hitting_R | 0.603 | 1.000 | -0.603 | -1.000 |
| predicted_RBI | 0.640 | 0.000 | 1.000 | Hitting_RBI | 0.631 | 2.000 | -0.631 | -2.000 |
| predicted_SLG | 0.543 | 0.000 | 0.250 | Hitting_SLG | 0.556 | 0.667 | -0.556 | -0.667 |
| predicted_SO | 0.547 | 0.000 | 0.000 | Hitting_SO | 0.654 | 0.000 | -0.654 | 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 | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AVG: 0.2700 -> 0.2949 (boost 0.0249, 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 | 5 | 3 | 2 | 4 | 1 | predicted_SLG: 0.5430 -> 0.5683 (boost 0.0253, better) | predicted_AB: 4.0200 -> 3.8612 (deboost -0.1588, 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.5683 -> 0.5397 (deboost -0.0286, 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.5831 -> 1.0000 (boost 0.4169, better) | predicted_SO: 0.4918 -> 0.0000 (deboost -0.4918, better) | AB rounded to 4 (raw=4.02), rates preserved: AVG=0.283 HR/AB=0.064 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6259 -> 1.0000 (boost 0.3741, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3874 -> 0.4000 (boost 0.0126, better) | predicted_SLG: 0.5397 -> 0.2500 (deboost -0.2897, 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_BB: 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.5397 (boost 0.2897, better) | predicted_OBP: 0.4000 -> 0.3874 (deboost -0.0126, 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.113,
"predicted_3B": 0.019,
"predicted_AB": 4.02,
"predicted_AVG": 0.27,
"predicted_BB": 0.566,
"predicted_H": 1.09,
"predicted_HR": 0.24,
"predicted_OBP": 0.383,
"predicted_R": 0.604,
"predicted_RBI": 0.64,
"predicted_SLG": 0.543,
"predicted_SO": 0.547
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1454,
"predicted_3B": 0.0161,
"predicted_AB": 3.8612,
"predicted_AVG": 0.2904,
"predicted_BB": 0.5822,
"predicted_H": 1.1195,
"predicted_HBP": 0.004,
"predicted_HR": 0.2541,
"predicted_OBP": 0.3958,
"predicted_R": 0.6073,
"predicted_RBI": 0.6367,
"predicted_SLG": 0.5683,
"predicted_SO": 0.4925
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.1454,
"delta": 0.0324,
"percent_delta": 0.2867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0161,
"delta": -0.0029,
"percent_delta": -0.1526,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 3.8612,
"delta": -0.1588,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2904,
"delta": 0.0204,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 0.5822,
"delta": 0.0162,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.1195,
"delta": 0.0295,
"percent_delta": 0.0271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2541,
"delta": 0.0141,
"percent_delta": 0.0588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.383,
"after": 0.3958,
"delta": 0.0128,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.604,
"after": 0.6073,
"delta": 0.0033,
"percent_delta": 0.0055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6367,
"delta": -0.0033,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.543,
"after": 0.5683,
"delta": 0.0253,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.547,
"after": 0.4925,
"delta": -0.0545,
"percent_delta": -0.0996,
"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_SLG",
"before": 0.543,
"after": 0.5683,
"delta": 0.0253,
"percent_delta": 0.0466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.02,
"after": 3.8612,
"delta": -0.1588,
"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": 5,
"last_10": 10,
"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.1454,
"predicted_3B": 0.0161,
"predicted_AB": 3.8612,
"predicted_AVG": 0.2949,
"predicted_BB": 0.5831,
"predicted_H": 1.1386,
"predicted_HBP": 0.004,
"predicted_HR": 0.2559,
"predicted_OBP": 0.3874,
"predicted_R": 0.6259,
"predicted_RBI": 0.6562,
"predicted_SLG": 0.5397,
"predicted_SO": 0.4918
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.1454,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0161,
"after": 0.0161,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8612,
"after": 3.8612,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2904,
"after": 0.2949,
"delta": 0.0045,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5822,
"after": 0.5831,
"delta": 0.0009,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1195,
"after": 1.1386,
"delta": 0.0191,
"percent_delta": 0.0171,
"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.2541,
"after": 0.2559,
"delta": 0.0018,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3958,
"after": 0.3874,
"delta": -0.0084,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6073,
"after": 0.6259,
"delta": 0.0186,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6367,
"after": 0.6562,
"delta": 0.0195,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5683,
"after": 0.5397,
"delta": -0.0286,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4925,
"after": 0.4918,
"delta": -0.0007,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5683,
"after": 0.5397,
"delta": -0.0286,
"percent_delta": -0.0503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.02), rates preserved: AVG=0.283 HR/AB=0.064",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1454,
"after": 0.0,
"delta": -0.1454,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0161,
"after": 0.0,
"delta": -0.0161,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8612,
"after": 4.0,
"delta": 0.1388,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5831,
"after": 1.0,
"delta": 0.4169,
"percent_delta": 0.715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1386,
"after": 1.0,
"delta": -0.1386,
"percent_delta": -0.1217,
"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.2559,
"after": 0.0,
"delta": -0.2559,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6562,
"after": 1.0,
"delta": 0.3438,
"percent_delta": 0.5239,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4918,
"after": 0.0,
"delta": -0.4918,
"percent_delta": -1.0,
"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.5831,
"after": 1.0,
"delta": 0.4169,
"percent_delta": 0.715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4918,
"after": 0.0,
"delta": -0.4918,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.6259,
"after": 1.0,
"delta": 0.3741,
"percent_delta": 0.5977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6259,
"after": 1.0,
"delta": 0.3741,
"percent_delta": 0.5977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2949,
"after": 0.25,
"delta": -0.0449,
"percent_delta": -0.1523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3874,
"after": 0.4,
"delta": 0.0126,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5397,
"after": 0.25,
"delta": -0.2897,
"percent_delta": -0.5368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3874,
"after": 0.4,
"delta": 0.0126,
"percent_delta": 0.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5397,
"after": 0.25,
"delta": -0.2897,
"percent_delta": -0.5368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2949,
"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.3874,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5397,
"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.2949,
"delta": 0.0449,
"percent_delta": 0.1796,
"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.4,
"after": 0.3874,
"delta": -0.0126,
"percent_delta": -0.0315,
"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.5397,
"delta": 0.2897,
"percent_delta": 1.1588,
"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.5397,
"delta": 0.2897,
"percent_delta": 1.1588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3874,
"delta": -0.0126,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "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.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 4.0,
"delta": -0.02,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2949,
"delta": 0.0249,
"percent_delta": 0.0922,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 0.0,
"delta": -0.566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.383,
"after": 0.3874,
"delta": 0.0044,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.543,
"after": 0.5397,
"delta": -0.0033,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.547,
"after": 0.0,
"delta": -0.547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.2949,
"delta": 0.0249,
"percent_delta": 0.0922,
"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.113 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.020 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.566 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.383 | - |
| predicted_R | 0.604 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.543 | - |
| predicted_SO | 0.547 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.032 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 3.861 | -0.159 |
| predicted_AVG | 0.290 | 0.020 |
| predicted_BB | 0.582 | 0.016 |
| predicted_H | 1.119 | 0.029 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.254 | 0.014 |
| predicted_OBP | 0.396 | 0.013 |
| predicted_R | 0.607 | 0.003 |
| predicted_RBI | 0.637 | -0.003 |
| predicted_SLG | 0.568 | 0.025 |
| predicted_SO | 0.492 | -0.055 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 3.861 | 0.000 |
| predicted_AVG | 0.295 | 0.005 |
| predicted_BB | 0.583 | 0.001 |
| predicted_H | 1.139 | 0.019 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.256 | 0.002 |
| predicted_OBP | 0.387 | -0.008 |
| predicted_R | 0.626 | 0.019 |
| predicted_RBI | 0.656 | 0.019 |
| predicted_SLG | 0.540 | -0.029 |
| predicted_SO | 0.492 | -0.001 |
AB rounded to 4 (raw=4.02), rates preserved: AVG=0.283 HR/AB=0.064
| 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 | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 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.145 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 4.000 | 0.139 |
| predicted_AVG | 0.250 | -0.045 |
| predicted_BB | 1.000 | 0.417 |
| predicted_H | 1.000 | -0.139 |
| predicted_HR | 0.000 | -0.256 |
| predicted_OBP | 0.400 | 0.013 |
| predicted_R | 1.000 | 0.374 |
| predicted_RBI | 1.000 | 0.344 |
| predicted_SLG | 0.250 | -0.290 |
| predicted_SO | 0.000 | -0.492 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 8.000 | 2.000 | 0.000 | 2.000 | 4.000 | 4.000 | 4.000 | 0.000 | 0.4706 | 0.5714 | 0.9412 | 0.4706 | 0.1177 | 0.2353 | 0.2353 | 0.0000 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 7.000 | 2.000 | 0.2778 | 0.3953 | 0.5000 | 0.2778 | 0.0556 | 0.1389 | 0.1944 | 0.0556 |
| season | 0.60 | 53 | - | 195.000 | 58.000 | 6.000 | 1.000 | 15.000 | 34.000 | 32.000 | 30.000 | 29.000 | 0.2974 | 0.3894 | 0.5692 | 0.2974 | 0.0769 | 0.1744 | 0.1538 | 0.1487 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1910 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.6380 |
| predicted_AVG | 0.3190 |
| predicted_BB | 0.6050 |
| predicted_H | 1.1610 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.2740 |
| predicted_OBP | 0.4137 |
| predicted_R | 0.6120 |
| predicted_RBI | 0.6320 |
| predicted_SLG | 0.6039 |
| predicted_SO | 0.4160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1130 | 0.1910 | 0.1454 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0161 | model_form_blend |
| predicted_AB | 4.0200 | 3.6380 | 3.8612 | model_form_blend |
| predicted_AVG | 0.2700 | 0.3190 | 0.2904 | model_form_blend |
| predicted_BB | 0.5660 | 0.6050 | 0.5822 | model_form_blend |
| predicted_H | 1.0900 | 1.1610 | 1.1195 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.2400 | 0.2740 | 0.2541 | model_form_blend |
| predicted_OBP | 0.3830 | 0.4137 | 0.3958 | model_form_blend |
| predicted_R | 0.6040 | 0.6120 | 0.6073 | model_form_blend |
| predicted_RBI | 0.6400 | 0.6320 | 0.6367 | model_form_blend |
| predicted_SLG | 0.5430 | 0.6039 | 0.5683 | model_form_blend |
| predicted_SO | 0.5470 | 0.4160 | 0.4925 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 179 |
| Season rows before report date | 179 |
| Report year | 2026 |
| Profile rows used | 53 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.297 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_ATL@NYM |
| game_type | full |
| mlbID | 665742 |
| playerID | 665742 |
| playerName | Juan Soto |
| pos | LF |
| started | True |
| startingPosition | DH |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-14 |
| sl_k_percent | 13.3 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.396 |
| sl_xwoba | 0.422 |
| sl_xba | 0.301 |
| sl_xslg | 0.627 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 16.4 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 93.0 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 20.3 |
| 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.136 | 0.000 | 0.000 | Hitting_2B | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 4.160 | 3.000 | 4.000 | Hitting_AB | 3.810 | 4.000 | -0.810 | -1.000 |
| predicted_AVG | 0.238 | 0.000 | 0.250 | Hitting_AVG | 0.265 | 0.500 | -0.265 | -0.500 |
| predicted_BB | 0.288 | 1.000 | 0.000 | Hitting_BB | 0.310 | 1.000 | 0.690 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.009 | 2.000 | -1.009 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_OBP | 0.313 | 0.250 | 0.250 | Hitting_OBP | 0.333 | 0.600 | -0.083 | -0.350 |
| predicted_R | 0.561 | 0.000 | 1.000 | Hitting_R | 0.583 | 1.000 | -0.583 | -1.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.472 | 0.000 | -0.472 | 0.000 |
| predicted_SLG | 0.379 | 0.000 | 0.250 | Hitting_SLG | 0.362 | 0.500 | -0.362 | -0.500 |
| predicted_SO | 0.894 | 0.000 | 1.000 | Hitting_SO | 0.838 | 1.000 | -0.838 | -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.2880 -> 1.0000 (boost 0.7120, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.1600 -> 3.9880 (deboost -0.1720, 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.3140 -> 0.2959 (deboost -0.0181, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.9300 -> 1.0000 (boost 0.0700, worse) | predicted_RBI: 0.3505 -> 0.0000 (deboost -0.3505, worse) | AB rounded to 4 (raw=4.16), rates preserved: AVG=0.234 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5890 -> 1.0000 (boost 0.4110, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2445 -> 0.2500 (boost 0.0055, better) | predicted_SLG: 0.3647 -> 0.2500 (deboost -0.1147, 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_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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3647 (boost 0.1147, better) | predicted_AVG: 0.2500 -> 0.2445 (deboost -0.0055, 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.136,
"predicted_3B": 0.015,
"predicted_AB": 4.16,
"predicted_AVG": 0.238,
"predicted_BB": 0.288,
"predicted_H": 0.99,
"predicted_HR": 0.12,
"predicted_OBP": 0.313,
"predicted_R": 0.561,
"predicted_RBI": 0.37,
"predicted_SLG": 0.379,
"predicted_SO": 0.894
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1179,
"predicted_3B": 0.02,
"predicted_AB": 3.988,
"predicted_AVG": 0.2405,
"predicted_BB": 0.2909,
"predicted_H": 0.9585,
"predicted_HBP": 0.091,
"predicted_HR": 0.1065,
"predicted_OBP": 0.314,
"predicted_R": 0.5715,
"predicted_RBI": 0.3401,
"predicted_SLG": 0.3682,
"predicted_SO": 0.9314
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.136,
"after": 0.1179,
"delta": -0.0181,
"percent_delta": -0.1331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.02,
"delta": 0.005,
"percent_delta": 0.3333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.16,
"after": 3.988,
"delta": -0.172,
"percent_delta": -0.0413,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2405,
"delta": 0.0025,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.2909,
"delta": 0.0029,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9585,
"delta": -0.0315,
"percent_delta": -0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1065,
"delta": -0.0135,
"percent_delta": -0.1125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.314,
"delta": 0.001,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 0.5715,
"delta": 0.0105,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3401,
"delta": -0.0299,
"percent_delta": -0.0808,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3682,
"delta": -0.0108,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.894,
"after": 0.9314,
"delta": 0.0374,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.16,
"after": 3.988,
"delta": -0.172,
"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": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1179,
"predicted_3B": 0.02,
"predicted_AB": 3.988,
"predicted_AVG": 0.2445,
"predicted_BB": 0.2913,
"predicted_H": 0.9749,
"predicted_HBP": 0.091,
"predicted_HR": 0.1072,
"predicted_OBP": 0.2959,
"predicted_R": 0.589,
"predicted_RBI": 0.3505,
"predicted_SLG": 0.3647,
"predicted_SO": 0.93
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1179,
"after": 0.1179,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.02,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.988,
"after": 3.988,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2405,
"after": 0.2445,
"delta": 0.004,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2909,
"after": 0.2913,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9585,
"after": 0.9749,
"delta": 0.0164,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.091,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1065,
"after": 0.1072,
"delta": 0.0007,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.2959,
"delta": -0.0181,
"percent_delta": -0.0576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5715,
"after": 0.589,
"delta": 0.0175,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3401,
"after": 0.3505,
"delta": 0.0104,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3682,
"after": 0.3647,
"delta": -0.0035,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9314,
"after": 0.93,
"delta": -0.0014,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.314,
"after": 0.2959,
"delta": -0.0181,
"percent_delta": -0.0576,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.16), rates preserved: AVG=0.234 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1179,
"after": 0.0,
"delta": -0.1179,
"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": 3.988,
"after": 4.0,
"delta": 0.012,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2913,
"after": 0.0,
"delta": -0.2913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9749,
"after": 1.0,
"delta": 0.0251,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1072,
"after": 0.0,
"delta": -0.1072,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3505,
"after": 0.0,
"delta": -0.3505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.93,
"after": 1.0,
"delta": 0.07,
"percent_delta": 0.0753,
"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.93,
"after": 1.0,
"delta": 0.07,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3505,
"after": 0.0,
"delta": -0.3505,
"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.589,
"after": 1.0,
"delta": 0.411,
"percent_delta": 0.6978,
"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.589,
"after": 1.0,
"delta": 0.411,
"percent_delta": 0.6978,
"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.2445,
"after": 0.25,
"delta": 0.0055,
"percent_delta": 0.0225,
"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.2959,
"after": 0.25,
"delta": -0.0459,
"percent_delta": -0.1551,
"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.3647,
"after": 0.25,
"delta": -0.1147,
"percent_delta": -0.3145,
"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.2445,
"after": 0.25,
"delta": 0.0055,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3647,
"after": 0.25,
"delta": -0.1147,
"percent_delta": -0.3145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2445,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2959,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3647,
"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.2445,
"delta": -0.0055,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2959,
"delta": 0.0459,
"percent_delta": 0.1836,
"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.3647,
"delta": 0.1147,
"percent_delta": 0.4589,
"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.3647,
"delta": 0.1147,
"percent_delta": 0.4589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2445,
"delta": -0.0055,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "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.015,
"after": 0.0,
"delta": -0.015,
"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.238,
"after": 0.2445,
"delta": 0.0065,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 1.0,
"delta": 0.712,
"percent_delta": 2.4722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.2959,
"delta": -0.0171,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"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.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.379,
"after": 0.3647,
"delta": -0.0143,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.894,
"after": 0.0,
"delta": -0.894,
"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.288,
"after": 1.0,
"delta": 0.712,
"percent_delta": 2.4722,
"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.136 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.160 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.288 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.561 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.379 | - |
| predicted_SO | 0.894 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | -0.018 |
| predicted_3B | 0.020 | 0.005 |
| predicted_AB | 3.988 | -0.172 |
| predicted_AVG | 0.240 | 0.003 |
| predicted_BB | 0.291 | 0.003 |
| predicted_H | 0.959 | -0.031 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.106 | -0.013 |
| predicted_OBP | 0.314 | 0.001 |
| predicted_R | 0.572 | 0.010 |
| predicted_RBI | 0.340 | -0.030 |
| predicted_SLG | 0.368 | -0.011 |
| predicted_SO | 0.931 | 0.037 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.118 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.988 | 0.000 |
| predicted_AVG | 0.244 | 0.004 |
| predicted_BB | 0.291 | 0.000 |
| predicted_H | 0.975 | 0.016 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.107 | 0.001 |
| predicted_OBP | 0.296 | -0.018 |
| predicted_R | 0.589 | 0.017 |
| predicted_RBI | 0.350 | 0.010 |
| predicted_SLG | 0.365 | -0.004 |
| predicted_SO | 0.930 | -0.001 |
AB rounded to 4 (raw=4.16), rates preserved: AVG=0.234 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.118 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | 0.012 |
| predicted_AVG | 0.250 | 0.006 |
| predicted_BB | 0.000 | -0.291 |
| predicted_H | 1.000 | 0.025 |
| predicted_HR | 0.000 | -0.107 |
| predicted_OBP | 0.250 | -0.046 |
| predicted_R | 1.000 | 0.411 |
| predicted_RBI | 0.000 | -0.350 |
| predicted_SLG | 0.250 | -0.115 |
| predicted_SO | 1.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 | 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 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 6.000 | 0.1667 | 0.2857 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.1111 | 0.3333 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 0.000 | 1.000 | 1.000 | 2.000 | 7.000 | 2.000 | 11.000 | 0.2750 | 0.3256 | 0.4000 | 0.2750 | 0.0250 | 0.0500 | 0.0500 | 0.2750 |
| season | 0.60 | 66 | - | 244.000 | 63.000 | 9.000 | 1.000 | 7.000 | 26.000 | 37.000 | 19.000 | 59.000 | 0.2582 | 0.3221 | 0.3893 | 0.2582 | 0.0287 | 0.1066 | 0.0779 | 0.2418 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0930 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.7510 |
| predicted_AVG | 0.2440 |
| predicted_BB | 0.2950 |
| predicted_H | 0.9150 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.0880 |
| predicted_OBP | 0.3153 |
| predicted_R | 0.5860 |
| predicted_RBI | 0.2990 |
| predicted_SLG | 0.3532 |
| predicted_SO | 0.9830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1360 | 0.0930 | 0.1179 | model_form_blend |
| predicted_3B | 0.0150 | 0.0270 | 0.0200 | model_form_blend |
| predicted_AB | 4.1600 | 3.7510 | 3.9880 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2440 | 0.2405 | model_form_blend |
| predicted_BB | 0.2880 | 0.2950 | 0.2909 | model_form_blend |
| predicted_H | 0.9900 | 0.9150 | 0.9585 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.1200 | 0.0880 | 0.1065 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3153 | 0.3140 | model_form_blend |
| predicted_R | 0.5610 | 0.5860 | 0.5715 | model_form_blend |
| predicted_RBI | 0.3700 | 0.2990 | 0.3401 | model_form_blend |
| predicted_SLG | 0.3790 | 0.3532 | 0.3682 | model_form_blend |
| predicted_SO | 0.8940 | 0.9830 | 0.9314 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 216 |
| Season rows before report date | 216 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.258 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260614_ATL@NYM |
| game_type | full |
| mlbID | 701807 |
| playerID | 701807 |
| playerName | Carson Benge |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.313 |
| sl_xwoba | 0.347 |
| sl_xba | 0.28 |
| sl_xslg | 0.455 |
| sl_sweet_spot_percent | 41.5 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 44.3 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 44.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.160 | 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.040 | 4.000 | 3.000 | Hitting_AB | 2.884 | 5.000 | 1.116 | -1.000 |
| predicted_AVG | 0.266 | 0.000 | 0.333 | Hitting_AVG | 0.298 | 0.200 | -0.298 | -0.200 |
| predicted_BB | 0.240 | 0.000 | 0.000 | Hitting_BB | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.300 | 0.000 | 1.000 | Hitting_H | 0.860 | 1.000 | -0.860 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_OBP | 0.286 | 0.000 | 0.333 | Hitting_OBP | 0.348 | 0.200 | -0.348 | -0.200 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.349 | 1.000 | -0.349 | -1.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.302 | 1.000 | -0.302 | -1.000 |
| predicted_SLG | 0.429 | 0.000 | 0.333 | Hitting_SLG | 0.468 | 0.200 | -0.468 | -0.200 |
| predicted_SO | 0.720 | 1.000 | 1.000 | Hitting_SO | 0.581 | 1.000 | 0.419 | 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: 3.0400 -> 4.0000 (boost 0.9600, 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 | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.3000 -> 0.5093 (boost 0.2093, better) | - | Final model input calibrated with local 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.4383 -> 0.3113 (deboost -0.1270, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.7100 -> 1.0000 (boost 0.2900, worse) | predicted_H: 0.5180 -> 0.0000 (deboost -0.5180, worse) | AB rounded to 3 (raw=3.18), rates preserved: AVG=0.163 HR/AB=0.032 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.4176 -> 0.0000 (deboost -0.4176, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1630 -> 0.3330 (boost 0.1700, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_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.1630 (deboost -0.1700, 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.16,
"predicted_3B": 0.0,
"predicted_AB": 3.04,
"predicted_AVG": 0.266,
"predicted_BB": 0.24,
"predicted_H": 0.3,
"predicted_HR": 0.06,
"predicted_OBP": 0.286,
"predicted_R": 0.4,
"predicted_RBI": 0.19,
"predicted_SLG": 0.429,
"predicted_SO": 0.72
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1674,
"predicted_3B": 0.0015,
"predicted_AB": 3.1774,
"predicted_AVG": 0.2611,
"predicted_BB": 0.2259,
"predicted_H": 0.5093,
"predicted_HBP": 0.042,
"predicted_HR": 0.0995,
"predicted_OBP": 0.2922,
"predicted_R": 0.4052,
"predicted_RBI": 0.2928,
"predicted_SLG": 0.4383,
"predicted_SO": 0.7111
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1674,
"delta": 0.0074,
"percent_delta": 0.0462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0015,
"delta": 0.0015,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.04,
"after": 3.1774,
"delta": 0.1374,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.2611,
"delta": -0.0049,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.24,
"after": 0.2259,
"delta": -0.0141,
"percent_delta": -0.0588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 0.5093,
"delta": 0.2093,
"percent_delta": 0.6977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0995,
"delta": 0.0395,
"percent_delta": 0.6583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2922,
"delta": 0.0062,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4052,
"delta": 0.0052,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.2928,
"delta": 0.1028,
"percent_delta": 0.5411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4383,
"delta": 0.0093,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 0.7111,
"delta": -0.0089,
"percent_delta": -0.0124,
"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": 0.3,
"after": 0.5093,
"delta": 0.2093,
"percent_delta": 0.6977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1674,
"predicted_3B": 0.0015,
"predicted_AB": 3.1774,
"predicted_AVG": 0.163,
"predicted_BB": 0.2262,
"predicted_H": 0.518,
"predicted_HBP": 0.042,
"predicted_HR": 0.1002,
"predicted_OBP": 0.2187,
"predicted_R": 0.4176,
"predicted_RBI": 0.3018,
"predicted_SLG": 0.3113,
"predicted_SO": 0.71
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1674,
"after": 0.1674,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0015,
"after": 0.0015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1774,
"after": 3.1774,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2611,
"after": 0.163,
"delta": -0.0981,
"percent_delta": -0.3757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2259,
"after": 0.2262,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5093,
"after": 0.518,
"delta": 0.0087,
"percent_delta": 0.0171,
"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.0995,
"after": 0.1002,
"delta": 0.0007,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2922,
"after": 0.2187,
"delta": -0.0735,
"percent_delta": -0.2515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4052,
"after": 0.4176,
"delta": 0.0124,
"percent_delta": 0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2928,
"after": 0.3018,
"delta": 0.009,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4383,
"after": 0.3113,
"delta": -0.127,
"percent_delta": -0.2898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7111,
"after": 0.71,
"delta": -0.0011,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4383,
"after": 0.3113,
"delta": -0.127,
"percent_delta": -0.2898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.18), rates preserved: AVG=0.163 HR/AB=0.032",
"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.1674,
"after": 0.0,
"delta": -0.1674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0015,
"after": 0.0,
"delta": -0.0015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1774,
"after": 3.0,
"delta": -0.1774,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2262,
"after": 0.0,
"delta": -0.2262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.518,
"after": 0.0,
"delta": -0.518,
"percent_delta": -1.0,
"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.1002,
"after": 0.0,
"delta": -0.1002,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3018,
"after": 0.0,
"delta": -0.3018,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.518,
"after": 0.0,
"delta": -0.518,
"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.4176,
"after": 0.0,
"delta": -0.4176,
"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.4176,
"after": 0.0,
"delta": -0.4176,
"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.163,
"after": 0.333,
"delta": 0.17,
"percent_delta": 1.0429,
"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.2187,
"after": 0.333,
"delta": 0.1143,
"percent_delta": 0.5226,
"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.3113,
"after": 0.333,
"delta": 0.0217,
"percent_delta": 0.0697,
"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.163,
"after": 0.333,
"delta": 0.17,
"percent_delta": 1.0429,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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_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.163,
"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.2187,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3113,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.163,
"delta": -0.17,
"percent_delta": -0.5104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2187,
"delta": -0.1143,
"percent_delta": -0.3434,
"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.3113,
"delta": -0.0217,
"percent_delta": -0.0653,
"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.163,
"delta": -0.17,
"percent_delta": -0.5104,
"direction": "deboost",
"projection_effect": "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.04,
"after": 4.0,
"delta": 0.96,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.266,
"after": 0.163,
"delta": -0.103,
"percent_delta": -0.3872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2187,
"delta": -0.0673,
"percent_delta": -0.2353,
"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.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.3113,
"delta": -0.1177,
"percent_delta": -0.2744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"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": 3.04,
"after": 4.0,
"delta": 0.96,
"percent_delta": 0.3158,
"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.160 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.040 | - |
| predicted_AVG | 0.266 | - |
| predicted_BB | 0.240 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.429 | - |
| predicted_SO | 0.720 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.007 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.177 | 0.137 |
| predicted_AVG | 0.261 | -0.005 |
| predicted_BB | 0.226 | -0.014 |
| predicted_H | 0.509 | 0.209 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.100 | 0.040 |
| predicted_OBP | 0.292 | 0.006 |
| predicted_R | 0.405 | 0.005 |
| predicted_RBI | 0.293 | 0.103 |
| predicted_SLG | 0.438 | 0.009 |
| predicted_SO | 0.711 | -0.009 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.177 | 0.000 |
| predicted_AVG | 0.163 | -0.098 |
| predicted_BB | 0.226 | 0.000 |
| predicted_H | 0.518 | 0.009 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.100 | 0.001 |
| predicted_OBP | 0.219 | -0.074 |
| predicted_R | 0.418 | 0.012 |
| predicted_RBI | 0.302 | 0.009 |
| predicted_SLG | 0.311 | -0.127 |
| predicted_SO | 0.710 | -0.001 |
AB rounded to 3 (raw=3.18), rates preserved: AVG=0.163 HR/AB=0.032
| 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.167 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.177 |
| predicted_AVG | 0.333 | 0.170 |
| predicted_BB | 0.000 | -0.226 |
| predicted_H | 1.000 | 0.482 |
| predicted_HR | 0.000 | -0.100 |
| predicted_OBP | 0.333 | 0.114 |
| predicted_R | 0.000 | -0.418 |
| predicted_RBI | 0.000 | -0.302 |
| predicted_SLG | 0.333 | 0.022 |
| predicted_SO | 1.000 | 0.290 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 2.000 | 0.2353 | 0.2353 | 0.4706 | 0.2353 | 0.0588 | 0.1765 | 0.0000 | 0.1177 |
| last_10 | 0.20 | 10 | - | 37.000 | 9.000 | 2.000 | 0.000 | 2.000 | 6.000 | 3.000 | 1.000 | 6.000 | 0.2432 | 0.2821 | 0.4595 | 0.2432 | 0.0541 | 0.1622 | 0.0270 | 0.1622 |
| season | 0.60 | 25 | - | 76.000 | 20.000 | 4.000 | 0.000 | 4.000 | 9.000 | 10.000 | 6.000 | 18.000 | 0.2632 | 0.3253 | 0.4737 | 0.2632 | 0.0526 | 0.1184 | 0.0790 | 0.2368 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1800 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.4090 |
| predicted_AVG | 0.2528 |
| predicted_BB | 0.2020 |
| predicted_H | 0.8620 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.1660 |
| predicted_OBP | 0.3026 |
| predicted_R | 0.4140 |
| predicted_RBI | 0.4660 |
| predicted_SLG | 0.4541 |
| predicted_SO | 0.6960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1800 | 0.1674 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0015 | model_form_blend |
| predicted_AB | 3.0400 | 3.4090 | 3.1774 | model_form_blend |
| predicted_AVG | 0.2660 | 0.2528 | 0.2611 | model_form_blend |
| predicted_BB | 0.2400 | 0.2020 | 0.2259 | model_form_blend |
| predicted_H | 0.3000 | 0.8620 | 0.5093 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.0600 | 0.1660 | 0.0995 | model_form_blend |
| predicted_OBP | 0.2860 | 0.3026 | 0.2922 | model_form_blend |
| predicted_R | 0.4000 | 0.4140 | 0.4052 | model_form_blend |
| predicted_RBI | 0.1900 | 0.4660 | 0.2928 | model_form_blend |
| predicted_SLG | 0.4290 | 0.4541 | 0.4383 | model_form_blend |
| predicted_SO | 0.7200 | 0.6960 | 0.7111 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 25 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.263 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260614_ATL@NYM |
| game_type | full |
| mlbID | 676724 |
| playerID | 676724 |
| playerName | Jared Young |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.36 |
| sl_xwoba | 0.364 |
| sl_xba | 0.258 |
| sl_xslg | 0.484 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 14.5 |
| sl_hard_hit_percent | 47.3 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 5.6 |
| sl_whiff_percent | 25.6 |
| sl_swing_percent | 47.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.114 | 0.000 | 0.000 | Hitting_2B | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.670 | 4.000 | 4.000 | Hitting_AB | 3.685 | 5.000 | 0.315 | -1.000 |
| predicted_AVG | 0.230 | 0.000 | 0.250 | Hitting_AVG | 0.232 | 0.200 | -0.232 | -0.200 |
| predicted_BB | 0.271 | 0.000 | 0.000 | Hitting_BB | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 0.855 | 1.000 | -0.855 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.102 | 1.000 | -0.102 | -1.000 |
| predicted_OBP | 0.279 | 0.000 | 0.250 | Hitting_OBP | 0.281 | 0.200 | -0.281 | -0.200 |
| predicted_R | 0.386 | 0.000 | 0.000 | Hitting_R | 0.391 | 1.000 | -0.391 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.413 | 1.000 | -0.413 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_SLG | 0.383 | 0.000 | 0.250 | Hitting_SLG | 0.352 | 0.800 | -0.352 | -0.800 |
| predicted_SO | 0.829 | 2.000 | 1.000 | Hitting_SO | 0.809 | 2.000 | 1.191 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8290 -> 2.0000 (boost 1.1710, 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 | 4 | 1 | 3 | 0 | 4 | predicted_SO: 0.8290 -> 0.9293 (boost 0.1003, worse) | predicted_AVG: 0.2300 -> 0.2196 (deboost -0.0104, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.6928 -> 4.0000 (boost 0.3072, better) | predicted_RBI: 0.3752 -> 0.0000 (deboost -0.3752, worse) | AB rounded to 4 (raw=3.69), rates preserved: AVG=0.223 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3892 -> 0.0000 (deboost -0.3892, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2225 -> 0.2500 (boost 0.0275, better) | predicted_SLG: 0.3799 -> 0.2500 (deboost -0.1299, 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_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_SLG: 0.2500 -> 0.3799 (boost 0.1299, better) | predicted_AVG: 0.2500 -> 0.2225 (deboost -0.0275, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "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.114,
"predicted_3B": 0.0,
"predicted_AB": 3.67,
"predicted_AVG": 0.23,
"predicted_BB": 0.271,
"predicted_H": 0.84,
"predicted_HR": 0.15,
"predicted_OBP": 0.279,
"predicted_R": 0.386,
"predicted_RBI": 0.38,
"predicted_SLG": 0.383,
"predicted_SO": 0.829
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1005,
"predicted_3B": 0.0004,
"predicted_AB": 3.6928,
"predicted_AVG": 0.2196,
"predicted_BB": 0.2841,
"predicted_H": 0.808,
"predicted_HBP": 0.011,
"predicted_HR": 0.1588,
"predicted_OBP": 0.2734,
"predicted_R": 0.3776,
"predicted_RBI": 0.364,
"predicted_SLG": 0.3758,
"predicted_SO": 0.9293
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.1005,
"delta": -0.0135,
"percent_delta": -0.1184,
"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.67,
"after": 3.6928,
"delta": 0.0228,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2196,
"delta": -0.0104,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.2841,
"delta": 0.0131,
"percent_delta": 0.0483,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.808,
"delta": -0.032,
"percent_delta": -0.0381,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1588,
"delta": 0.0088,
"percent_delta": 0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2734,
"delta": -0.0056,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.386,
"after": 0.3776,
"delta": -0.0084,
"percent_delta": -0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.364,
"delta": -0.016,
"percent_delta": -0.0421,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3758,
"delta": -0.0072,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 0.9293,
"delta": 0.1003,
"percent_delta": 0.121,
"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": 0.829,
"after": 0.9293,
"delta": 0.1003,
"percent_delta": 0.121,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2196,
"delta": -0.0104,
"percent_delta": -0.0452,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1005,
"predicted_3B": 0.0004,
"predicted_AB": 3.6928,
"predicted_AVG": 0.2225,
"predicted_BB": 0.2845,
"predicted_H": 0.8218,
"predicted_HBP": 0.011,
"predicted_HR": 0.1599,
"predicted_OBP": 0.2782,
"predicted_R": 0.3892,
"predicted_RBI": 0.3752,
"predicted_SLG": 0.3799,
"predicted_SO": 0.9279
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1005,
"after": 0.1005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6928,
"after": 3.6928,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2196,
"after": 0.2225,
"delta": 0.0029,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2841,
"after": 0.2845,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.808,
"after": 0.8218,
"delta": 0.0138,
"percent_delta": 0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1588,
"after": 0.1599,
"delta": 0.0011,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2734,
"after": 0.2782,
"delta": 0.0048,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3776,
"after": 0.3892,
"delta": 0.0116,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.364,
"after": 0.3752,
"delta": 0.0112,
"percent_delta": 0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3758,
"after": 0.3799,
"delta": 0.0041,
"percent_delta": 0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9293,
"after": 0.9279,
"delta": -0.0014,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.223 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1005,
"after": 0.0,
"delta": -0.1005,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6928,
"after": 4.0,
"delta": 0.3072,
"percent_delta": 0.0832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2845,
"after": 0.0,
"delta": -0.2845,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8218,
"after": 1.0,
"delta": 0.1782,
"percent_delta": 0.2168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1599,
"after": 0.0,
"delta": -0.1599,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3752,
"after": 0.0,
"delta": -0.3752,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9279,
"after": 1.0,
"delta": 0.0721,
"percent_delta": 0.0777,
"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.6928,
"after": 4.0,
"delta": 0.3072,
"percent_delta": 0.0832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3752,
"after": 0.0,
"delta": -0.3752,
"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.3892,
"after": 0.0,
"delta": -0.3892,
"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.3892,
"after": 0.0,
"delta": -0.3892,
"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.2225,
"after": 0.25,
"delta": 0.0275,
"percent_delta": 0.1236,
"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.2782,
"after": 0.25,
"delta": -0.0282,
"percent_delta": -0.1014,
"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.3799,
"after": 0.25,
"delta": -0.1299,
"percent_delta": -0.3419,
"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.2225,
"after": 0.25,
"delta": 0.0275,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3799,
"after": 0.25,
"delta": -0.1299,
"percent_delta": -0.3419,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2225,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2782,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3799,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2225,
"delta": -0.0275,
"percent_delta": -0.1098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2782,
"delta": 0.0282,
"percent_delta": 0.1126,
"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.3799,
"delta": 0.1299,
"percent_delta": 0.5196,
"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.3799,
"delta": 0.1299,
"percent_delta": 0.5196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2225,
"delta": -0.0275,
"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.114,
"after": 0.0,
"delta": -0.114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.67,
"after": 4.0,
"delta": 0.33,
"percent_delta": 0.0899,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2225,
"delta": -0.0075,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2782,
"delta": -0.0008,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3799,
"delta": -0.0031,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.829,
"after": 2.0,
"delta": 1.171,
"percent_delta": 1.4125,
"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.829,
"after": 2.0,
"delta": 1.171,
"percent_delta": 1.4125,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.670 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.271 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.386 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.383 | - |
| predicted_SO | 0.829 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.013 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.693 | 0.023 |
| predicted_AVG | 0.220 | -0.010 |
| predicted_BB | 0.284 | 0.013 |
| predicted_H | 0.808 | -0.032 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.159 | 0.009 |
| predicted_OBP | 0.273 | -0.006 |
| predicted_R | 0.378 | -0.008 |
| predicted_RBI | 0.364 | -0.016 |
| predicted_SLG | 0.376 | -0.007 |
| predicted_SO | 0.929 | 0.100 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 3.693 | 0.000 |
| predicted_AVG | 0.223 | 0.003 |
| predicted_BB | 0.284 | 0.000 |
| predicted_H | 0.822 | 0.014 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.160 | 0.001 |
| predicted_OBP | 0.278 | 0.005 |
| predicted_R | 0.389 | 0.012 |
| predicted_RBI | 0.375 | 0.011 |
| predicted_SLG | 0.380 | 0.004 |
| predicted_SO | 0.928 | -0.001 |
AB rounded to 4 (raw=3.69), rates preserved: AVG=0.223 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.101 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.307 |
| predicted_AVG | 0.250 | 0.027 |
| predicted_BB | 0.000 | -0.284 |
| predicted_H | 1.000 | 0.178 |
| predicted_HR | 0.000 | -0.160 |
| predicted_OBP | 0.250 | -0.028 |
| predicted_R | 0.000 | -0.389 |
| predicted_RBI | 0.000 | -0.375 |
| predicted_SLG | 0.250 | -0.130 |
| predicted_SO | 1.000 | 0.072 |
Attached 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 | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 9.000 | 0.1579 | 0.2381 | 0.3158 | 0.1579 | 0.0526 | 0.0526 | 0.1053 | 0.4737 |
| last_10 | 0.20 | 10 | - | 39.000 | 7.000 | 0.000 | 0.000 | 3.000 | 3.000 | 4.000 | 3.000 | 12.000 | 0.1795 | 0.2381 | 0.4103 | 0.1795 | 0.0769 | 0.0769 | 0.0769 | 0.3077 |
| season | 0.60 | 70 | - | 253.000 | 56.000 | 8.000 | 0.000 | 9.000 | 26.000 | 27.000 | 19.000 | 58.000 | 0.2213 | 0.2754 | 0.3597 | 0.2213 | 0.0356 | 0.1028 | 0.0751 | 0.2293 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0820 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7240 |
| predicted_AVG | 0.2052 |
| predicted_BB | 0.3020 |
| predicted_H | 0.7640 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1710 |
| predicted_OBP | 0.2657 |
| predicted_R | 0.3660 |
| predicted_RBI | 0.3420 |
| predicted_SLG | 0.3658 |
| predicted_SO | 1.0670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.0820 | 0.1005 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6700 | 3.7240 | 3.6928 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2052 | 0.2196 | model_form_blend |
| predicted_BB | 0.2710 | 0.3020 | 0.2841 | model_form_blend |
| predicted_H | 0.8400 | 0.7640 | 0.8080 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1500 | 0.1710 | 0.1588 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2657 | 0.2734 | model_form_blend |
| predicted_R | 0.3860 | 0.3660 | 0.3776 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3420 | 0.3640 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3658 | 0.3758 | model_form_blend |
| predicted_SO | 0.8290 | 1.0670 | 0.9293 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.221 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 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 | 20260614_ATL@NYM |
| game_type | full |
| mlbID | 543760 |
| playerID | 543760 |
| playerName | Marcus Semien |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.275 |
| sl_xwoba | 0.323 |
| sl_xba | 0.261 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 35.4 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 22.7 |
| 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.129 | 0.000 | 0.000 | Hitting_2B | 0.053 | 1.000 | -0.053 | -1.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.067 | 0.000 | -0.067 | 0.000 |
| predicted_AB | 3.530 | 4.000 | 4.000 | Hitting_AB | 3.440 | 5.000 | 0.560 | -1.000 |
| predicted_AVG | 0.258 | 0.250 | 0.250 | Hitting_AVG | 0.267 | 0.600 | -0.017 | -0.350 |
| predicted_BB | 0.387 | 0.000 | 0.000 | Hitting_BB | 0.560 | 0.000 | -0.560 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_H | 0.910 | 1.000 | 1.000 | Hitting_H | 0.920 | 3.000 | 0.080 | -2.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.067 | 1.000 | -0.067 | -1.000 |
| predicted_OBP | 0.327 | 0.250 | 0.250 | Hitting_OBP | 0.369 | 0.600 | -0.119 | -0.350 |
| predicted_R | 0.452 | 0.000 | 0.000 | Hitting_R | 0.493 | 2.000 | -0.493 | -2.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.333 | 2.000 | -0.333 | -2.000 |
| predicted_SLG | 0.422 | 0.250 | 0.250 | Hitting_SLG | 0.380 | 1.400 | -0.130 | -1.150 |
| predicted_SO | 1.194 | 2.000 | 1.000 | Hitting_SO | 1.240 | 1.000 | 0.760 | 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: 1.1940 -> 2.0000 (boost 0.8060, worse) |
| Biggest Deboost | predicted_R: 0.4520 -> 0.0000 (deboost -0.4520, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.4220 -> 0.4279 (boost 0.0059, better) | - | Final model input calibrated with local 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.3297 -> 0.3370 (boost 0.0073, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.5073 -> 4.0000 (boost 0.4927, better) | predicted_RBI: 0.3867 -> 0.0000 (deboost -0.3867, worse) | AB rounded to 4 (raw=3.53), rates preserved: AVG=0.266 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4832 -> 0.0000 (deboost -0.4832, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4231 -> 0.2500 (deboost -0.1731, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4231 (boost 0.1731, 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.129,
"predicted_3B": 0.032,
"predicted_AB": 3.53,
"predicted_AVG": 0.258,
"predicted_BB": 0.387,
"predicted_H": 0.91,
"predicted_HR": 0.11,
"predicted_OBP": 0.327,
"predicted_R": 0.452,
"predicted_RBI": 0.39,
"predicted_SLG": 0.422,
"predicted_SO": 1.194
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1622,
"predicted_3B": 0.0269,
"predicted_AB": 3.5073,
"predicted_AVG": 0.2638,
"predicted_BB": 0.3632,
"predicted_H": 0.9248,
"predicted_HBP": 0.006,
"predicted_HR": 0.1084,
"predicted_OBP": 0.3297,
"predicted_R": 0.4688,
"predicted_RBI": 0.3752,
"predicted_SLG": 0.4279,
"predicted_SO": 1.1463
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.1622,
"delta": 0.0332,
"percent_delta": 0.2574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0269,
"delta": -0.0051,
"percent_delta": -0.1594,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.53,
"after": 3.5073,
"delta": -0.0227,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2638,
"delta": 0.0058,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.3632,
"delta": -0.0238,
"percent_delta": -0.0615,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9248,
"delta": 0.0148,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1084,
"delta": -0.0016,
"percent_delta": -0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3297,
"delta": 0.0027,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 0.4688,
"delta": 0.0168,
"percent_delta": 0.0372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3752,
"delta": -0.0148,
"percent_delta": -0.0379,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.422,
"after": 0.4279,
"delta": 0.0059,
"percent_delta": 0.014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.194,
"after": 1.1463,
"delta": -0.0477,
"percent_delta": -0.0399,
"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.422,
"after": 0.4279,
"delta": 0.0059,
"percent_delta": 0.014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 31
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1622,
"predicted_3B": 0.0269,
"predicted_AB": 3.5073,
"predicted_AVG": 0.2682,
"predicted_BB": 0.3637,
"predicted_H": 0.9406,
"predicted_HBP": 0.006,
"predicted_HR": 0.1092,
"predicted_OBP": 0.337,
"predicted_R": 0.4832,
"predicted_RBI": 0.3867,
"predicted_SLG": 0.4231,
"predicted_SO": 1.1446
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1622,
"after": 0.1622,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0269,
"after": 0.0269,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5073,
"after": 3.5073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2638,
"after": 0.2682,
"delta": 0.0044,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3632,
"after": 0.3637,
"delta": 0.0005,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9248,
"after": 0.9406,
"delta": 0.0158,
"percent_delta": 0.0171,
"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.1084,
"after": 0.1092,
"delta": 0.0008,
"percent_delta": 0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3297,
"after": 0.337,
"delta": 0.0073,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4688,
"after": 0.4832,
"delta": 0.0144,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3752,
"after": 0.3867,
"delta": 0.0115,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4279,
"after": 0.4231,
"delta": -0.0048,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1463,
"after": 1.1446,
"delta": -0.0017,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_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.3297,
"after": 0.337,
"delta": 0.0073,
"percent_delta": 0.0221,
"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.53), rates preserved: AVG=0.266 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1622,
"after": 0.0,
"delta": -0.1622,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0269,
"after": 0.0,
"delta": -0.0269,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5073,
"after": 4.0,
"delta": 0.4927,
"percent_delta": 0.1405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3637,
"after": 0.0,
"delta": -0.3637,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9406,
"after": 1.0,
"delta": 0.0594,
"percent_delta": 0.0632,
"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.1092,
"after": 0.0,
"delta": -0.1092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3867,
"after": 0.0,
"delta": -0.3867,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1446,
"after": 1.0,
"delta": -0.1446,
"percent_delta": -0.1263,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5073,
"after": 4.0,
"delta": 0.4927,
"percent_delta": 0.1405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3867,
"after": 0.0,
"delta": -0.3867,
"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.4832,
"after": 0.0,
"delta": -0.4832,
"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.4832,
"after": 0.0,
"delta": -0.4832,
"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.2682,
"after": 0.25,
"delta": -0.0182,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.25,
"delta": -0.087,
"percent_delta": -0.2582,
"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.4231,
"after": 0.25,
"delta": -0.1731,
"percent_delta": -0.4091,
"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.4231,
"after": 0.25,
"delta": -0.1731,
"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": 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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2682,
"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.337,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4231,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2682,
"delta": 0.0182,
"percent_delta": 0.0728,
"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.337,
"delta": 0.087,
"percent_delta": 0.3478,
"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.4231,
"delta": 0.1731,
"percent_delta": 0.6926,
"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.4231,
"delta": 0.1731,
"percent_delta": 0.6926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.53,
"after": 4.0,
"delta": 0.47,
"percent_delta": 0.1331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.2682,
"delta": 0.0102,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.0,
"delta": -0.387,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.0,
"delta": 0.09,
"percent_delta": 0.0989,
"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.327,
"after": 0.337,
"delta": 0.01,
"percent_delta": 0.0306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"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.422,
"after": 0.4231,
"delta": 0.0011,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.194,
"after": 2.0,
"delta": 0.806,
"percent_delta": 0.675,
"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": 1.194,
"after": 2.0,
"delta": 0.806,
"percent_delta": 0.675,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.129 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.530 | - |
| predicted_AVG | 0.258 | - |
| predicted_BB | 0.387 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.452 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.422 | - |
| predicted_SO | 1.194 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.033 |
| predicted_3B | 0.027 | -0.005 |
| predicted_AB | 3.507 | -0.023 |
| predicted_AVG | 0.264 | 0.006 |
| predicted_BB | 0.363 | -0.024 |
| predicted_H | 0.925 | 0.015 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.108 | -0.002 |
| predicted_OBP | 0.330 | 0.003 |
| predicted_R | 0.469 | 0.017 |
| predicted_RBI | 0.375 | -0.015 |
| predicted_SLG | 0.428 | 0.006 |
| predicted_SO | 1.146 | -0.048 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 3.507 | 0.000 |
| predicted_AVG | 0.268 | 0.004 |
| predicted_BB | 0.364 | 0.001 |
| predicted_H | 0.941 | 0.016 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.109 | 0.001 |
| predicted_OBP | 0.337 | 0.007 |
| predicted_R | 0.483 | 0.014 |
| predicted_RBI | 0.387 | 0.012 |
| predicted_SLG | 0.423 | -0.005 |
| predicted_SO | 1.145 | -0.002 |
AB rounded to 4 (raw=3.53), rates preserved: AVG=0.266 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.162 |
| predicted_3B | 0.000 | -0.027 |
| predicted_AB | 4.000 | 0.493 |
| predicted_AVG | 0.250 | -0.018 |
| predicted_BB | 0.000 | -0.364 |
| predicted_H | 1.000 | 0.059 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.250 | -0.087 |
| predicted_R | 0.000 | -0.483 |
| predicted_RBI | 0.000 | -0.387 |
| predicted_SLG | 0.250 | -0.173 |
| predicted_SO | 1.000 | -0.145 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 5.000 | 0.2500 | 0.2941 | 0.5625 | 0.2500 | 0.0625 | 0.1250 | 0.0625 | 0.3125 |
| last_10 | 0.20 | 10 | - | 35.000 | 12.000 | 3.000 | 0.000 | 1.000 | 3.000 | 5.000 | 3.000 | 10.000 | 0.3429 | 0.3846 | 0.5143 | 0.3429 | 0.0286 | 0.0857 | 0.0857 | 0.2857 |
| season | 0.60 | 31 | - | 105.000 | 28.000 | 4.000 | 1.000 | 2.000 | 9.000 | 14.000 | 12.000 | 37.000 | 0.2667 | 0.3390 | 0.3810 | 0.2667 | 0.0191 | 0.0857 | 0.1143 | 0.3524 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2140 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.4720 |
| predicted_AVG | 0.2729 |
| predicted_BB | 0.3260 |
| predicted_H | 0.9480 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.3339 |
| predicted_R | 0.4950 |
| predicted_RBI | 0.3520 |
| predicted_SLG | 0.4370 |
| predicted_SO | 1.0720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.2140 | 0.1622 | model_form_blend |
| predicted_3B | 0.0320 | 0.0190 | 0.0269 | model_form_blend |
| predicted_AB | 3.5300 | 3.4720 | 3.5073 | model_form_blend |
| predicted_AVG | 0.2580 | 0.2729 | 0.2638 | model_form_blend |
| predicted_BB | 0.3870 | 0.3260 | 0.3632 | model_form_blend |
| predicted_H | 0.9100 | 0.9480 | 0.9248 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1100 | 0.1060 | 0.1084 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3339 | 0.3297 | model_form_blend |
| predicted_R | 0.4520 | 0.4950 | 0.4688 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3520 | 0.3752 | model_form_blend |
| predicted_SLG | 0.4220 | 0.4370 | 0.4279 | model_form_blend |
| predicted_SO | 1.1940 | 1.0720 | 1.1463 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 75 |
| Season rows before report date | 75 |
| Report year | 2026 |
| Profile rows used | 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 | 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 7 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260614_ATL@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-06-14 |
| sl_k_percent | 31.3 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.299 |
| sl_xwoba | 0.331 |
| sl_xba | 0.271 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 43.3 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 41.8 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 22.1 |
| 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.123 | 0.000 | 0.000 | Hitting_2B | 0.152 | 0.000 | -0.152 | 0.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 2.500 | 1.000 | 3.000 | Hitting_AB | 2.596 | 2.000 | -1.596 | -1.000 |
| predicted_AVG | 0.262 | 0.000 | 0.333 | Hitting_AVG | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_BB | 0.294 | 2.000 | 0.000 | Hitting_BB | 0.323 | 2.000 | 1.677 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.550 | 0.000 | 1.000 | Hitting_H | 0.606 | 0.000 | -0.606 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.319 | 0.667 | 0.333 | Hitting_OBP | 0.353 | 0.500 | 0.314 | 0.167 |
| predicted_R | 0.319 | 0.000 | 0.000 | Hitting_R | 0.323 | 0.000 | -0.323 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_SLG | 0.376 | 0.000 | 0.333 | Hitting_SLG | 0.420 | 0.000 | -0.420 | 0.000 |
| predicted_SO | 0.980 | 0.000 | 1.000 | Hitting_SO | 1.071 | 0.000 | -1.071 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2940 -> 2.0000 (boost 1.7060, better) |
| Biggest Deboost | predicted_AB: 2.5000 -> 1.0000 (deboost -1.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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.5000 -> 2.5916 (boost 0.0916, better) | predicted_AVG: 0.2620 -> 0.2438 (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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3771 -> 0.3867 (boost 0.0096, better) | predicted_AVG: 0.2438 -> 0.2219 (deboost -0.0219, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_H: 0.5750 -> 1.0000 (boost 0.4250, better) | predicted_BB: 0.3211 -> 0.0000 (deboost -0.3211, worse) | AB rounded to 3 (raw=2.59), rates preserved: AVG=0.222 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3494 -> 0.0000 (deboost -0.3494, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2219 -> 0.3330 (boost 0.1111, better) | predicted_SLG: 0.3867 -> 0.3330 (deboost -0.0537, 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_BB: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 3.0000 -> 1.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.3867 (boost 0.0537, better) | predicted_AVG: 0.3330 -> 0.2219 (deboost -0.1111, 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.123,
"predicted_3B": 0.025,
"predicted_AB": 2.5,
"predicted_AVG": 0.262,
"predicted_BB": 0.294,
"predicted_H": 0.55,
"predicted_HR": 0.08,
"predicted_OBP": 0.319,
"predicted_R": 0.319,
"predicted_RBI": 0.28,
"predicted_SLG": 0.376,
"predicted_SO": 0.98
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1363,
"predicted_3B": 0.0211,
"predicted_AB": 2.5916,
"predicted_AVG": 0.2438,
"predicted_BB": 0.3206,
"predicted_H": 0.5653,
"predicted_HBP": 0.086,
"predicted_HR": 0.0823,
"predicted_OBP": 0.3212,
"predicted_R": 0.339,
"predicted_RBI": 0.2667,
"predicted_SLG": 0.3771,
"predicted_SO": 1.0007
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.1363,
"delta": 0.0133,
"percent_delta": 0.1081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0211,
"delta": -0.0039,
"percent_delta": -0.156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5916,
"delta": 0.0916,
"percent_delta": 0.0366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2438,
"delta": -0.0182,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 0.3206,
"delta": 0.0266,
"percent_delta": 0.0905,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 0.5653,
"delta": 0.0153,
"percent_delta": 0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0823,
"delta": 0.0023,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3212,
"delta": 0.0022,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.319,
"after": 0.339,
"delta": 0.02,
"percent_delta": 0.0627,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2667,
"delta": -0.0133,
"percent_delta": -0.0475,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3771,
"delta": 0.0011,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.98,
"after": 1.0007,
"delta": 0.0207,
"percent_delta": 0.0211,
"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_AB",
"before": 2.5,
"after": 2.5916,
"delta": 0.0916,
"percent_delta": 0.0366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2438,
"delta": -0.0182,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1363,
"predicted_3B": 0.0211,
"predicted_AB": 2.5916,
"predicted_AVG": 0.2219,
"predicted_BB": 0.3211,
"predicted_H": 0.575,
"predicted_HBP": 0.086,
"predicted_HR": 0.0829,
"predicted_OBP": 0.3076,
"predicted_R": 0.3494,
"predicted_RBI": 0.2749,
"predicted_SLG": 0.3867,
"predicted_SO": 0.9992
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1363,
"after": 0.1363,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0211,
"after": 0.0211,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5916,
"after": 2.5916,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.2219,
"delta": -0.0219,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3206,
"after": 0.3211,
"delta": 0.0005,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5653,
"after": 0.575,
"delta": 0.0097,
"percent_delta": 0.0172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.086,
"after": 0.086,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0823,
"after": 0.0829,
"delta": 0.0006,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3212,
"after": 0.3076,
"delta": -0.0136,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 0.3494,
"delta": 0.0104,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2667,
"after": 0.2749,
"delta": 0.0082,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3771,
"after": 0.3867,
"delta": 0.0096,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0007,
"after": 0.9992,
"delta": -0.0015,
"percent_delta": -0.0015,
"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.3771,
"after": 0.3867,
"delta": 0.0096,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.2219,
"delta": -0.0219,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.59), rates preserved: AVG=0.222 HR/AB=0.032",
"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.1363,
"after": 0.0,
"delta": -0.1363,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0211,
"after": 0.0,
"delta": -0.0211,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5916,
"after": 3.0,
"delta": 0.4084,
"percent_delta": 0.1576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3211,
"after": 0.0,
"delta": -0.3211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.575,
"after": 1.0,
"delta": 0.425,
"percent_delta": 0.7391,
"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.0829,
"after": 0.0,
"delta": -0.0829,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2749,
"after": 0.0,
"delta": -0.2749,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9992,
"after": 1.0,
"delta": 0.0008,
"percent_delta": 0.0008,
"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": 0.575,
"after": 1.0,
"delta": 0.425,
"percent_delta": 0.7391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3211,
"after": 0.0,
"delta": -0.3211,
"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.3494,
"after": 0.0,
"delta": -0.3494,
"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.3494,
"after": 0.0,
"delta": -0.3494,
"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.2219,
"after": 0.333,
"delta": 0.1111,
"percent_delta": 0.5007,
"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.3076,
"after": 0.333,
"delta": 0.0254,
"percent_delta": 0.0826,
"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.3867,
"after": 0.333,
"delta": -0.0537,
"percent_delta": -0.1389,
"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.2219,
"after": 0.333,
"delta": 0.1111,
"percent_delta": 0.5007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3867,
"after": 0.333,
"delta": -0.0537,
"percent_delta": -0.1389,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 1.0,
"predicted_BB": 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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 1.0,
"delta": -2.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": 1.0,
"predicted_AVG": 0.2219,
"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.3076,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3867,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2219,
"delta": -0.1111,
"percent_delta": -0.3338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3076,
"delta": -0.0254,
"percent_delta": -0.0762,
"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.3867,
"delta": 0.0537,
"percent_delta": 0.1612,
"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.3867,
"delta": 0.0537,
"percent_delta": 0.1612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2219,
"delta": -0.1111,
"percent_delta": -0.3338,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.0,
"delta": -0.123,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 1.0,
"delta": -1.5,
"percent_delta": -0.6,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2219,
"delta": -0.0401,
"percent_delta": -0.1531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.294,
"after": 2.0,
"delta": 1.706,
"percent_delta": 5.8027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"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.319,
"after": 0.3076,
"delta": -0.0114,
"percent_delta": -0.0357,
"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.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3867,
"delta": 0.0107,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.98,
"after": 0.0,
"delta": -0.98,
"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.294,
"after": 2.0,
"delta": 1.706,
"percent_delta": 5.8027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 1.0,
"delta": -1.5,
"percent_delta": -0.6,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.025 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.294 | - |
| predicted_H | 0.550 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.319 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 0.980 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.013 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 2.592 | 0.092 |
| predicted_AVG | 0.244 | -0.018 |
| predicted_BB | 0.321 | 0.027 |
| predicted_H | 0.565 | 0.015 |
| predicted_HBP | 0.086 | - |
| predicted_HR | 0.082 | 0.002 |
| predicted_OBP | 0.321 | 0.002 |
| predicted_R | 0.339 | 0.020 |
| predicted_RBI | 0.267 | -0.013 |
| predicted_SLG | 0.377 | 0.001 |
| predicted_SO | 1.001 | 0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 2.592 | 0.000 |
| predicted_AVG | 0.222 | -0.022 |
| predicted_BB | 0.321 | 0.001 |
| predicted_H | 0.575 | 0.010 |
| predicted_HBP | 0.086 | 0.000 |
| predicted_HR | 0.083 | 0.001 |
| predicted_OBP | 0.308 | -0.014 |
| predicted_R | 0.349 | 0.010 |
| predicted_RBI | 0.275 | 0.008 |
| predicted_SLG | 0.387 | 0.010 |
| predicted_SO | 0.999 | -0.001 |
AB rounded to 3 (raw=2.59), rates preserved: AVG=0.222 HR/AB=0.032
| 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.136 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 3.000 | 0.408 |
| predicted_AVG | 0.333 | 0.111 |
| predicted_BB | 0.000 | -0.321 |
| predicted_H | 1.000 | 0.425 |
| predicted_HR | 0.000 | -0.083 |
| predicted_OBP | 0.333 | 0.025 |
| predicted_R | 0.000 | -0.349 |
| predicted_RBI | 0.000 | -0.275 |
| predicted_SLG | 0.333 | -0.054 |
| predicted_SO | 1.000 | 0.001 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 1.000 | -2.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 7.000 | 0.2308 | 0.3750 | 0.3077 | 0.2308 | 0.0000 | 0.0000 | 0.2308 | 0.5385 |
| last_10 | 0.20 | 10 | - | 27.000 | 5.000 | 2.000 | 0.000 | 1.000 | 2.000 | 4.000 | 4.000 | 10.000 | 0.1852 | 0.3125 | 0.3704 | 0.1852 | 0.0370 | 0.0741 | 0.1482 | 0.3704 |
| season | 0.60 | 44 | - | 102.000 | 21.000 | 5.000 | 1.000 | 4.000 | 11.000 | 13.000 | 12.000 | 40.000 | 0.2059 | 0.3167 | 0.3922 | 0.2059 | 0.0392 | 0.1078 | 0.1177 | 0.3922 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1570 |
| predicted_3B | 0.0150 |
| predicted_AB | 2.7340 |
| predicted_AVG | 0.2155 |
| predicted_BB | 0.3620 |
| predicted_H | 0.5890 |
| predicted_HBP | 0.0860 |
| predicted_HR | 0.0860 |
| predicted_OBP | 0.3247 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.2460 |
| predicted_SLG | 0.3787 |
| predicted_SO | 1.0330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.1570 | 0.1363 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0211 | model_form_blend |
| predicted_AB | 2.5000 | 2.7340 | 2.5916 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2155 | 0.2438 | model_form_blend |
| predicted_BB | 0.2940 | 0.3620 | 0.3206 | model_form_blend |
| predicted_H | 0.5500 | 0.5890 | 0.5653 | model_form_blend |
| predicted_HBP | - | 0.0860 | 0.0860 | form_only |
| predicted_HR | 0.0800 | 0.0860 | 0.0823 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3247 | 0.3212 | model_form_blend |
| predicted_R | 0.3190 | 0.3700 | 0.3390 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2460 | 0.2667 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3787 | 0.3771 | model_form_blend |
| predicted_SO | 0.9800 | 1.0330 | 1.0007 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 44 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 1 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.206 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260614_ATL@NYM |
| game_type | full |
| mlbID | 669004 |
| playerID | 669004 |
| playerName | MJ Melendez |
| pos | DH |
| started | True |
| startingPosition | LF |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-14 |
| sl_k_percent | 34.5 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.317 |
| sl_xwoba | 0.27 |
| sl_xba | 0.164 |
| sl_xslg | 0.314 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 56.5 |
| sl_exit_velocity_avg | 94.1 |
| sl_launch_angle_avg | 24.0 |
| sl_whiff_percent | 35.2 |
| 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.145 | 0.000 | 0.000 | Hitting_2B | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.355 | 3.000 | 3.000 | Hitting_AB | 3.492 | 2.000 | -0.492 | 1.000 |
| predicted_AVG | 0.244 | 0.333 | 0.333 | Hitting_AVG | 0.247 | 1.000 | 0.086 | -0.667 |
| predicted_BB | 0.290 | 0.000 | 0.000 | Hitting_BB | 0.342 | 2.000 | -0.342 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.760 | 1.000 | 1.000 | Hitting_H | 0.864 | 2.000 | 0.136 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_OBP | 0.298 | 0.333 | 0.333 | Hitting_OBP | 0.317 | 1.000 | 0.017 | -0.667 |
| predicted_R | 0.371 | 0.000 | 0.000 | Hitting_R | 0.487 | 0.000 | -0.487 | 0.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.467 | 1.000 | -0.467 | -1.000 |
| predicted_SLG | 0.336 | 0.333 | 0.333 | Hitting_SLG | 0.373 | 1.000 | -0.039 | -0.667 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.050 | 0.000 | -1.050 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_H: 0.7600 -> 1.0000 (boost 0.2400, 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 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3360 -> 0.3214 (deboost -0.0146, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3214 -> 0.3288 (boost 0.0074, better) | predicted_AVG: 0.2367 -> 0.2304 (deboost -0.0063, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.7802 -> 1.0000 (boost 0.2198, better) | predicted_RBI: 0.3865 -> 0.0000 (deboost -0.3865, worse) | AB rounded to 3 (raw=3.39), rates preserved: AVG=0.230 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3459 -> 0.0000 (deboost -0.3459, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2304 -> 0.3330 (boost 0.1026, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2304 (deboost -0.1026, worse) | 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.145,
"predicted_3B": 0.016,
"predicted_AB": 3.355,
"predicted_AVG": 0.244,
"predicted_BB": 0.29,
"predicted_H": 0.76,
"predicted_HR": 0.07,
"predicted_OBP": 0.298,
"predicted_R": 0.371,
"predicted_RBI": 0.38,
"predicted_SLG": 0.336,
"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.1325,
"predicted_3B": 0.0135,
"predicted_AB": 3.3862,
"predicted_AVG": 0.2367,
"predicted_BB": 0.3,
"predicted_H": 0.7671,
"predicted_HBP": 0.012,
"predicted_HR": 0.0575,
"predicted_OBP": 0.2958,
"predicted_R": 0.3356,
"predicted_RBI": 0.375,
"predicted_SLG": 0.3214,
"predicted_SO": 0.9721
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1325,
"delta": -0.0125,
"percent_delta": -0.0862,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0135,
"delta": -0.0025,
"percent_delta": -0.1563,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.355,
"after": 3.3862,
"delta": 0.0312,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2367,
"delta": -0.0073,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.29,
"after": 0.3,
"delta": 0.01,
"percent_delta": 0.0345,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.76,
"after": 0.7671,
"delta": 0.0071,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0575,
"delta": -0.0125,
"percent_delta": -0.1786,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2958,
"delta": -0.0022,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.371,
"after": 0.3356,
"delta": -0.0354,
"percent_delta": -0.0954,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.375,
"delta": -0.005,
"percent_delta": -0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3214,
"delta": -0.0146,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9721,
"delta": -0.0279,
"percent_delta": -0.0279,
"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.336,
"after": 0.3214,
"delta": -0.0146,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 62
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1325,
"predicted_3B": 0.0135,
"predicted_AB": 3.3862,
"predicted_AVG": 0.2304,
"predicted_BB": 0.3004,
"predicted_H": 0.7802,
"predicted_HBP": 0.012,
"predicted_HR": 0.0579,
"predicted_OBP": 0.2931,
"predicted_R": 0.3459,
"predicted_RBI": 0.3865,
"predicted_SLG": 0.3288,
"predicted_SO": 0.9706
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1325,
"after": 0.1325,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3862,
"after": 3.3862,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2367,
"after": 0.2304,
"delta": -0.0063,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.3004,
"delta": 0.0004,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7671,
"after": 0.7802,
"delta": 0.0131,
"percent_delta": 0.0171,
"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.0575,
"after": 0.0579,
"delta": 0.0004,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2958,
"after": 0.2931,
"delta": -0.0027,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3356,
"after": 0.3459,
"delta": 0.0103,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.375,
"after": 0.3865,
"delta": 0.0115,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3214,
"after": 0.3288,
"delta": 0.0074,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9721,
"after": 0.9706,
"delta": -0.0015,
"percent_delta": -0.0015,
"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.3214,
"after": 0.3288,
"delta": 0.0074,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2367,
"after": 0.2304,
"delta": -0.0063,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.39), rates preserved: AVG=0.230 HR/AB=0.017",
"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.1325,
"after": 0.0,
"delta": -0.1325,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0135,
"after": 0.0,
"delta": -0.0135,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3862,
"after": 3.0,
"delta": -0.3862,
"percent_delta": -0.1141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3004,
"after": 0.0,
"delta": -0.3004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7802,
"after": 1.0,
"delta": 0.2198,
"percent_delta": 0.2817,
"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.0579,
"after": 0.0,
"delta": -0.0579,
"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": 0.9706,
"after": 1.0,
"delta": 0.0294,
"percent_delta": 0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7802,
"after": 1.0,
"delta": 0.2198,
"percent_delta": 0.2817,
"direction": "boost",
"projection_effect": "better",
"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": 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.3459,
"after": 0.0,
"delta": -0.3459,
"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.3459,
"after": 0.0,
"delta": -0.3459,
"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.2304,
"after": 0.333,
"delta": 0.1026,
"percent_delta": 0.4453,
"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.2931,
"after": 0.333,
"delta": 0.0399,
"percent_delta": 0.1361,
"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.3288,
"after": 0.333,
"delta": 0.0042,
"percent_delta": 0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2304,
"after": 0.333,
"delta": 0.1026,
"percent_delta": 0.4453,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 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": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2304,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2931,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3288,
"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.333,
"after": 0.2304,
"delta": -0.1026,
"percent_delta": -0.3081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2931,
"delta": -0.0399,
"percent_delta": -0.1197,
"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.3288,
"delta": -0.0042,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2304,
"delta": -0.1026,
"percent_delta": -0.3081,
"direction": "deboost",
"projection_effect": "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.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.355,
"after": 3.0,
"delta": -0.355,
"percent_delta": -0.1058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2304,
"delta": -0.0136,
"percent_delta": -0.0557,
"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.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"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.2931,
"delta": -0.0049,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.371,
"after": 0.0,
"delta": -0.371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3288,
"delta": -0.0072,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 1,
"deboosted_metrics": 9,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"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.145 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 3.355 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.290 | - |
| predicted_H | 0.760 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.371 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.336 | - |
| 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.133 | -0.012 |
| predicted_3B | 0.013 | -0.003 |
| predicted_AB | 3.386 | 0.031 |
| predicted_AVG | 0.237 | -0.007 |
| predicted_BB | 0.300 | 0.010 |
| predicted_H | 0.767 | 0.007 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.058 | -0.013 |
| predicted_OBP | 0.296 | -0.002 |
| predicted_R | 0.336 | -0.035 |
| predicted_RBI | 0.375 | -0.005 |
| predicted_SLG | 0.321 | -0.015 |
| predicted_SO | 0.972 | -0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.133 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.386 | 0.000 |
| predicted_AVG | 0.230 | -0.006 |
| predicted_BB | 0.300 | 0.000 |
| predicted_H | 0.780 | 0.013 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.058 | 0.000 |
| predicted_OBP | 0.293 | -0.003 |
| predicted_R | 0.346 | 0.010 |
| predicted_RBI | 0.387 | 0.012 |
| predicted_SLG | 0.329 | 0.007 |
| predicted_SO | 0.971 | -0.001 |
AB rounded to 3 (raw=3.39), rates preserved: AVG=0.230 HR/AB=0.017
| 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.133 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 3.000 | -0.386 |
| predicted_AVG | 0.333 | 0.103 |
| predicted_BB | 0.000 | -0.300 |
| predicted_H | 1.000 | 0.220 |
| predicted_HR | 0.000 | -0.058 |
| predicted_OBP | 0.333 | 0.040 |
| predicted_R | 0.000 | -0.346 |
| predicted_RBI | 0.000 | -0.387 |
| predicted_SLG | 0.333 | 0.004 |
| predicted_SO | 1.000 | 0.029 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 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 | 5 | - | 16.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 4.000 | 0.1875 | 0.2778 | 0.1875 | 0.1875 | 0.0000 | 0.0625 | 0.1250 | 0.2500 |
| last_10 | 0.20 | 10 | - | 36.000 | 8.000 | 1.000 | 0.000 | 0.000 | 3.000 | 2.000 | 3.000 | 9.000 | 0.2222 | 0.2821 | 0.2500 | 0.2222 | 0.0000 | 0.0833 | 0.0833 | 0.2500 |
| season | 0.60 | 62 | - | 208.000 | 49.000 | 9.000 | 1.000 | 3.000 | 26.000 | 23.000 | 18.000 | 62.000 | 0.2356 | 0.2969 | 0.3317 | 0.2356 | 0.0144 | 0.1250 | 0.0865 | 0.2981 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.4300 |
| predicted_AVG | 0.2265 |
| predicted_BB | 0.3140 |
| predicted_H | 0.7770 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0400 |
| predicted_OBP | 0.2928 |
| predicted_R | 0.2860 |
| predicted_RBI | 0.3680 |
| predicted_SLG | 0.3008 |
| predicted_SO | 0.9330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.1150 | 0.1325 | model_form_blend |
| predicted_3B | 0.0160 | 0.0100 | 0.0135 | model_form_blend |
| predicted_AB | 3.3550 | 3.4300 | 3.3862 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2265 | 0.2367 | model_form_blend |
| predicted_BB | 0.2900 | 0.3140 | 0.3000 | model_form_blend |
| predicted_H | 0.7600 | 0.7770 | 0.7671 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0700 | 0.0400 | 0.0575 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2928 | 0.2958 | model_form_blend |
| predicted_R | 0.3710 | 0.2860 | 0.3356 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3680 | 0.3750 | model_form_blend |
| predicted_SLG | 0.3360 | 0.3008 | 0.3214 | model_form_blend |
| predicted_SO | 1.0000 | 0.9330 | 0.9721 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 199 |
| Season rows before report date | 199 |
| Report year | 2026 |
| Profile rows used | 62 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.236 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 2 |
| 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 | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260614_ATL@NYM |
| game_type | full |
| mlbID | 683146 |
| playerID | 683146 |
| playerName | Brett Baty |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-14 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.275 |
| sl_xwoba | 0.292 |
| sl_xba | 0.231 |
| sl_xslg | 0.366 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 9.0 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 46.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.128 | 0.000 | 0.000 | Hitting_2B | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.205 | 3.000 | 3.000 | Hitting_AB | 3.381 | 4.000 | -0.381 | -1.000 |
| predicted_AVG | 0.253 | 0.000 | 0.333 | Hitting_AVG | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_BB | 0.282 | 0.000 | 0.000 | Hitting_BB | 0.321 | 0.000 | -0.321 | 0.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.791 | 0.000 | -0.791 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_OBP | 0.301 | 0.000 | 0.333 | Hitting_OBP | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_R | 0.308 | 0.000 | 0.000 | Hitting_R | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_SLG | 0.408 | 0.000 | 0.333 | Hitting_SLG | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_SO | 0.872 | 0.000 | 1.000 | Hitting_SO | 0.851 | 2.000 | -0.851 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 0.8720 -> 0.0000 (deboost -0.8720, 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 | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.2050 -> 3.2575 (boost 0.0525, better) | - | Final model input calibrated with local 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.4121 -> 0.3946 (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 | 1 | 6 | predicted_H: 0.7594 -> 1.0000 (boost 0.2406, better) | predicted_RBI: 0.3957 -> 0.0000 (deboost -0.3957, worse) | AB rounded to 3 (raw=3.26), rates preserved: AVG=0.233 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3429 -> 0.0000 (deboost -0.3429, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2331 -> 0.3330 (boost 0.0999, better) | predicted_SLG: 0.3946 -> 0.3330 (deboost -0.0616, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3946 (boost 0.0616, better) | predicted_AVG: 0.3330 -> 0.2331 (deboost -0.0999, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682626",
"player_name": "Francisco Alvarez",
"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.128,
"predicted_3B": 0.0,
"predicted_AB": 3.205,
"predicted_AVG": 0.253,
"predicted_BB": 0.282,
"predicted_H": 0.7,
"predicted_HR": 0.12,
"predicted_OBP": 0.301,
"predicted_R": 0.308,
"predicted_RBI": 0.37,
"predicted_SLG": 0.408,
"predicted_SO": 0.872
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1415,
"predicted_3B": 0.0008,
"predicted_AB": 3.2575,
"predicted_AVG": 0.2498,
"predicted_BB": 0.2589,
"predicted_H": 0.7466,
"predicted_HBP": 0.032,
"predicted_HR": 0.1268,
"predicted_OBP": 0.2996,
"predicted_R": 0.3327,
"predicted_RBI": 0.3839,
"predicted_SLG": 0.4121,
"predicted_SO": 0.9098
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.1415,
"delta": 0.0135,
"percent_delta": 0.1055,
"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": 3.205,
"after": 3.2575,
"delta": 0.0525,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2498,
"delta": -0.0032,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.2589,
"delta": -0.0231,
"percent_delta": -0.0819,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.7466,
"delta": 0.0466,
"percent_delta": 0.0666,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1268,
"delta": 0.0068,
"percent_delta": 0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.301,
"after": 0.2996,
"delta": -0.0014,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.3327,
"delta": 0.0247,
"percent_delta": 0.0802,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3839,
"delta": 0.0139,
"percent_delta": 0.0376,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4121,
"delta": 0.0041,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.872,
"after": 0.9098,
"delta": 0.0378,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_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.205,
"after": 3.2575,
"delta": 0.0525,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1415,
"predicted_3B": 0.0008,
"predicted_AB": 3.2575,
"predicted_AVG": 0.2331,
"predicted_BB": 0.2593,
"predicted_H": 0.7594,
"predicted_HBP": 0.032,
"predicted_HR": 0.1277,
"predicted_OBP": 0.2897,
"predicted_R": 0.3429,
"predicted_RBI": 0.3957,
"predicted_SLG": 0.3946,
"predicted_SO": 0.9084
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1415,
"after": 0.1415,
"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.2575,
"after": 3.2575,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2498,
"after": 0.2331,
"delta": -0.0167,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2589,
"after": 0.2593,
"delta": 0.0004,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7466,
"after": 0.7594,
"delta": 0.0128,
"percent_delta": 0.0171,
"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.1268,
"after": 0.1277,
"delta": 0.0009,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2996,
"after": 0.2897,
"delta": -0.0099,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3327,
"after": 0.3429,
"delta": 0.0102,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3839,
"after": 0.3957,
"delta": 0.0118,
"percent_delta": 0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4121,
"after": 0.3946,
"delta": -0.0175,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9098,
"after": 0.9084,
"delta": -0.0014,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4121,
"after": 0.3946,
"delta": -0.0175,
"percent_delta": -0.0425,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.26), rates preserved: AVG=0.233 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.1415,
"after": 0.0,
"delta": -0.1415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2575,
"after": 3.0,
"delta": -0.2575,
"percent_delta": -0.079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2593,
"after": 0.0,
"delta": -0.2593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7594,
"after": 1.0,
"delta": 0.2406,
"percent_delta": 0.3168,
"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.1277,
"after": 0.0,
"delta": -0.1277,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3957,
"after": 0.0,
"delta": -0.3957,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9084,
"after": 1.0,
"delta": 0.0916,
"percent_delta": 0.1008,
"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_H",
"before": 0.7594,
"after": 1.0,
"delta": 0.2406,
"percent_delta": 0.3168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3957,
"after": 0.0,
"delta": -0.3957,
"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.3429,
"after": 0.0,
"delta": -0.3429,
"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.3429,
"after": 0.0,
"delta": -0.3429,
"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.2331,
"after": 0.333,
"delta": 0.0999,
"percent_delta": 0.4286,
"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.2897,
"after": 0.333,
"delta": 0.0433,
"percent_delta": 0.1495,
"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.3946,
"after": 0.333,
"delta": -0.0616,
"percent_delta": -0.1561,
"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.2331,
"after": 0.333,
"delta": 0.0999,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3946,
"after": 0.333,
"delta": -0.0616,
"percent_delta": -0.1561,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2331,
"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.2897,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3946,
"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.2331,
"delta": -0.0999,
"percent_delta": -0.3,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2897,
"delta": -0.0433,
"percent_delta": -0.1302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3946,
"delta": 0.0616,
"percent_delta": 0.1851,
"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.3946,
"delta": 0.0616,
"percent_delta": 0.1851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2331,
"delta": -0.0999,
"percent_delta": -0.3,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"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.205,
"after": 3.0,
"delta": -0.205,
"percent_delta": -0.064,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2331,
"delta": -0.0199,
"percent_delta": -0.0787,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.0,
"delta": -0.282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"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.301,
"after": 0.2897,
"delta": -0.0113,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.3946,
"delta": -0.0134,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.872,
"after": 0.0,
"delta": -0.872,
"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_SO",
"before": 0.872,
"after": 0.0,
"delta": -0.872,
"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.128 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.205 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.282 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.301 | - |
| predicted_R | 0.308 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 0.872 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.013 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.257 | 0.052 |
| predicted_AVG | 0.250 | -0.003 |
| predicted_BB | 0.259 | -0.023 |
| predicted_H | 0.747 | 0.047 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.127 | 0.007 |
| predicted_OBP | 0.300 | -0.001 |
| predicted_R | 0.333 | 0.025 |
| predicted_RBI | 0.384 | 0.014 |
| predicted_SLG | 0.412 | 0.004 |
| predicted_SO | 0.910 | 0.038 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.141 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.257 | 0.000 |
| predicted_AVG | 0.233 | -0.017 |
| predicted_BB | 0.259 | 0.000 |
| predicted_H | 0.759 | 0.013 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.128 | 0.001 |
| predicted_OBP | 0.290 | -0.010 |
| predicted_R | 0.343 | 0.010 |
| predicted_RBI | 0.396 | 0.012 |
| predicted_SLG | 0.395 | -0.018 |
| predicted_SO | 0.908 | -0.001 |
AB rounded to 3 (raw=3.26), rates preserved: AVG=0.233 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 | 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 | 3.000 | -0.257 |
| predicted_AVG | 0.333 | 0.100 |
| predicted_BB | 0.000 | -0.259 |
| predicted_H | 1.000 | 0.241 |
| predicted_HR | 0.000 | -0.128 |
| predicted_OBP | 0.333 | 0.043 |
| predicted_R | 0.000 | -0.343 |
| predicted_RBI | 0.000 | -0.396 |
| predicted_SLG | 0.333 | -0.062 |
| predicted_SO | 1.000 | 0.092 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 6.000 | 0.2500 | 0.2500 | 0.5000 | 0.2500 | 0.0625 | 0.1875 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 2.000 | 0.000 | 1.000 | 4.000 | 4.000 | 2.000 | 11.000 | 0.2727 | 0.3143 | 0.4242 | 0.2727 | 0.0303 | 0.1212 | 0.0606 | 0.3333 |
| season | 0.60 | 39 | - | 125.000 | 29.000 | 5.000 | 0.000 | 5.000 | 12.000 | 12.000 | 11.000 | 34.000 | 0.2320 | 0.3022 | 0.3920 | 0.2320 | 0.0400 | 0.0960 | 0.0880 | 0.2720 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3370 |
| predicted_AVG | 0.2449 |
| predicted_BB | 0.2240 |
| predicted_H | 0.8170 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1370 |
| predicted_OBP | 0.2976 |
| predicted_R | 0.3700 |
| predicted_RBI | 0.4050 |
| predicted_SLG | 0.4182 |
| predicted_SO | 0.9670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1280 | 0.1620 | 0.1415 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.2050 | 3.3370 | 3.2575 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2449 | 0.2498 | model_form_blend |
| predicted_BB | 0.2820 | 0.2240 | 0.2589 | model_form_blend |
| predicted_H | 0.7000 | 0.8170 | 0.7466 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.1200 | 0.1370 | 0.1268 | model_form_blend |
| predicted_OBP | 0.3010 | 0.2976 | 0.2996 | model_form_blend |
| predicted_R | 0.3080 | 0.3700 | 0.3327 | model_form_blend |
| predicted_RBI | 0.3700 | 0.4050 | 0.3839 | model_form_blend |
| predicted_SLG | 0.4080 | 0.4182 | 0.4121 | model_form_blend |
| predicted_SO | 0.8720 | 0.9670 | 0.9098 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 134 |
| Season rows before report date | 134 |
| Report year | 2026 |
| Profile rows used | 39 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260613_ATL@NYM |
| game_type | full |
| mlbID | 682626 |
| playerID | 682626 |
| playerName | Francisco Alvarez |
| pos | C |
| started | True |
| startingPosition | C |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-13 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.312 |
| sl_xwoba | 0.325 |
| sl_xba | 0.237 |
| sl_xslg | 0.442 |
| sl_sweet_spot_percent | 30.1 |
| sl_barrel_batted_rate | 16.1 |
| sl_hard_hit_percent | 41.9 |
| sl_exit_velocity_avg | 90.2 |
| sl_launch_angle_avg | 9.8 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 46.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.350 | 0.000 | 1.650 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.750 | 2.000 | 2.250 | 1.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 1.450 | 2.000 | 4.550 | 4.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 1.515 | 1.000 | 3.485 | 4.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.300 | 0.000 | 0.700 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 1 | 0 | 1 | 1 | 0 | - | predicted_ER: 4.0000 -> 3.0000 (deboost -1.0000, better) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668964",
"player_name": "Tobias Myers",
"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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 2.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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 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": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.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": 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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 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": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.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 | 2.000 | 0.000 |
| predicted_ER | 3.000 | -1.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 5.000 | 0.000 |
| predicted_SO | 2.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 5.000 | 7.000 | 2.000 | 4.000 | 1.000 | 7.9412 | 1.5882 | 0.8823 | 1.2353 | 0.3529 | 0.7059 | 0.1765 |
| last_10 | 0.35 | 10 | 11.100 | 10.000 | 14.000 | 3.000 | 10.000 | 4.000 | 7.9412 | 1.5000 | 0.8823 | 1.2353 | 0.2647 | 0.8823 | 0.3529 |
| season | 0.20 | 20 | 33.100 | 15.000 | 29.000 | 7.000 | 26.000 | 6.000 | 4.0500 | 1.0800 | 0.4500 | 0.8700 | 0.2100 | 0.7800 | 0.1800 |
| Metric | Value |
|---|---|
| predicted_BB | 0.9030 |
| predicted_ER | 1.8670 |
| predicted_ERA | 6.0016 |
| predicted_H | 3.0250 |
| predicted_HR | 0.5560 |
| predicted_IP | 2.2000 |
| predicted_SO | 2.3730 |
| predicted_WHIP | 1.4029 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.9030 | 1.4867 | model_form_blend |
| predicted_ER | 4.0000 | 1.8670 | 3.0020 | model_form_blend |
| predicted_ERA | - | 6.0016 | 6.0016 | form_only |
| predicted_H | 6.0000 | 3.0250 | 4.6080 | model_form_blend |
| predicted_HR | 0.0000 | 0.5560 | 0.2602 | model_form_blend |
| predicted_IP | 5.0000 | 2.2000 | 4.0000 | model_form_blend |
| predicted_SO | 2.0000 | 2.3730 | 2.1745 | model_form_blend |
| predicted_WHIP | - | 1.4029 | 1.4029 | 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 | 5.0 |
| H | 6 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 2 |
| HR | 0 |
| BF | 23 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.05 |
| 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.0 |
| Pitching_Pitches | 10 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260529_MIA@NYM |
| game_type | full |
| mlbID | 668964 |
| playerID | 668964 |
| playerName | Tobias Myers |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-05-29 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 5.2 |
| sl_woba | 0.304 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 25.7 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 43.6 |
| sl_whiff_percent | 18.6 |
| sl_swing_percent | 52.6 |
| sl_avg_best_speed | 81.4148912 |
| sl_avg_hyper_speed | 94.668066667 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.207 | 2.000 | -0.207 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.724 | 3.000 | 0.276 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.728 | 0.200 | 0.372 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.069 | 1.000 | -1.069 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 1 | 1 | 2 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 3.000 | 5.000 | 2.000 | 6.000 | 1.000 | 6.2308 | 1.6154 | 0.6923 | 1.1539 | 0.4615 | 1.3846 | 0.2308 |
| last_10 | 0.35 | 10 | 8.100 | 4.000 | 9.000 | 6.000 | 10.000 | 1.000 | 4.3200 | 1.8000 | 0.4800 | 1.0800 | 0.7200 | 1.2000 | 0.1200 |
| season | 0.20 | 29 | 26.000 | 6.000 | 21.000 | 12.000 | 31.000 | 2.000 | 2.0769 | 1.2692 | 0.2308 | 0.8077 | 0.4615 | 1.1923 | 0.0769 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4310 |
| predicted_ER | 0.4810 |
| predicted_ERA | 4.6017 |
| predicted_H | 0.9560 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0450 |
| predicted_WHIP | 1.4740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4310 | 0.1904 | model_form_blend |
| predicted_ER | 0.0000 | 0.4810 | 0.2125 | model_form_blend |
| predicted_ERA | - | 4.6017 | 4.6017 | form_only |
| predicted_H | 2.0000 | 0.9560 | 1.5387 | model_form_blend |
| predicted_HR | 0.0000 | 0.1440 | 0.0636 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0450 | 0.4617 | model_form_blend |
| predicted_WHIP | - | 1.4740 | 1.4740 | 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.1 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| 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 | 2 |
| Pitching_ERA | 2.08 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 22 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260612_ATL@NYM |
| game_type | full |
| mlbID | 548384 |
| playerID | 548384 |
| playerName | Brooks Raley |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-12 |
| sl_k_percent | 27.7 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.289 |
| sl_xwoba | 0.299 |
| sl_sweet_spot_percent | 40.3 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 29.9 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 44.2 |
| sl_avg_best_speed | 76.149558438 |
| sl_avg_hyper_speed | 93.088284063 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.286 | 0.000 | 0.714 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.714 | 0.000 | -0.714 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.996 | 1.000 | 0.104 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.964 | 0.000 | 0.036 | 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": "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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"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 | 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 | 1.000 | 0.000 | 3.000 | 0.000 | 0.0000 | 0.1875 | 0.0000 | 0.1875 | 0.0000 | 0.5625 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 0.000 | 5.000 | 1.000 | 8.000 | 0.000 | 0.0000 | 0.5625 | 0.0000 | 0.4688 | 0.0938 | 0.7500 | 0.0000 |
| season | 0.20 | 28 | 30.000 | 8.000 | 20.000 | 8.000 | 27.000 | 2.000 | 2.4000 | 0.9333 | 0.2667 | 0.6667 | 0.2667 | 0.9000 | 0.0667 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2120 |
| predicted_ER | 0.2560 |
| predicted_ERA | 2.3027 |
| predicted_H | 0.6520 |
| predicted_HR | 0.0740 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8040 |
| predicted_WHIP | 0.8633 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2120 | 0.6399 | model_form_blend |
| predicted_ER | 0.0000 | 0.2560 | 0.1170 | model_form_blend |
| predicted_ERA | - | 2.3027 | 2.3027 | form_only |
| predicted_H | 0.0000 | 0.6520 | 0.2979 | model_form_blend |
| predicted_HR | 0.0000 | 0.0740 | 0.0338 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8040 | 0.9104 | model_form_blend |
| predicted_WHIP | - | 0.8633 | 0.8633 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 28 |
| Season rows before report date | 28 |
| Report year | 2026 |
| Profile rows used | 28 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| 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 | 2.40 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260611_STL@NYM |
| game_type | full |
| mlbID | 596133 |
| playerID | 596133 |
| playerName | Luke Weaver |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-11 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.234 |
| sl_xwoba | 0.285 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 31.3 |
| sl_whiff_percent | 26.8 |
| sl_swing_percent | 51.6 |
| sl_avg_best_speed | 79.537970732 |
| sl_avg_hyper_speed | 93.082388642 |
| 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.538 | 0.000 | 0.462 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.808 | 2.000 | 0.192 | -1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.835 | 1.100 | -0.735 | -1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.423 | 2.000 | -0.423 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_run_redistribution | 2 | 2 | 0 | 0 | 2 | predicted_ER: 0.0000 -> 1.0000 (boost 1.0000, worse) | - | Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent. |
| 3 | current_json_final | 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": 1.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": "pitcher_quality_run_redistribution",
"description": "Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"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": 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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"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.100 | - |
| predicted_SO | 1.000 | - |
Runs moved off a protected strong starter and assigned to bullpen exposure to keep team totals coherent.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 0.100 | 0.000 |
| predicted_SO | 1.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 1.000 | 3.000 | 1.000 | 9.000 | 0.000 | 1.6875 | 0.7500 | 0.1875 | 0.5625 | 0.1875 | 1.6875 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 5.000 | 6.000 | 7.000 | 15.000 | 1.000 | 4.6552 | 1.3448 | 0.5172 | 0.6207 | 0.7241 | 1.5517 | 0.1035 |
| season | 0.20 | 25 | 23.100 | 11.000 | 20.000 | 11.000 | 37.000 | 2.000 | 4.2429 | 1.3286 | 0.4714 | 0.8571 | 0.4714 | 1.5857 | 0.0857 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2580 |
| predicted_ER | 0.2820 |
| predicted_ERA | 3.8771 |
| predicted_H | 0.5320 |
| predicted_HR | 0.0660 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8260 |
| predicted_WHIP | 1.2087 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2580 | 0.6806 | model_form_blend |
| predicted_ER | 0.0000 | 0.2820 | 0.1214 | model_form_blend |
| predicted_ERA | - | 3.8771 | 3.8771 | form_only |
| predicted_H | 0.0000 | 0.5320 | 0.2290 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0284 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8260 | 0.9251 | model_form_blend |
| predicted_WHIP | - | 1.2087 | 1.2087 | 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 | 0.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.01 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 33 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 27 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260612_ATL@NYM |
| game_type | full |
| mlbID | 642207 |
| playerID | 642207 |
| playerName | Devin Williams |
| pos | P |
| started | False |
| startingPosition | P |
| team | NYM |
| teamID | 18 |
| game_date | 2026-06-12 |
| sl_k_percent | 35.9 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.325 |
| sl_xwoba | 0.272 |
| sl_sweet_spot_percent | 34.6 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 25.0 |
| sl_whiff_percent | 39.5 |
| sl_swing_percent | 50.1 |
| sl_avg_best_speed | 79.6207416 |
| sl_avg_hyper_speed | 92.7856574 |
| Field | Value |
|---|---|
| Pitcher | Chase Burns |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.5877 |
| ESPN Rank | 4 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 94.9320 |
| Avg Spin | 2580.9688 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 3 |
| Pre SO | 5 |
| Season ERA | 2.1410 |
| Season WHIP | 0.9912 |
| Role Avg IP | 5.8210 |
| Recent Avg IP | 5.7330 |
| Last Start IP | 5.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 79,
"wins": 35,
"losses": 44,
"win_pct": 0.443,
"runs_scored": 326.0,
"runs_allowed": 400.0,
"run_differential": -74.0,
"run_differential_per_game": -0.9367,
"avg_runs_scored": 4.1266,
"avg_runs_allowed": 5.0633,
"offense_index": 0.9187,
"defense_index": 0.8872,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 5.1,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.2681
},
"opponent": {
"team": "NYM",
"games": 78,
"wins": 33,
"losses": 45,
"win_pct": 0.4231,
"runs_scored": 306.0,
"runs_allowed": 319.0,
"run_differential": -13.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 3.9231,
"avg_runs_allowed": 4.0897,
"offense_index": 0.8734,
"defense_index": 1.0983,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.6,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0508
},
"edges": {
"quality_edge": -0.2173,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.1266,
"defense_strength": -0.1128,
"opponent_defense_weakness": -0.0983,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0019,
"strikeout": 1.0036
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695505",
"profile": {
"available": true,
"pitcher_id": "695505",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 242.0,
"k_percent": 29.6,
"bb_percent": 7.7,
"woba": 0.264,
"xwoba": 0.271,
"sweet_spot_percent": 29.7,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 38.4,
"avg_best_speed": 78.4523,
"avg_hyper_speed": 94.0318,
"whiff_percent": 33.7,
"swing_percent": 48.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.6511,
"command_and_miss": 0.9236,
"regression_edge": -0.2,
"xwoba_edge": 1.2571,
"barrel_edge": -0.5111,
"hard_hit_edge": 0.0286,
"whiff_edge": 1.1714,
"bb_edge": 0.35,
"pitch_design_score": 0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "695505",
"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": 94.93203205925869,
"release_spin_rate": 2580.9688470869296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.93203205925869,
"release_spin_rate": 2580.9688470869296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.932,
"release_spin_rate": 2580.9688,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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.5877,
"sample_weight": 0.968,
"run_prevention_factor": 0.95,
"strikeout_factor": 1.0835,
"walk_factor": 0.9729,
"homer_factor": 1.002,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695505",
"espn_id": 4927516,
"player_name": "Chase Burns",
"team": "CIN",
"role": "pitcher",
"espn_rank": 4,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 4,
"gp_value": 13.0,
"gp_rank": 308,
"gs_value": 13.0,
"gs_rank": 58,
"qs_value": 8.0,
"qs_rank": 13,
"era_value": 2.1409,
"era_rank": 4.0,
"w_value": 7.0,
"w_rank": 11,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 75.2,
"ip_rank": 45,
"h_value": 52.0,
"h_rank": 110,
"er_value": 18.0,
"er_rank": 167,
"hr_value": 9.0,
"hr_rank": 59,
"bb_value": 23.0,
"bb_rank": 72,
"k_value": 88.0,
"k_rank": 14,
"k_per_9_value": 10.46696,
"k_per_9_rank": 8,
"whip_value": 0.9911,
"whip_rank": 6.0,
"war_value": 3.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9516,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 0.9516,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9738,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0019,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0808,
"adjusted": 8
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 59.1,
"ER": 12,
"H": 39,
"BB": 15,
"SO": 70,
"HR": 6,
"ERA": 1.8202247191011238,
"WHIP": 0.9101123595505619,
"K9": 10.617977528089888,
"HR9": 0.9101123595505619,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "695505",
"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": 94.93203205925869,
"release_spin_rate": 2580.9688470869296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_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": 94.93203205925869,
"release_spin_rate": 2580.9688470869296,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.932,
"release_spin_rate": 2580.9688,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"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": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"role": "pitcher",
"player_id": "695505",
"report_date": "20260615_N",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 7.0,
"R": 7.0,
"H": 19.0,
"BB": 7.0,
"SO": 40.0,
"HR": 3.0,
"BF": 113.0,
"Pitches": 474.0
},
"per_game": {
"IP": 5.2,
"ER": 1.4,
"R": 1.4,
"H": 3.8,
"BB": 1.4,
"SO": 8.0,
"HR": 0.6,
"BF": 22.6,
"Pitches": 94.8
},
"rates": {
"ERA": 2.1977,
"WHIP": 0.907,
"ER_per_IP": 0.24419,
"H_per_IP": 0.66279,
"BB_per_IP": 0.24419,
"SO_per_IP": 1.39535,
"HR_per_IP": 0.10465
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 12.0,
"R": 12.0,
"H": 39.0,
"BB": 15.0,
"SO": 70.0,
"HR": 6.0,
"BF": 227.0,
"Pitches": 936.0
},
"per_game": {
"IP": 6.0,
"ER": 1.2,
"R": 1.2,
"H": 3.9,
"BB": 1.5,
"SO": 7.0,
"HR": 0.6,
"BF": 22.7,
"Pitches": 93.6
},
"rates": {
"ERA": 1.8202,
"WHIP": 0.9101,
"ER_per_IP": 0.20225,
"H_per_IP": 0.6573,
"BB_per_IP": 0.25281,
"SO_per_IP": 1.17978,
"HR_per_IP": 0.10112
}
},
"season": {
"games": 13,
"totals": {
"IP": 75.2,
"ER": 18.0,
"R": 18.0,
"H": 52.0,
"BB": 23.0,
"SO": 88.0,
"HR": 9.0,
"BF": 297.0,
"Pitches": 1193.0
},
"per_game": {
"IP": 5.2,
"ER": 1.3846,
"R": 1.3846,
"H": 4.0,
"BB": 1.7692,
"SO": 6.7692,
"HR": 0.6923,
"BF": 22.8462,
"Pitches": 91.7692
},
"rates": {
"ERA": 2.141,
"WHIP": 0.9912,
"ER_per_IP": 0.23789,
"H_per_IP": 0.68722,
"BB_per_IP": 0.30396,
"SO_per_IP": 1.163,
"HR_per_IP": 0.11894
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.769,
"predicted_H": 4.388,
"predicted_BB": 1.68,
"predicted_SO": 6.89,
"predicted_HR": 0.684,
"predicted_ERA": 2.7249,
"predicted_WHIP": 1.0383
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4674,
"form_weight": 0.5326,
"form_reliability": 0.7222,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.769,
"final": 0.9422,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 4.388,
"final": 2.8045,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.68,
"final": 2.2969,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 6.89,
"final": 5.5393,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.684,
"final": 0.3643,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7249,
"final": 2.7249,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0383,
"final": 1.0383,
"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.1572 |
| ESPN Rank | 261 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3 |
| Season WHIP | 1.4242 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 79,
"wins": 35,
"losses": 44,
"win_pct": 0.443,
"runs_scored": 326.0,
"runs_allowed": 400.0,
"run_differential": -74.0,
"run_differential_per_game": -0.9367,
"avg_runs_scored": 4.1266,
"avg_runs_allowed": 5.0633,
"offense_index": 0.9187,
"defense_index": 0.8872,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 5.1,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.2681
},
"opponent": {
"team": "NYM",
"games": 78,
"wins": 33,
"losses": 45,
"win_pct": 0.4231,
"runs_scored": 306.0,
"runs_allowed": 319.0,
"run_differential": -13.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 3.9231,
"avg_runs_allowed": 4.0897,
"offense_index": 0.8734,
"defense_index": 1.0983,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.6,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0508
},
"edges": {
"quality_edge": -0.2173,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.1266,
"defense_strength": -0.1128,
"opponent_defense_weakness": -0.0983,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0019,
"strikeout": 1.0036
},
"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": 20.7,
"bb_percent": 15.2,
"woba": 0.307,
"xwoba": 0.338,
"sweet_spot_percent": 38.0,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 31.5,
"avg_best_speed": 77.6288,
"avg_hyper_speed": 93.2346,
"whiff_percent": 28.8,
"swing_percent": 43.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.341,
"command_and_miss": -0.2686,
"regression_edge": -0.8857,
"xwoba_edge": -0.6571,
"barrel_edge": -0.9556,
"hard_hit_edge": 1.0143,
"whiff_edge": 0.4714,
"bb_edge": -1.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656271",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1572,
"sample_weight": 0.45,
"run_prevention_factor": 1.0134,
"strikeout_factor": 1.0033,
"walk_factor": 1.0549,
"homer_factor": 1.025,
"woba_minus_xwoba": -0.031,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656271",
"espn_id": 39945,
"player_name": "Brock Burke",
"team": "CIN",
"role": "pitcher",
"espn_rank": 261,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 261,
"gp_value": 34.0,
"gp_rank": 7,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.0,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 7.0,
"hld_rank": 51,
"ip_value": 33.0,
"ip_rank": 193,
"h_value": 25.0,
"h_rank": 259,
"er_value": 11.0,
"er_rank": 281,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 22.0,
"bb_rank": 83,
"k_value": 30.0,
"k_rank": 238,
"k_per_9_value": 8.181818,
"k_per_9_rank": 33,
"whip_value": 1.4242,
"whip_rank": null,
"war_value": 0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.006,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.006,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0247,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0112,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0015,
"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": 5,
"BB": 8,
"SO": 5,
"HR": 1,
"ERA": 1.741935483870968,
"WHIP": 1.2580645161290325,
"K9": 4.35483870967742,
"HR9": 0.870967741935484,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "656271",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.535,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"role": "pitcher",
"player_id": "656271",
"report_date": "20260615_N",
"season_year": 2026,
"rows_used": 34,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 3.0,
"H": 3.0,
"BB": 6.0,
"SO": 3.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.6,
"H": 0.6,
"BB": 1.2,
"SO": 0.6,
"HR": 0.0,
"BF": 5.0,
"Pitches": 19.2
},
"rates": {
"ERA": 0.0,
"WHIP": 1.5882,
"ER_per_IP": 0.0,
"H_per_IP": 0.52941,
"BB_per_IP": 1.05882,
"SO_per_IP": 0.52941,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 2.0,
"R": 5.0,
"H": 5.0,
"BB": 8.0,
"SO": 5.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 167.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.5,
"H": 0.5,
"BB": 0.8,
"SO": 0.5,
"HR": 0.1,
"BF": 4.3,
"Pitches": 16.7
},
"rates": {
"ERA": 1.7419,
"WHIP": 1.2581,
"ER_per_IP": 0.19355,
"H_per_IP": 0.48387,
"BB_per_IP": 0.77419,
"SO_per_IP": 0.48387,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 34,
"totals": {
"IP": 33.0,
"ER": 11.0,
"R": 18.0,
"H": 25.0,
"BB": 22.0,
"SO": 30.0,
"HR": 3.0,
"BF": 145.0,
"Pitches": 539.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3235,
"R": 0.5294,
"H": 0.7353,
"BB": 0.6471,
"SO": 0.8824,
"HR": 0.0882,
"BF": 4.2647,
"Pitches": 15.8529
},
"rates": {
"ERA": 3.0,
"WHIP": 1.4242,
"ER_per_IP": 0.33333,
"H_per_IP": 0.75758,
"BB_per_IP": 0.66667,
"SO_per_IP": 0.90909,
"HR_per_IP": 0.09091
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.291,
"predicted_H": 0.738,
"predicted_BB": 0.655,
"predicted_SO": 0.739,
"predicted_HR": 0.092,
"predicted_ERA": 2.6223,
"predicted_WHIP": 1.3936
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5332,
"form_weight": 0.4668,
"form_reliability": 0.5665,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.535,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.291,
"final": 0.1359,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.738,
"final": 0.3445,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.655,
"final": 0.3058,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.739,
"final": 0.345,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.092,
"final": 0.0429,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6223,
"final": 2.6223,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3936,
"final": 1.3936,
"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.1143 |
| ESPN Rank | 215 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.7931 |
| Season WHIP | 1.0345 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 79,
"wins": 35,
"losses": 44,
"win_pct": 0.443,
"runs_scored": 326.0,
"runs_allowed": 400.0,
"run_differential": -74.0,
"run_differential_per_game": -0.9367,
"avg_runs_scored": 4.1266,
"avg_runs_allowed": 5.0633,
"offense_index": 0.9187,
"defense_index": 0.8872,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 5.1,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.2681
},
"opponent": {
"team": "NYM",
"games": 78,
"wins": 33,
"losses": 45,
"win_pct": 0.4231,
"runs_scored": 306.0,
"runs_allowed": 319.0,
"run_differential": -13.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 3.9231,
"avg_runs_allowed": 4.0897,
"offense_index": 0.8734,
"defense_index": 1.0983,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.6,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0508
},
"edges": {
"quality_edge": -0.2173,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.1266,
"defense_strength": -0.1128,
"opponent_defense_weakness": -0.0983,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0019,
"strikeout": 1.0036
},
"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.6,
"bb_percent": 11.6,
"woba": 0.29,
"xwoba": 0.306,
"sweet_spot_percent": 23.9,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 29.6,
"avg_best_speed": 76.3622,
"avg_hyper_speed": 93.4276,
"whiff_percent": 25.4,
"swing_percent": 40.4
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.5091,
"command_and_miss": 0.0564,
"regression_edge": -0.4571,
"xwoba_edge": 0.2571,
"barrel_edge": 0.2222,
"hard_hit_edge": 1.2857,
"whiff_edge": -0.0143,
"bb_edge": -0.625,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "594580",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1143,
"sample_weight": 0.45,
"run_prevention_factor": 0.9903,
"strikeout_factor": 1.0072,
"walk_factor": 1.0225,
"homer_factor": 0.9654,
"woba_minus_xwoba": -0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594580",
"espn_id": 34928,
"player_name": "Sam Moll",
"team": "CIN",
"role": "pitcher",
"espn_rank": 215,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 215,
"gp_value": 33.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.7931,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 29.0,
"ip_rank": 260,
"h_value": 20.0,
"h_rank": 318,
"er_value": 9.0,
"er_rank": 343,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 14.0,
"bb_rank": 199,
"k_value": 31.0,
"k_rank": 225,
"k_per_9_value": 9.620689,
"k_per_9_rank": 23,
"whip_value": 1.1724,
"whip_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9956,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9956,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0101,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9844,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0032,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 2,
"H": 4,
"BB": 2,
"SO": 11,
"HR": 1,
"ERA": 2.25,
"WHIP": 0.75,
"K9": 12.375,
"HR9": 1.125,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "594580",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.743,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5346,
"prior_weight": 0.4654
},
"role": "pitcher",
"player_id": "594580",
"report_date": "20260615_N",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 2.0,
"SO": 5.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 82.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.4,
"SO": 1.0,
"HR": 0.2,
"BF": 3.6,
"Pitches": 16.4
},
"rates": {
"ERA": 4.5,
"WHIP": 1.25,
"ER_per_IP": 0.5,
"H_per_IP": 0.75,
"BB_per_IP": 0.5,
"SO_per_IP": 1.25,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 2.0,
"SO": 12.0,
"HR": 1.0,
"BF": 34.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5,
"BB": 0.2,
"SO": 1.2,
"HR": 0.1,
"BF": 3.4,
"Pitches": 14.5
},
"rates": {
"ERA": 2.0,
"WHIP": 0.7778,
"ER_per_IP": 0.22222,
"H_per_IP": 0.55556,
"BB_per_IP": 0.22222,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.11111
}
},
"season": {
"games": 31,
"totals": {
"IP": 29.0,
"ER": 9.0,
"R": 11.0,
"H": 17.0,
"BB": 13.0,
"SO": 31.0,
"HR": 3.0,
"BF": 119.0,
"Pitches": 491.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2903,
"R": 0.3548,
"H": 0.5484,
"BB": 0.4194,
"SO": 1.0,
"HR": 0.0968,
"BF": 3.8387,
"Pitches": 15.8387
},
"rates": {
"ERA": 2.7931,
"WHIP": 1.0345,
"ER_per_IP": 0.31034,
"H_per_IP": 0.58621,
"BB_per_IP": 0.44828,
"SO_per_IP": 1.06897,
"HR_per_IP": 0.10345
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.392,
"predicted_H": 0.735,
"predicted_BB": 0.348,
"predicted_SO": 1.011,
"predicted_HR": 0.147,
"predicted_ERA": 3.835,
"predicted_WHIP": 1.1773
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5466,
"form_weight": 0.4534,
"form_reliability": 0.5346,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.743,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5346,
"prior_weight": 0.4654
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.392,
"final": 0.1777,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.735,
"final": 0.8799,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.348,
"final": 0.1578,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.011,
"final": 0.4584,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.147,
"final": 0.0666,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.835,
"final": 3.835,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1773,
"final": 1.1773,
"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.3979 |
| ESPN Rank | 590 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.3333 |
| Season WHIP | 1.3704 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 79,
"wins": 35,
"losses": 44,
"win_pct": 0.443,
"runs_scored": 326.0,
"runs_allowed": 400.0,
"run_differential": -74.0,
"run_differential_per_game": -0.9367,
"avg_runs_scored": 4.1266,
"avg_runs_allowed": 5.0633,
"offense_index": 0.9187,
"defense_index": 0.8872,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 5.1,
"run_differential": -20.0
},
"available": true,
"quality_score": -0.2681
},
"opponent": {
"team": "NYM",
"games": 78,
"wins": 33,
"losses": 45,
"win_pct": 0.4231,
"runs_scored": 306.0,
"runs_allowed": 319.0,
"run_differential": -13.0,
"run_differential_per_game": -0.1667,
"avg_runs_scored": 3.9231,
"avg_runs_allowed": 4.0897,
"offense_index": 0.8734,
"defense_index": 1.0983,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.4,
"avg_runs_allowed": 3.6,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.0508
},
"edges": {
"quality_edge": -0.2173,
"offense_edge": -0.0813,
"opponent_offense_edge": -0.1266,
"defense_strength": -0.1128,
"opponent_defense_weakness": -0.0983,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0019,
"strikeout": 1.0036
},
"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": 20.8,
"bb_percent": 10.8,
"woba": 0.382,
"xwoba": 0.366,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 48.8,
"avg_best_speed": 82.9218,
"avg_hyper_speed": 94.9887,
"whiff_percent": 20.4,
"swing_percent": 44.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -1.4461,
"command_and_miss": -0.4621,
"regression_edge": 0.4571,
"xwoba_edge": -1.4571,
"barrel_edge": -1.1111,
"hard_hit_edge": -1.4571,
"whiff_edge": -0.7286,
"bb_edge": -0.425,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663574",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.3979,
"sample_weight": 0.45,
"run_prevention_factor": 1.0338,
"strikeout_factor": 0.982,
"walk_factor": 1.0153,
"homer_factor": 1.0859,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663574",
"espn_id": 40950,
"player_name": "Tony Santillan",
"team": "CIN",
"role": "pitcher",
"espn_rank": 590,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 590,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.6666,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 3.0,
"sv_rank": 43,
"hld_value": 11.0,
"hld_rank": 10,
"ip_value": 27.0,
"ip_rank": 285,
"h_value": 28.0,
"h_rank": 222,
"er_value": 17.0,
"er_rank": 178,
"hr_value": 9.0,
"hr_rank": 59,
"bb_value": 13.0,
"bb_rank": 213,
"k_value": 25.0,
"k_rank": 292,
"k_per_9_value": 8.333333,
"k_per_9_rank": 27,
"whip_value": 1.5185,
"whip_rank": null,
"war_value": -0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0152,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0152,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0069,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0387,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9919,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.0,
"ER": 6,
"H": 10,
"BB": 4,
"SO": 5,
"HR": 2,
"ERA": 6.75,
"WHIP": 1.75,
"K9": 5.625,
"HR9": 2.25,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "663574",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.346,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5167,
"prior_weight": 0.4833
},
"role": "pitcher",
"player_id": "663574",
"report_date": "20260615_N",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 0.0,
"SO": 3.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 59.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.75,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.0,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 6.0,
"R": 6.0,
"H": 10.0,
"BB": 4.0,
"SO": 5.0,
"HR": 2.0,
"BF": 39.0,
"Pitches": 146.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.4,
"SO": 0.5,
"HR": 0.2,
"BF": 3.9,
"Pitches": 14.6
},
"rates": {
"ERA": 6.75,
"WHIP": 1.75,
"ER_per_IP": 0.75,
"H_per_IP": 1.25,
"BB_per_IP": 0.5,
"SO_per_IP": 0.625,
"HR_per_IP": 0.25
}
},
"season": {
"games": 30,
"totals": {
"IP": 27.0,
"ER": 13.0,
"R": 14.0,
"H": 24.0,
"BB": 13.0,
"SO": 25.0,
"HR": 7.0,
"BF": 116.0,
"Pitches": 436.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4333,
"R": 0.4667,
"H": 0.8,
"BB": 0.4333,
"SO": 0.8333,
"HR": 0.2333,
"BF": 3.8667,
"Pitches": 14.5333
},
"rates": {
"ERA": 4.3333,
"WHIP": 1.3704,
"ER_per_IP": 0.48148,
"H_per_IP": 0.88889,
"BB_per_IP": 0.48148,
"SO_per_IP": 0.92593,
"HR_per_IP": 0.25926
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.367,
"predicted_H": 0.83,
"predicted_BB": 0.271,
"predicted_SO": 0.719,
"predicted_HR": 0.123,
"predicted_ERA": 3.8281,
"predicted_WHIP": 1.2768
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5542,
"form_weight": 0.4458,
"form_reliability": 0.5167,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.346,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5167,
"prior_weight": 0.4833
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.367,
"final": 0.1636,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.83,
"final": 0.37,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.271,
"final": 0.1208,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.719,
"final": 0.8747,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.123,
"final": 0.0548,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8281,
"final": 3.8281,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2768,
"final": 1.2768,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.188 | 0.000 | 0.000 | Hitting_2B | 0.150 | 0.000 | -0.150 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.090 | 2.000 | 4.000 | Hitting_AB | 3.739 | 4.000 | -1.739 | -2.000 |
| predicted_AVG | 0.230 | 0.500 | 0.250 | Hitting_AVG | 0.245 | 0.250 | 0.255 | 0.250 |
| predicted_BB | 0.565 | 2.000 | 1.000 | Hitting_BB | 0.644 | 0.000 | 1.356 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 0.917 | 1.000 | 0.083 | 0.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.198 | 0.000 | -0.198 | 0.000 |
| predicted_OBP | 0.323 | 0.750 | 0.400 | Hitting_OBP | 0.355 | 0.250 | 0.395 | 0.500 |
| predicted_R | 0.522 | 0.000 | 0.000 | Hitting_R | 0.577 | 0.000 | -0.577 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.652 | 0.000 | -0.652 | 0.000 |
| predicted_SLG | 0.408 | 0.500 | 0.250 | Hitting_SLG | 0.444 | 0.250 | 0.056 | 0.250 |
| predicted_SO | 0.870 | 1.000 | 1.000 | Hitting_SO | 0.862 | 1.000 | 0.138 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.5650 -> 2.0000 (boost 1.4350, better) |
| Biggest Deboost | predicted_AB: 4.0900 -> 2.0000 (deboost -2.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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AB: 4.0900 -> 3.9591 (deboost -0.1309, 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.4039 -> 0.3917 (deboost -0.0122, 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.5180 -> 1.0000 (boost 0.4820, better) | predicted_2B: 0.1744 -> 0.0000 (deboost -0.1744, worse) | AB rounded to 4 (raw=4.09), rates preserved: AVG=0.211 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4423 -> 0.0000 (deboost -0.4423, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3167 -> 0.4000 (boost 0.0833, better) | predicted_SLG: 0.3917 -> 0.2500 (deboost -0.1417, 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_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.3917 (boost 0.1417, better) | predicted_OBP: 0.4000 -> 0.3167 (deboost -0.0833, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701398",
"player_name": "Sal Stewart",
"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.188,
"predicted_3B": 0.0,
"predicted_AB": 4.09,
"predicted_AVG": 0.23,
"predicted_BB": 0.565,
"predicted_H": 0.94,
"predicted_HR": 0.18,
"predicted_OBP": 0.323,
"predicted_R": 0.522,
"predicted_RBI": 0.56,
"predicted_SLG": 0.408,
"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.1744,
"predicted_3B": 0.0004,
"predicted_AB": 3.9591,
"predicted_AVG": 0.2266,
"predicted_BB": 0.5756,
"predicted_H": 0.8972,
"predicted_HBP": 0.011,
"predicted_HR": 0.1758,
"predicted_OBP": 0.325,
"predicted_R": 0.4716,
"predicted_RBI": 0.5524,
"predicted_SLG": 0.4039,
"predicted_SO": 0.9047
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.1744,
"delta": -0.0136,
"percent_delta": -0.0723,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.09,
"after": 3.9591,
"delta": -0.1309,
"percent_delta": -0.032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2266,
"delta": -0.0034,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.565,
"after": 0.5756,
"delta": 0.0106,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.8972,
"delta": -0.0428,
"percent_delta": -0.0455,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1758,
"delta": -0.0042,
"percent_delta": -0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.325,
"delta": 0.002,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.522,
"after": 0.4716,
"delta": -0.0504,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5524,
"delta": -0.0076,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4039,
"delta": -0.0041,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.87,
"after": 0.9047,
"delta": 0.0347,
"percent_delta": 0.0399,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.09,
"after": 3.9591,
"delta": -0.1309,
"percent_delta": -0.032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1744,
"predicted_3B": 0.0004,
"predicted_AB": 3.9591,
"predicted_AVG": 0.2183,
"predicted_BB": 0.57,
"predicted_H": 0.8643,
"predicted_HBP": 0.011,
"predicted_HR": 0.1704,
"predicted_OBP": 0.3167,
"predicted_R": 0.4423,
"predicted_RBI": 0.518,
"predicted_SLG": 0.3917,
"predicted_SO": 0.9136
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1744,
"after": 0.1744,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9591,
"after": 3.9591,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2266,
"after": 0.2183,
"delta": -0.0083,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5756,
"after": 0.57,
"delta": -0.0056,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8972,
"after": 0.8643,
"delta": -0.0329,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1758,
"after": 0.1704,
"delta": -0.0054,
"percent_delta": -0.0307,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.3167,
"delta": -0.0083,
"percent_delta": -0.0255,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4716,
"after": 0.4423,
"delta": -0.0293,
"percent_delta": -0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5524,
"after": 0.518,
"delta": -0.0344,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4039,
"after": 0.3917,
"delta": -0.0122,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9047,
"after": 0.9136,
"delta": 0.0089,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4039,
"after": 0.3917,
"delta": -0.0122,
"percent_delta": -0.0302,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.09), rates preserved: AVG=0.211 HR/AB=0.042",
"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.1744,
"after": 0.0,
"delta": -0.1744,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9591,
"after": 4.0,
"delta": 0.0409,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8643,
"after": 1.0,
"delta": 0.1357,
"percent_delta": 0.157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1704,
"after": 0.0,
"delta": -0.1704,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.518,
"after": 1.0,
"delta": 0.482,
"percent_delta": 0.9305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9136,
"after": 1.0,
"delta": 0.0864,
"percent_delta": 0.0946,
"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.518,
"after": 1.0,
"delta": 0.482,
"percent_delta": 0.9305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1744,
"after": 0.0,
"delta": -0.1744,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.4423,
"after": 0.0,
"delta": -0.4423,
"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.4423,
"after": 0.0,
"delta": -0.4423,
"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.2183,
"after": 0.25,
"delta": 0.0317,
"percent_delta": 0.1452,
"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.3167,
"after": 0.4,
"delta": 0.0833,
"percent_delta": 0.263,
"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.3917,
"after": 0.25,
"delta": -0.1417,
"percent_delta": -0.3618,
"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.3167,
"after": 0.4,
"delta": 0.0833,
"percent_delta": 0.263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3917,
"after": 0.25,
"delta": -0.1417,
"percent_delta": -0.3618,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2183,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3167,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3917,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2183,
"delta": -0.0317,
"percent_delta": -0.1268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3167,
"delta": -0.0833,
"percent_delta": -0.2083,
"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.3917,
"delta": 0.1417,
"percent_delta": 0.5668,
"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.3917,
"delta": 0.1417,
"percent_delta": 0.5668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3167,
"delta": -0.0833,
"percent_delta": -0.2083,
"direction": "deboost",
"projection_effect": "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.09,
"after": 2.0,
"delta": -2.09,
"percent_delta": -0.511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2183,
"delta": -0.0117,
"percent_delta": -0.0509,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.565,
"after": 2.0,
"delta": 1.435,
"percent_delta": 2.5398,
"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.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3167,
"delta": -0.0063,
"percent_delta": -0.0195,
"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.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.3917,
"delta": -0.0163,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.565,
"after": 2.0,
"delta": 1.435,
"percent_delta": 2.5398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.09,
"after": 2.0,
"delta": -2.09,
"percent_delta": -0.511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"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.090 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.565 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.522 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.408 | - |
| 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.174 | -0.014 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.959 | -0.131 |
| predicted_AVG | 0.227 | -0.003 |
| predicted_BB | 0.576 | 0.011 |
| predicted_H | 0.897 | -0.043 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.176 | -0.004 |
| predicted_OBP | 0.325 | 0.002 |
| predicted_R | 0.472 | -0.050 |
| predicted_RBI | 0.552 | -0.008 |
| predicted_SLG | 0.404 | -0.004 |
| predicted_SO | 0.905 | 0.035 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.959 | 0.000 |
| predicted_AVG | 0.218 | -0.008 |
| predicted_BB | 0.570 | -0.006 |
| predicted_H | 0.864 | -0.033 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.170 | -0.005 |
| predicted_OBP | 0.317 | -0.008 |
| predicted_R | 0.442 | -0.029 |
| predicted_RBI | 0.518 | -0.034 |
| predicted_SLG | 0.392 | -0.012 |
| predicted_SO | 0.914 | 0.009 |
AB rounded to 4 (raw=4.09), rates preserved: AVG=0.211 HR/AB=0.042
| 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.174 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.041 |
| predicted_AVG | 0.250 | 0.032 |
| predicted_BB | 1.000 | 0.430 |
| predicted_H | 1.000 | 0.136 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.400 | 0.083 |
| predicted_R | 0.000 | -0.442 |
| predicted_RBI | 1.000 | 0.482 |
| predicted_SLG | 0.250 | -0.142 |
| predicted_SO | 1.000 | 0.086 |
Attached 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 | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 5.000 | 0.1579 | 0.3043 | 0.3158 | 0.1579 | 0.0526 | 0.1053 | 0.2105 | 0.2632 |
| last_10 | 0.20 | 10 | - | 38.000 | 7.000 | 2.000 | 0.000 | 1.000 | 5.000 | 2.000 | 6.000 | 12.000 | 0.1842 | 0.2955 | 0.3158 | 0.1842 | 0.0263 | 0.1316 | 0.1579 | 0.3158 |
| season | 0.60 | 69 | - | 259.000 | 65.000 | 13.000 | 0.000 | 13.000 | 42.000 | 36.000 | 39.000 | 60.000 | 0.2510 | 0.3488 | 0.4517 | 0.2510 | 0.0502 | 0.1622 | 0.1506 | 0.2317 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1560 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7810 |
| predicted_AVG | 0.2219 |
| predicted_BB | 0.5900 |
| predicted_H | 0.8390 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.1700 |
| predicted_OBP | 0.3278 |
| predicted_R | 0.4030 |
| predicted_RBI | 0.5420 |
| predicted_SLG | 0.3984 |
| predicted_SO | 0.9520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.1560 | 0.1744 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0900 | 3.7810 | 3.9591 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2219 | 0.2266 | model_form_blend |
| predicted_BB | 0.5650 | 0.5900 | 0.5756 | model_form_blend |
| predicted_H | 0.9400 | 0.8390 | 0.8972 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1800 | 0.1700 | 0.1758 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3278 | 0.3250 | model_form_blend |
| predicted_R | 0.5220 | 0.4030 | 0.4716 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5420 | 0.5524 | model_form_blend |
| predicted_SLG | 0.4080 | 0.3984 | 0.4039 | model_form_blend |
| predicted_SO | 0.8700 | 0.9520 | 0.9047 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| 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.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 701398 |
| playerID | 701398 |
| playerName | Sal Stewart |
| pos | 1B |
| started | True |
| startingPosition | 3B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.347 |
| sl_xwoba | 0.362 |
| sl_xba | 0.256 |
| sl_xslg | 0.478 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 15.1 |
| sl_hard_hit_percent | 41.2 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 14.5 |
| sl_whiff_percent | 27.3 |
| 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.182 | 1.000 | 0.000 | Hitting_2B | 0.198 | 0.000 | 0.802 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.690 | 4.000 | 4.000 | Hitting_AB | 3.653 | 0.000 | 0.347 | 4.000 |
| predicted_AVG | 0.226 | 0.250 | 0.250 | Hitting_AVG | 0.260 | - | -0.010 | - |
| predicted_BB | 0.394 | 0.000 | 0.000 | Hitting_BB | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 1.000 | 1.000 | Hitting_H | 0.950 | 0.000 | 0.050 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.149 | 0.000 | -0.149 | 0.000 |
| predicted_OBP | 0.293 | 0.250 | 0.250 | Hitting_OBP | 0.337 | - | -0.087 | - |
| predicted_R | 0.621 | 1.000 | 1.000 | Hitting_R | 0.649 | 0.000 | 0.351 | 1.000 |
| predicted_RBI | 0.460 | 1.000 | 0.000 | Hitting_RBI | 0.414 | 0.000 | 0.586 | 1.000 |
| predicted_SLG | 0.406 | 0.500 | 0.250 | Hitting_SLG | 0.436 | - | 0.064 | - |
| predicted_SO | 0.848 | 1.000 | 1.000 | Hitting_SO | 0.856 | 0.000 | 0.144 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_2B: 0.1820 -> 1.0000 (boost 0.8180, better) |
| Biggest Deboost | predicted_BB: 0.3940 -> 0.0000 (deboost -0.3940, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 3.6900 -> 3.6102 (deboost -0.0798, 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.4009 -> 0.3924 (deboost -0.0085, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.6102 -> 4.0000 (boost 0.3898, better) | predicted_RBI: 0.4184 -> 0.0000 (deboost -0.4184, worse) | AB rounded to 4 (raw=3.69), rates preserved: AVG=0.200 HR/AB=0.047 |
| 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.5827 -> 1.0000 (boost 0.4173, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2047 -> 0.2500 (boost 0.0453, better) | predicted_SLG: 0.3924 -> 0.2500 (deboost -0.1424, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3924 (boost 0.1424, better) | predicted_AVG: 0.2500 -> 0.2047 (deboost -0.0453, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668715",
"player_name": "Spencer Steer",
"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.182,
"predicted_3B": 0.0,
"predicted_AB": 3.69,
"predicted_AVG": 0.226,
"predicted_BB": 0.394,
"predicted_H": 0.83,
"predicted_HR": 0.17,
"predicted_OBP": 0.293,
"predicted_R": 0.621,
"predicted_RBI": 0.46,
"predicted_SLG": 0.406,
"predicted_SO": 0.848
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1618,
"predicted_3B": 0.0004,
"predicted_AB": 3.6102,
"predicted_AVG": 0.2127,
"predicted_BB": 0.4074,
"predicted_H": 0.767,
"predicted_HBP": 0.028,
"predicted_HR": 0.1771,
"predicted_OBP": 0.2896,
"predicted_R": 0.6214,
"predicted_RBI": 0.4461,
"predicted_SLG": 0.4009,
"predicted_SO": 0.8804
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1618,
"delta": -0.0202,
"percent_delta": -0.111,
"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.69,
"after": 3.6102,
"delta": -0.0798,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2127,
"delta": -0.0133,
"percent_delta": -0.0588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.4074,
"delta": 0.0134,
"percent_delta": 0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.767,
"delta": -0.063,
"percent_delta": -0.0759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1771,
"delta": 0.0071,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2896,
"delta": -0.0034,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.621,
"after": 0.6214,
"delta": 0.0004,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4461,
"delta": -0.0139,
"percent_delta": -0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4009,
"delta": -0.0051,
"percent_delta": -0.0126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.848,
"after": 0.8804,
"delta": 0.0324,
"percent_delta": 0.0382,
"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": 3.69,
"after": 3.6102,
"delta": -0.0798,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1618,
"predicted_3B": 0.0004,
"predicted_AB": 3.6102,
"predicted_AVG": 0.2047,
"predicted_BB": 0.4034,
"predicted_H": 0.7389,
"predicted_HBP": 0.028,
"predicted_HR": 0.1717,
"predicted_OBP": 0.2846,
"predicted_R": 0.5827,
"predicted_RBI": 0.4184,
"predicted_SLG": 0.3924,
"predicted_SO": 0.889
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1618,
"after": 0.1618,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6102,
"after": 3.6102,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2127,
"after": 0.2047,
"delta": -0.008,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4074,
"after": 0.4034,
"delta": -0.004,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.767,
"after": 0.7389,
"delta": -0.0281,
"percent_delta": -0.0366,
"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.1771,
"after": 0.1717,
"delta": -0.0054,
"percent_delta": -0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2896,
"after": 0.2846,
"delta": -0.005,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6214,
"after": 0.5827,
"delta": -0.0387,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4461,
"after": 0.4184,
"delta": -0.0277,
"percent_delta": -0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4009,
"after": 0.3924,
"delta": -0.0085,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8804,
"after": 0.889,
"delta": 0.0086,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4009,
"after": 0.3924,
"delta": -0.0085,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.200 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1618,
"after": 0.0,
"delta": -0.1618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6102,
"after": 4.0,
"delta": 0.3898,
"percent_delta": 0.108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4034,
"after": 0.0,
"delta": -0.4034,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7389,
"after": 1.0,
"delta": 0.2611,
"percent_delta": 0.3534,
"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.1717,
"after": 0.0,
"delta": -0.1717,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4184,
"after": 0.0,
"delta": -0.4184,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.889,
"after": 1.0,
"delta": 0.111,
"percent_delta": 0.1249,
"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.6102,
"after": 4.0,
"delta": 0.3898,
"percent_delta": 0.108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4184,
"after": 0.0,
"delta": -0.4184,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.5827,
"after": 1.0,
"delta": 0.4173,
"percent_delta": 0.7161,
"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.5827,
"after": 1.0,
"delta": 0.4173,
"percent_delta": 0.7161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2047,
"after": 0.25,
"delta": 0.0453,
"percent_delta": 0.2213,
"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.2846,
"after": 0.25,
"delta": -0.0346,
"percent_delta": -0.1216,
"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.3924,
"after": 0.25,
"delta": -0.1424,
"percent_delta": -0.3629,
"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.2047,
"after": 0.25,
"delta": 0.0453,
"percent_delta": 0.2213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3924,
"after": 0.25,
"delta": -0.1424,
"percent_delta": -0.3629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2047,
"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.2846,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3924,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2047,
"delta": -0.0453,
"percent_delta": -0.1814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2846,
"delta": 0.0346,
"percent_delta": 0.1384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3924,
"delta": 0.1424,
"percent_delta": 0.5695,
"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.3924,
"delta": 0.1424,
"percent_delta": 0.5695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2047,
"delta": -0.0453,
"percent_delta": -0.1814,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 1.0,
"delta": 0.818,
"percent_delta": 4.4945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.69,
"after": 4.0,
"delta": 0.31,
"percent_delta": 0.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2047,
"delta": -0.0213,
"percent_delta": -0.0942,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.0,
"delta": 0.17,
"percent_delta": 0.2048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2846,
"delta": -0.0084,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.621,
"after": 1.0,
"delta": 0.379,
"percent_delta": 0.6103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.3924,
"delta": -0.0136,
"percent_delta": -0.0335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.848,
"after": 1.0,
"delta": 0.152,
"percent_delta": 0.1792,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.182,
"after": 1.0,
"delta": 0.818,
"percent_delta": 4.4945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "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.000 | - |
| predicted_AB | 3.690 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.394 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.621 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.848 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | -0.020 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.610 | -0.080 |
| predicted_AVG | 0.213 | -0.013 |
| predicted_BB | 0.407 | 0.013 |
| predicted_H | 0.767 | -0.063 |
| predicted_HBP | 0.028 | - |
| predicted_HR | 0.177 | 0.007 |
| predicted_OBP | 0.290 | -0.003 |
| predicted_R | 0.621 | 0.000 |
| predicted_RBI | 0.446 | -0.014 |
| predicted_SLG | 0.401 | -0.005 |
| predicted_SO | 0.880 | 0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.610 | 0.000 |
| predicted_AVG | 0.205 | -0.008 |
| predicted_BB | 0.403 | -0.004 |
| predicted_H | 0.739 | -0.028 |
| predicted_HBP | 0.028 | 0.000 |
| predicted_HR | 0.172 | -0.005 |
| predicted_OBP | 0.285 | -0.005 |
| predicted_R | 0.583 | -0.039 |
| predicted_RBI | 0.418 | -0.028 |
| predicted_SLG | 0.392 | -0.008 |
| predicted_SO | 0.889 | 0.009 |
AB rounded to 4 (raw=3.69), rates preserved: AVG=0.200 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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 | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.162 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.390 |
| predicted_AVG | 0.250 | 0.045 |
| predicted_BB | 0.000 | -0.403 |
| predicted_H | 1.000 | 0.261 |
| predicted_HR | 0.000 | -0.172 |
| predicted_OBP | 0.250 | -0.035 |
| predicted_R | 1.000 | 0.417 |
| predicted_RBI | 0.000 | -0.418 |
| predicted_SLG | 0.250 | -0.142 |
| predicted_SO | 1.000 | 0.111 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 2.000 | 6.000 | 0.0588 | 0.1579 | 0.2353 | 0.0588 | 0.0588 | 0.1177 | 0.1177 | 0.3529 |
| last_10 | 0.20 | 10 | - | 33.000 | 4.000 | 1.000 | 0.000 | 3.000 | 5.000 | 7.000 | 6.000 | 9.000 | 0.1212 | 0.2500 | 0.4242 | 0.1212 | 0.0909 | 0.1515 | 0.1818 | 0.2727 |
| season | 0.60 | 66 | - | 233.000 | 59.000 | 12.000 | 0.000 | 10.000 | 26.000 | 41.000 | 26.000 | 56.000 | 0.2532 | 0.3333 | 0.4335 | 0.2532 | 0.0429 | 0.1116 | 0.1116 | 0.2403 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5000 |
| predicted_AVG | 0.1943 |
| predicted_BB | 0.4260 |
| predicted_H | 0.6800 |
| predicted_HBP | 0.0280 |
| predicted_HR | 0.1870 |
| predicted_OBP | 0.2848 |
| predicted_R | 0.6220 |
| predicted_RBI | 0.4270 |
| predicted_SLG | 0.3938 |
| predicted_SO | 0.9250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1340 | 0.1618 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6900 | 3.5000 | 3.6102 | model_form_blend |
| predicted_AVG | 0.2260 | 0.1943 | 0.2127 | model_form_blend |
| predicted_BB | 0.3940 | 0.4260 | 0.4074 | model_form_blend |
| predicted_H | 0.8300 | 0.6800 | 0.7670 | model_form_blend |
| predicted_HBP | - | 0.0280 | 0.0280 | form_only |
| predicted_HR | 0.1700 | 0.1870 | 0.1771 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2848 | 0.2896 | model_form_blend |
| predicted_R | 0.6210 | 0.6220 | 0.6214 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4270 | 0.4461 | model_form_blend |
| predicted_SLG | 0.4060 | 0.3938 | 0.4009 | model_form_blend |
| predicted_SO | 0.8480 | 0.9250 | 0.8804 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.253 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | PR |
| gameID | 20260614_ARI@CIN |
| game_type | ph |
| mlbID | 668715 |
| note | Ran for Lowe, N in the 8th. |
| playerID | 668715 |
| playerName | Spencer Steer |
| pos | LF |
| started | False |
| startingPosition | PR |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.337 |
| sl_xwoba | 0.363 |
| sl_xba | 0.264 |
| sl_xslg | 0.485 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 39.2 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 24.8 |
| 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.244 | 0.000 | 0.000 | Hitting_2B | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 4.210 | 3.000 | 4.000 | Hitting_AB | 3.850 | 3.000 | -0.850 | 0.000 |
| predicted_AVG | 0.237 | 0.000 | 0.250 | Hitting_AVG | 0.272 | 0.333 | -0.272 | -0.333 |
| predicted_BB | 0.537 | 1.000 | 0.000 | Hitting_BB | 0.575 | 0.000 | 0.425 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.047 | 1.000 | -1.047 | -1.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.283 | 1.000 | -0.283 | -1.000 |
| predicted_OBP | 0.331 | 0.250 | 0.250 | Hitting_OBP | 0.365 | 0.500 | -0.115 | -0.250 |
| predicted_R | 0.585 | 0.000 | 1.000 | Hitting_R | 0.591 | 1.000 | -0.591 | -1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.843 | 1.000 | -0.843 | -1.000 |
| predicted_SLG | 0.483 | 0.000 | 0.250 | Hitting_SLG | 0.577 | 1.333 | -0.577 | -1.333 |
| predicted_SO | 0.805 | 1.000 | 1.000 | Hitting_SO | 0.945 | 0.000 | 0.055 | 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.5370 -> 1.0000 (boost 0.4630, better) |
| Biggest Deboost | predicted_AB: 4.2100 -> 3.0000 (deboost -1.2100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4830 -> 0.4994 (boost 0.0164, better) | predicted_AB: 4.2100 -> 4.0635 (deboost -0.1465, 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.4994 -> 0.4810 (deboost -0.0184, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.5357 -> 1.0000 (boost 0.4643, better) | predicted_BB: 0.5135 -> 0.0000 (deboost -0.5135, worse) | AB rounded to 4 (raw=4.21), rates preserved: AVG=0.223 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5532 -> 1.0000 (boost 0.4468, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2314 -> 0.2500 (boost 0.0186, better) | predicted_SLG: 0.4810 -> 0.2500 (deboost -0.2310, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 1 | 4 | 1 | 4 | predicted_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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4810 (boost 0.2310, better) | predicted_AVG: 0.2500 -> 0.2314 (deboost -0.0186, 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.244,
"predicted_3B": 0.024,
"predicted_AB": 4.21,
"predicted_AVG": 0.237,
"predicted_BB": 0.537,
"predicted_H": 1.0,
"predicted_HR": 0.24,
"predicted_OBP": 0.331,
"predicted_R": 0.585,
"predicted_RBI": 0.57,
"predicted_SLG": 0.483,
"predicted_SO": 0.805
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0203,
"predicted_AB": 4.0635,
"predicted_AVG": 0.2401,
"predicted_BB": 0.5186,
"predicted_H": 0.9763,
"predicted_HBP": 0.069,
"predicted_HR": 0.2539,
"predicted_OBP": 0.3345,
"predicted_R": 0.5899,
"predicted_RBI": 0.5712,
"predicted_SLG": 0.4994,
"predicted_SO": 0.7724
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.244,
"after": 0.235,
"delta": -0.009,
"percent_delta": -0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0203,
"delta": -0.0037,
"percent_delta": -0.1542,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.21,
"after": 4.0635,
"delta": -0.1465,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2401,
"delta": 0.0031,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.537,
"after": 0.5186,
"delta": -0.0184,
"percent_delta": -0.0343,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9763,
"delta": -0.0237,
"percent_delta": -0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2539,
"delta": 0.0139,
"percent_delta": 0.0579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3345,
"delta": 0.0035,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.585,
"after": 0.5899,
"delta": 0.0049,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5712,
"delta": 0.0012,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.483,
"after": 0.4994,
"delta": 0.0164,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.805,
"after": 0.7724,
"delta": -0.0326,
"percent_delta": -0.0405,
"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.483,
"after": 0.4994,
"delta": 0.0164,
"percent_delta": 0.034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.21,
"after": 4.0635,
"delta": -0.1465,
"percent_delta": -0.0348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.235,
"predicted_3B": 0.0203,
"predicted_AB": 4.0635,
"predicted_AVG": 0.2314,
"predicted_BB": 0.5135,
"predicted_H": 0.9405,
"predicted_HBP": 0.069,
"predicted_HR": 0.2462,
"predicted_OBP": 0.3177,
"predicted_R": 0.5532,
"predicted_RBI": 0.5357,
"predicted_SLG": 0.481,
"predicted_SO": 0.78
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.235,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0203,
"after": 0.0203,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0635,
"after": 4.0635,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2401,
"after": 0.2314,
"delta": -0.0087,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5186,
"after": 0.5135,
"delta": -0.0051,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9763,
"after": 0.9405,
"delta": -0.0358,
"percent_delta": -0.0367,
"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.2539,
"after": 0.2462,
"delta": -0.0077,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3345,
"after": 0.3177,
"delta": -0.0168,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5899,
"after": 0.5532,
"delta": -0.0367,
"percent_delta": -0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5712,
"after": 0.5357,
"delta": -0.0355,
"percent_delta": -0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4994,
"after": 0.481,
"delta": -0.0184,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7724,
"after": 0.78,
"delta": 0.0076,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4994,
"after": 0.481,
"delta": -0.0184,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.21), rates preserved: AVG=0.223 HR/AB=0.058",
"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.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0203,
"after": 0.0,
"delta": -0.0203,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0635,
"after": 4.0,
"delta": -0.0635,
"percent_delta": -0.0156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5135,
"after": 0.0,
"delta": -0.5135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9405,
"after": 1.0,
"delta": 0.0595,
"percent_delta": 0.0633,
"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.2462,
"after": 0.0,
"delta": -0.2462,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5357,
"after": 1.0,
"delta": 0.4643,
"percent_delta": 0.8667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 1.0,
"delta": 0.22,
"percent_delta": 0.2821,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5357,
"after": 1.0,
"delta": 0.4643,
"percent_delta": 0.8667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5135,
"after": 0.0,
"delta": -0.5135,
"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.5532,
"after": 1.0,
"delta": 0.4468,
"percent_delta": 0.8077,
"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.5532,
"after": 1.0,
"delta": 0.4468,
"percent_delta": 0.8077,
"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.2314,
"after": 0.25,
"delta": 0.0186,
"percent_delta": 0.0804,
"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.3177,
"after": 0.25,
"delta": -0.0677,
"percent_delta": -0.2131,
"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.481,
"after": 0.25,
"delta": -0.231,
"percent_delta": -0.4802,
"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.2314,
"after": 0.25,
"delta": 0.0186,
"percent_delta": 0.0804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.25,
"delta": -0.231,
"percent_delta": -0.4802,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_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.2314,
"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.3177,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.481,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2314,
"delta": -0.0186,
"percent_delta": -0.0742,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.3177,
"delta": 0.0677,
"percent_delta": 0.2707,
"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.481,
"delta": 0.231,
"percent_delta": 0.924,
"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.481,
"delta": 0.231,
"percent_delta": 0.924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2314,
"delta": -0.0186,
"percent_delta": -0.0742,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.21,
"after": 3.0,
"delta": -1.21,
"percent_delta": -0.2874,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.237,
"after": 0.2314,
"delta": -0.0056,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.537,
"after": 1.0,
"delta": 0.463,
"percent_delta": 0.8622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3177,
"delta": -0.0133,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.585,
"after": 0.0,
"delta": -0.585,
"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.483,
"after": 0.481,
"delta": -0.002,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.805,
"after": 1.0,
"delta": 0.195,
"percent_delta": 0.2422,
"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.537,
"after": 1.0,
"delta": 0.463,
"percent_delta": 0.8622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.21,
"after": 3.0,
"delta": -1.21,
"percent_delta": -0.2874,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.244 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 4.210 | - |
| predicted_AVG | 0.237 | - |
| predicted_BB | 0.537 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.585 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.483 | - |
| predicted_SO | 0.805 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | -0.009 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 4.064 | -0.146 |
| predicted_AVG | 0.240 | 0.003 |
| predicted_BB | 0.519 | -0.018 |
| predicted_H | 0.976 | -0.024 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.254 | 0.014 |
| predicted_OBP | 0.335 | 0.004 |
| predicted_R | 0.590 | 0.005 |
| predicted_RBI | 0.571 | 0.001 |
| predicted_SLG | 0.499 | 0.016 |
| predicted_SO | 0.772 | -0.033 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 4.064 | 0.000 |
| predicted_AVG | 0.231 | -0.009 |
| predicted_BB | 0.513 | -0.005 |
| predicted_H | 0.941 | -0.036 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.246 | -0.008 |
| predicted_OBP | 0.318 | -0.017 |
| predicted_R | 0.553 | -0.037 |
| predicted_RBI | 0.536 | -0.036 |
| predicted_SLG | 0.481 | -0.018 |
| predicted_SO | 0.780 | 0.008 |
AB rounded to 4 (raw=4.21), rates preserved: AVG=0.223 HR/AB=0.058
| 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.235 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 4.000 | -0.064 |
| predicted_AVG | 0.250 | 0.019 |
| predicted_BB | 0.000 | -0.513 |
| predicted_H | 1.000 | 0.059 |
| predicted_HR | 0.000 | -0.246 |
| predicted_OBP | 0.250 | -0.068 |
| predicted_R | 1.000 | 0.447 |
| predicted_RBI | 1.000 | 0.464 |
| predicted_SLG | 0.250 | -0.231 |
| predicted_SO | 1.000 | 0.220 |
Attached 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 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 4.000 | 1.000 | 0.000 | 2.000 | 2.000 | 4.000 | 3.000 | 2.000 | 0.2105 | 0.3478 | 0.5789 | 0.2105 | 0.1053 | 0.1053 | 0.1579 | 0.1053 |
| last_10 | 0.20 | 10 | - | 41.000 | 8.000 | 2.000 | 0.000 | 2.000 | 3.000 | 5.000 | 4.000 | 7.000 | 0.1951 | 0.2826 | 0.3902 | 0.1951 | 0.0488 | 0.0732 | 0.0976 | 0.1707 |
| season | 0.60 | 41 | - | 155.000 | 42.000 | 10.000 | 1.000 | 12.000 | 30.000 | 24.000 | 22.000 | 33.000 | 0.2710 | 0.3631 | 0.5806 | 0.2710 | 0.0774 | 0.1935 | 0.1419 | 0.2129 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2220 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.8510 |
| predicted_AVG | 0.2447 |
| predicted_BB | 0.4920 |
| predicted_H | 0.9420 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.2740 |
| predicted_OBP | 0.3396 |
| predicted_R | 0.5970 |
| predicted_RBI | 0.5730 |
| predicted_SLG | 0.5231 |
| predicted_SO | 0.7250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2440 | 0.2220 | 0.2350 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0203 | model_form_blend |
| predicted_AB | 4.2100 | 3.8510 | 4.0635 | model_form_blend |
| predicted_AVG | 0.2370 | 0.2447 | 0.2401 | model_form_blend |
| predicted_BB | 0.5370 | 0.4920 | 0.5186 | model_form_blend |
| predicted_H | 1.0000 | 0.9420 | 0.9763 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.2400 | 0.2740 | 0.2539 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3396 | 0.3345 | model_form_blend |
| predicted_R | 0.5850 | 0.5970 | 0.5899 | model_form_blend |
| predicted_RBI | 0.5700 | 0.5730 | 0.5712 | model_form_blend |
| predicted_SLG | 0.4830 | 0.5231 | 0.4994 | model_form_blend |
| predicted_SO | 0.8050 | 0.7250 | 0.7724 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 41 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | LF |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 668709 |
| playerID | 668709 |
| playerName | JJ Bleday |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-14 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.39 |
| sl_xwoba | 0.386 |
| sl_xba | 0.276 |
| sl_xslg | 0.517 |
| sl_sweet_spot_percent | 43.9 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 21.1 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 46.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.160 | 0.000 | 0.000 | Hitting_2B | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_3B | 0.040 | 0.000 | 0.000 | Hitting_3B | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_AB | 4.200 | 5.000 | 4.000 | Hitting_AB | 4.147 | 5.000 | 0.853 | 0.000 |
| predicted_AVG | 0.234 | 0.200 | 0.250 | Hitting_AVG | 0.301 | 0.000 | -0.101 | 0.200 |
| predicted_BB | 0.280 | 0.000 | 0.000 | Hitting_BB | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_H | 0.390 | 1.000 | 1.000 | Hitting_H | 1.250 | 0.000 | -0.250 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.088 | 0.000 | -0.088 | 0.000 |
| predicted_OBP | 0.279 | 0.200 | 0.250 | Hitting_OBP | 0.362 | 0.000 | -0.162 | 0.200 |
| predicted_R | 0.520 | 0.000 | 0.000 | Hitting_R | 0.588 | 0.000 | -0.588 | 0.000 |
| predicted_RBI | 0.140 | 0.000 | 0.000 | Hitting_RBI | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_SLG | 0.348 | 0.200 | 0.250 | Hitting_SLG | 0.397 | 0.000 | -0.197 | 0.200 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.059 | 1.000 | -1.059 | -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_AB: 4.2000 -> 5.0000 (boost 0.8000, 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_H: 0.3900 -> 0.6310 (boost 0.2410, better) | - | Final model input calibrated with local 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.3453 -> 0.2396 (deboost -0.1057, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.6078 -> 1.0000 (boost 0.3922, better) | predicted_BB: 0.2811 -> 0.0000 (deboost -0.2811, worse) | AB rounded to 4 (raw=4.21), rates preserved: AVG=0.144 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4629 -> 0.0000 (deboost -0.4629, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1444 -> 0.2500 (boost 0.1056, 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_AB: 4.0000 -> 5.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.1444 (deboost -0.1056, 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.16,
"predicted_3B": 0.04,
"predicted_AB": 4.2,
"predicted_AVG": 0.234,
"predicted_BB": 0.28,
"predicted_H": 0.39,
"predicted_HR": 0.05,
"predicted_OBP": 0.279,
"predicted_R": 0.52,
"predicted_RBI": 0.14,
"predicted_SLG": 0.348,
"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.1503,
"predicted_3B": 0.0334,
"predicted_AB": 4.2097,
"predicted_AVG": 0.236,
"predicted_BB": 0.2839,
"predicted_H": 0.631,
"predicted_HBP": 0.027,
"predicted_HR": 0.0632,
"predicted_OBP": 0.2845,
"predicted_R": 0.4936,
"predicted_RBI": 0.1855,
"predicted_SLG": 0.3453,
"predicted_SO": 0.9934
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.16,
"after": 0.1503,
"delta": -0.0097,
"percent_delta": -0.0606,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.04,
"after": 0.0334,
"delta": -0.0066,
"percent_delta": -0.165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 4.2097,
"delta": 0.0097,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.236,
"delta": 0.002,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.28,
"after": 0.2839,
"delta": 0.0039,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 0.631,
"delta": 0.241,
"percent_delta": 0.6179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0632,
"delta": 0.0132,
"percent_delta": 0.264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2845,
"delta": 0.0055,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.4936,
"delta": -0.0264,
"percent_delta": -0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.1855,
"delta": 0.0455,
"percent_delta": 0.325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3453,
"delta": -0.0027,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9934,
"delta": -0.0066,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.39,
"after": 0.631,
"delta": 0.241,
"percent_delta": 0.6179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1503,
"predicted_3B": 0.0334,
"predicted_AB": 4.2097,
"predicted_AVG": 0.1444,
"predicted_BB": 0.2811,
"predicted_H": 0.6078,
"predicted_HBP": 0.027,
"predicted_HR": 0.0613,
"predicted_OBP": 0.198,
"predicted_R": 0.4629,
"predicted_RBI": 0.174,
"predicted_SLG": 0.2396,
"predicted_SO": 1.0031
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1503,
"after": 0.1503,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0334,
"after": 0.0334,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2097,
"after": 4.2097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.1444,
"delta": -0.0916,
"percent_delta": -0.3881,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2839,
"after": 0.2811,
"delta": -0.0028,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.631,
"after": 0.6078,
"delta": -0.0232,
"percent_delta": -0.0368,
"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.0632,
"after": 0.0613,
"delta": -0.0019,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2845,
"after": 0.198,
"delta": -0.0865,
"percent_delta": -0.304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4936,
"after": 0.4629,
"delta": -0.0307,
"percent_delta": -0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1855,
"after": 0.174,
"delta": -0.0115,
"percent_delta": -0.062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3453,
"after": 0.2396,
"delta": -0.1057,
"percent_delta": -0.3061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9934,
"after": 1.0031,
"delta": 0.0097,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3453,
"after": 0.2396,
"delta": -0.1057,
"percent_delta": -0.3061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.21), rates preserved: AVG=0.144 HR/AB=0.015",
"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.1503,
"after": 0.0,
"delta": -0.1503,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0334,
"after": 0.0,
"delta": -0.0334,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2097,
"after": 4.0,
"delta": -0.2097,
"percent_delta": -0.0498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2811,
"after": 0.0,
"delta": -0.2811,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6078,
"after": 1.0,
"delta": 0.3922,
"percent_delta": 0.6453,
"direction": "boost",
"projection_effect": "better",
"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.0613,
"after": 0.0,
"delta": -0.0613,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0031,
"after": 1.0,
"delta": -0.0031,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6078,
"after": 1.0,
"delta": 0.3922,
"percent_delta": 0.6453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2811,
"after": 0.0,
"delta": -0.2811,
"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.4629,
"after": 0.0,
"delta": -0.4629,
"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.4629,
"after": 0.0,
"delta": -0.4629,
"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.1444,
"after": 0.25,
"delta": 0.1056,
"percent_delta": 0.7313,
"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.198,
"after": 0.25,
"delta": 0.052,
"percent_delta": 0.2626,
"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.2396,
"after": 0.25,
"delta": 0.0104,
"percent_delta": 0.0434,
"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.1444,
"after": 0.25,
"delta": 0.1056,
"percent_delta": 0.7313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 5.0,
"predicted_AVG": 0.1444,
"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.198,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2396,
"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.1444,
"delta": -0.1056,
"percent_delta": -0.4224,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.198,
"delta": -0.052,
"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.25,
"after": 0.2396,
"delta": -0.0104,
"percent_delta": -0.0415,
"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.1444,
"delta": -0.1056,
"percent_delta": -0.4224,
"direction": "deboost",
"projection_effect": "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.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 5.0,
"delta": 0.8,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.1444,
"delta": -0.0896,
"percent_delta": -0.3829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.39,
"after": 1.0,
"delta": 0.61,
"percent_delta": 1.5641,
"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.279,
"after": 0.198,
"delta": -0.081,
"percent_delta": -0.2903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.2396,
"delta": -0.1084,
"percent_delta": -0.3115,
"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": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.2,
"after": 5.0,
"delta": 0.8,
"percent_delta": 0.1905,
"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.160 | - |
| predicted_3B | 0.040 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.280 | - |
| predicted_H | 0.390 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.520 | - |
| predicted_RBI | 0.140 | - |
| predicted_SLG | 0.348 | - |
| 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.150 | -0.010 |
| predicted_3B | 0.033 | -0.007 |
| predicted_AB | 4.210 | 0.010 |
| predicted_AVG | 0.236 | 0.002 |
| predicted_BB | 0.284 | 0.004 |
| predicted_H | 0.631 | 0.241 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.063 | 0.013 |
| predicted_OBP | 0.284 | 0.005 |
| predicted_R | 0.494 | -0.026 |
| predicted_RBI | 0.185 | 0.045 |
| predicted_SLG | 0.345 | -0.003 |
| predicted_SO | 0.993 | -0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 4.210 | 0.000 |
| predicted_AVG | 0.144 | -0.092 |
| predicted_BB | 0.281 | -0.003 |
| predicted_H | 0.608 | -0.023 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.061 | -0.002 |
| predicted_OBP | 0.198 | -0.086 |
| predicted_R | 0.463 | -0.031 |
| predicted_RBI | 0.174 | -0.012 |
| predicted_SLG | 0.240 | -0.106 |
| predicted_SO | 1.003 | 0.010 |
AB rounded to 4 (raw=4.21), rates preserved: AVG=0.144 HR/AB=0.015
| 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.150 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | -0.210 |
| predicted_AVG | 0.250 | 0.106 |
| predicted_BB | 0.000 | -0.281 |
| predicted_H | 1.000 | 0.392 |
| predicted_HR | 0.000 | -0.061 |
| predicted_OBP | 0.250 | 0.052 |
| predicted_R | 0.000 | -0.463 |
| predicted_RBI | 0.000 | -0.174 |
| predicted_SLG | 0.250 | 0.010 |
| predicted_SO | 1.000 | -0.003 |
Attached 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 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 6.000 | 0.1304 | 0.2000 | 0.1304 | 0.1304 | 0.0000 | 0.0000 | 0.0870 | 0.2609 |
| last_10 | 0.20 | 10 | - | 44.000 | 11.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 2.000 | 9.000 | 0.2500 | 0.2826 | 0.3409 | 0.2500 | 0.0227 | 0.0682 | 0.0454 | 0.2046 |
| season | 0.60 | 25 | - | 105.000 | 28.000 | 4.000 | 1.000 | 2.000 | 5.000 | 13.000 | 7.000 | 25.000 | 0.2667 | 0.3186 | 0.3810 | 0.2667 | 0.0191 | 0.0476 | 0.0667 | 0.2381 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1350 |
| predicted_3B | 0.0230 |
| predicted_AB | 4.2250 |
| predicted_AVG | 0.2391 |
| predicted_BB | 0.2900 |
| predicted_H | 1.0100 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.0840 |
| predicted_OBP | 0.2931 |
| predicted_R | 0.4520 |
| predicted_RBI | 0.2570 |
| predicted_SLG | 0.3410 |
| predicted_SO | 0.9830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1600 | 0.1350 | 0.1503 | model_form_blend |
| predicted_3B | 0.0400 | 0.0230 | 0.0334 | model_form_blend |
| predicted_AB | 4.2000 | 4.2250 | 4.2097 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2391 | 0.2360 | model_form_blend |
| predicted_BB | 0.2800 | 0.2900 | 0.2839 | model_form_blend |
| predicted_H | 0.3900 | 1.0100 | 0.6310 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.0500 | 0.0840 | 0.0632 | model_form_blend |
| predicted_OBP | 0.2790 | 0.2931 | 0.2845 | model_form_blend |
| predicted_R | 0.5200 | 0.4520 | 0.4936 | model_form_blend |
| predicted_RBI | 0.1400 | 0.2570 | 0.1855 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3410 | 0.3453 | model_form_blend |
| predicted_SO | 1.0000 | 0.9830 | 0.9934 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 25 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 5 |
| 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 | 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 | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 694362 |
| playerID | 694362 |
| playerName | Blake Dunn |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.5 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.326 |
| sl_xwoba | 0.271 |
| sl_xba | 0.233 |
| sl_xslg | 0.313 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 32.1 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 12.3 |
| sl_whiff_percent | 25.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.163 | 1.000 | 0.000 | Hitting_2B | 0.174 | 1.000 | 0.826 | 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 | 4.000 | Hitting_AB | 3.682 | 4.000 | 0.318 | 0.000 |
| predicted_AVG | 0.233 | 0.250 | 0.250 | Hitting_AVG | 0.230 | 0.250 | 0.020 | 0.000 |
| predicted_BB | 0.326 | 0.000 | 0.000 | Hitting_BB | 0.386 | 0.000 | -0.386 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.880 | 1.000 | 1.000 | Hitting_H | 0.848 | 1.000 | 0.152 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.286 | 0.250 | 0.250 | Hitting_OBP | 0.303 | 0.250 | -0.053 | 0.000 |
| predicted_R | 0.326 | 1.000 | 0.000 | Hitting_R | 0.379 | 0.000 | 0.621 | 1.000 |
| predicted_RBI | 0.460 | 1.000 | 0.000 | Hitting_RBI | 0.432 | 1.000 | 0.568 | 0.000 |
| predicted_SLG | 0.386 | 0.500 | 0.250 | Hitting_SLG | 0.352 | 0.500 | 0.148 | 0.000 |
| predicted_SO | 1.256 | 0.000 | 1.000 | Hitting_SO | 1.242 | 2.000 | -1.242 | -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_2B: 0.1630 -> 1.0000 (boost 0.8370, better) |
| Biggest Deboost | predicted_SO: 1.2560 -> 0.0000 (deboost -1.2560, 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 | 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3877 -> 0.3676 (deboost -0.0201, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_AB: 3.7772 -> 4.0000 (boost 0.2228, better) | predicted_RBI: 0.4356 -> 0.0000 (deboost -0.4356, worse) | AB rounded to 4 (raw=3.78), rates preserved: AVG=0.223 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2935 -> 0.0000 (deboost -0.2935, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2233 -> 0.2500 (boost 0.0267, better) | predicted_SLG: 0.3676 -> 0.2500 (deboost -0.1176, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3676 (boost 0.1176, better) | predicted_AVG: 0.2500 -> 0.2233 (deboost -0.0267, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "553993",
"player_name": "Eugenio Suárez",
"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.163,
"predicted_3B": 0.0,
"predicted_AB": 3.78,
"predicted_AVG": 0.233,
"predicted_BB": 0.326,
"predicted_H": 0.88,
"predicted_HR": 0.12,
"predicted_OBP": 0.286,
"predicted_R": 0.326,
"predicted_RBI": 0.46,
"predicted_SLG": 0.386,
"predicted_SO": 1.256
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1825,
"predicted_3B": 0.0008,
"predicted_AB": 3.7772,
"predicted_AVG": 0.2319,
"predicted_BB": 0.2882,
"predicted_H": 0.8755,
"predicted_HBP": 0.005,
"predicted_HR": 0.1241,
"predicted_OBP": 0.2816,
"predicted_R": 0.313,
"predicted_RBI": 0.4645,
"predicted_SLG": 0.3877,
"predicted_SO": 1.232
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.1825,
"delta": 0.0195,
"percent_delta": 0.1196,
"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": 3.78,
"after": 3.7772,
"delta": -0.0028,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2319,
"delta": -0.0011,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.2882,
"delta": -0.0378,
"percent_delta": -0.116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 0.8755,
"delta": -0.0045,
"percent_delta": -0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1241,
"delta": 0.0041,
"percent_delta": 0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2816,
"delta": -0.0044,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.313,
"delta": -0.013,
"percent_delta": -0.0399,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4645,
"delta": 0.0045,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3877,
"delta": 0.0017,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.256,
"after": 1.232,
"delta": -0.024,
"percent_delta": -0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 5,
"last_10": 10,
"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.1825,
"predicted_3B": 0.0008,
"predicted_AB": 3.7772,
"predicted_AVG": 0.2233,
"predicted_BB": 0.2854,
"predicted_H": 0.8434,
"predicted_HBP": 0.005,
"predicted_HR": 0.1203,
"predicted_OBP": 0.2778,
"predicted_R": 0.2935,
"predicted_RBI": 0.4356,
"predicted_SLG": 0.3676,
"predicted_SO": 1.2441
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1825,
"after": 0.1825,
"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.7772,
"after": 3.7772,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2319,
"after": 0.2233,
"delta": -0.0086,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2882,
"after": 0.2854,
"delta": -0.0028,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8755,
"after": 0.8434,
"delta": -0.0321,
"percent_delta": -0.0367,
"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.1241,
"after": 0.1203,
"delta": -0.0038,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2816,
"after": 0.2778,
"delta": -0.0038,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.313,
"after": 0.2935,
"delta": -0.0195,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4645,
"after": 0.4356,
"delta": -0.0289,
"percent_delta": -0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3877,
"after": 0.3676,
"delta": -0.0201,
"percent_delta": -0.0518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.232,
"after": 1.2441,
"delta": 0.0121,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3877,
"after": 0.3676,
"delta": -0.0201,
"percent_delta": -0.0518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.78), rates preserved: AVG=0.223 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.1825,
"after": 0.0,
"delta": -0.1825,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7772,
"after": 4.0,
"delta": 0.2228,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2854,
"after": 0.0,
"delta": -0.2854,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8434,
"after": 1.0,
"delta": 0.1566,
"percent_delta": 0.1857,
"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.1203,
"after": 0.0,
"delta": -0.1203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4356,
"after": 0.0,
"delta": -0.4356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2441,
"after": 1.0,
"delta": -0.2441,
"percent_delta": -0.1962,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7772,
"after": 4.0,
"delta": 0.2228,
"percent_delta": 0.059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4356,
"after": 0.0,
"delta": -0.4356,
"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.2935,
"after": 0.0,
"delta": -0.2935,
"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.2935,
"after": 0.0,
"delta": -0.2935,
"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.2233,
"after": 0.25,
"delta": 0.0267,
"percent_delta": 0.1196,
"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.2778,
"after": 0.25,
"delta": -0.0278,
"percent_delta": -0.1001,
"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.3676,
"after": 0.25,
"delta": -0.1176,
"percent_delta": -0.3199,
"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.2233,
"after": 0.25,
"delta": 0.0267,
"percent_delta": 0.1196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3676,
"after": 0.25,
"delta": -0.1176,
"percent_delta": -0.3199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2233,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2778,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3676,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2233,
"delta": -0.0267,
"percent_delta": -0.1069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2778,
"delta": 0.0278,
"percent_delta": 0.1114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3676,
"delta": 0.1176,
"percent_delta": 0.4703,
"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.3676,
"delta": 0.1176,
"percent_delta": 0.4703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2233,
"delta": -0.0267,
"percent_delta": -0.1069,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.837,
"percent_delta": 5.135,
"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.78,
"after": 4.0,
"delta": 0.22,
"percent_delta": 0.0582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.233,
"after": 0.2233,
"delta": -0.0097,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"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.286,
"after": 0.2778,
"delta": -0.0082,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 1.0,
"delta": 0.674,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3676,
"delta": -0.0184,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.256,
"after": 0.0,
"delta": -1.256,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.163,
"after": 1.0,
"delta": 0.837,
"percent_delta": 5.135,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.256,
"after": 0.0,
"delta": -1.256,
"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.163 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.780 | - |
| predicted_AVG | 0.233 | - |
| predicted_BB | 0.326 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.286 | - |
| predicted_R | 0.326 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 1.256 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.777 | -0.003 |
| predicted_AVG | 0.232 | -0.001 |
| predicted_BB | 0.288 | -0.038 |
| predicted_H | 0.875 | -0.005 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.124 | 0.004 |
| predicted_OBP | 0.282 | -0.004 |
| predicted_R | 0.313 | -0.013 |
| predicted_RBI | 0.465 | 0.005 |
| predicted_SLG | 0.388 | 0.002 |
| predicted_SO | 1.232 | -0.024 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.777 | 0.000 |
| predicted_AVG | 0.223 | -0.009 |
| predicted_BB | 0.285 | -0.003 |
| predicted_H | 0.843 | -0.032 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.120 | -0.004 |
| predicted_OBP | 0.278 | -0.004 |
| predicted_R | 0.293 | -0.020 |
| predicted_RBI | 0.436 | -0.029 |
| predicted_SLG | 0.368 | -0.020 |
| predicted_SO | 1.244 | 0.012 |
AB rounded to 4 (raw=3.78), rates preserved: AVG=0.223 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 | 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.182 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.223 |
| predicted_AVG | 0.250 | 0.027 |
| predicted_BB | 0.000 | -0.285 |
| predicted_H | 1.000 | 0.157 |
| predicted_HR | 0.000 | -0.120 |
| predicted_OBP | 0.250 | -0.028 |
| predicted_R | 0.000 | -0.293 |
| predicted_RBI | 0.000 | -0.436 |
| predicted_SLG | 0.250 | -0.118 |
| predicted_SO | 1.000 | -0.244 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 2.000 | 0.000 | 1.000 | 3.000 | 1.000 | 0.000 | 6.000 | 0.3000 | 0.3000 | 0.5500 | 0.3000 | 0.0500 | 0.1500 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 39.000 | 7.000 | 2.000 | 0.000 | 1.000 | 4.000 | 1.000 | 1.000 | 13.000 | 0.1795 | 0.2000 | 0.3077 | 0.1795 | 0.0256 | 0.1026 | 0.0256 | 0.3333 |
| season | 0.60 | 43 | - | 156.000 | 34.000 | 7.000 | 0.000 | 5.000 | 19.000 | 14.000 | 14.000 | 54.000 | 0.2179 | 0.2807 | 0.3590 | 0.2180 | 0.0321 | 0.1218 | 0.0897 | 0.3462 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2110 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.7730 |
| predicted_AVG | 0.2302 |
| predicted_BB | 0.2330 |
| predicted_H | 0.8690 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.1300 |
| predicted_OBP | 0.2752 |
| predicted_R | 0.2940 |
| predicted_RBI | 0.4710 |
| predicted_SLG | 0.3903 |
| predicted_SO | 1.1970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.2110 | 0.1825 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.7800 | 3.7730 | 3.7772 | model_form_blend |
| predicted_AVG | 0.2330 | 0.2302 | 0.2319 | model_form_blend |
| predicted_BB | 0.3260 | 0.2330 | 0.2882 | model_form_blend |
| predicted_H | 0.8800 | 0.8690 | 0.8755 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1200 | 0.1300 | 0.1241 | model_form_blend |
| predicted_OBP | 0.2860 | 0.2752 | 0.2816 | model_form_blend |
| predicted_R | 0.3260 | 0.2940 | 0.3130 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4710 | 0.4645 | model_form_blend |
| predicted_SLG | 0.3860 | 0.3903 | 0.3877 | model_form_blend |
| predicted_SO | 1.2560 | 1.1970 | 1.2320 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 43 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.218 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_ARI@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-06-14 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.283 |
| sl_xwoba | 0.278 |
| sl_xba | 0.213 |
| sl_xslg | 0.34 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 27.2 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 33.1 |
| 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.056 | 1.000 | 0.000 | Hitting_2B | 0.025 | 0.000 | 0.975 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.056 | 4.000 | 3.000 | Hitting_AB | 3.025 | 4.000 | 0.975 | 0.000 |
| predicted_AVG | 0.261 | 0.500 | 0.333 | Hitting_AVG | 0.182 | 0.250 | 0.318 | 0.250 |
| predicted_BB | 0.167 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 0.730 | 2.000 | 1.000 | Hitting_H | 0.550 | 1.000 | 1.450 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.075 | 1.000 | -0.075 | -1.000 |
| predicted_OBP | 0.294 | 0.500 | 0.333 | Hitting_OBP | 0.244 | 0.250 | 0.256 | 0.250 |
| predicted_R | 0.389 | 1.000 | 0.000 | Hitting_R | 0.325 | 1.000 | 0.675 | 0.000 |
| predicted_RBI | 0.340 | 2.000 | 0.000 | Hitting_RBI | 0.075 | 1.000 | 1.925 | 1.000 |
| predicted_SLG | 0.449 | 0.750 | 0.333 | Hitting_SLG | 0.264 | 1.000 | 0.486 | -0.250 |
| predicted_SO | 0.833 | 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 | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.3400 -> 2.0000 (boost 1.6600, better) |
| Biggest Deboost | predicted_SO: 0.8330 -> 0.0000 (deboost -0.8330, 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.0560 -> 3.2077 (boost 0.1517, better) | - | Final model input calibrated with local 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.4600 -> 0.4254 (deboost -0.0346, 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_H: 0.7477 -> 1.0000 (boost 0.2523, better) | predicted_RBI: 0.3202 -> 0.0000 (deboost -0.3202, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.233 HR/AB=0.056 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4029 -> 0.0000 (deboost -0.4029, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2331 -> 0.3330 (boost 0.0999, better) | predicted_SLG: 0.4254 -> 0.3330 (deboost -0.0924, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 5 | 1 | 6 | 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 |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4254 (boost 0.0924, better) | predicted_AVG: 0.3330 -> 0.2331 (deboost -0.0999, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682622",
"player_name": "Noelvi Marte",
"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.056,
"predicted_3B": 0.0,
"predicted_AB": 3.056,
"predicted_AVG": 0.261,
"predicted_BB": 0.167,
"predicted_H": 0.73,
"predicted_HR": 0.16,
"predicted_OBP": 0.294,
"predicted_R": 0.389,
"predicted_RBI": 0.34,
"predicted_SLG": 0.449,
"predicted_SO": 0.833
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0788,
"predicted_3B": 0.0018,
"predicted_AB": 3.2077,
"predicted_AVG": 0.2562,
"predicted_BB": 0.1716,
"predicted_H": 0.7762,
"predicted_HBP": 0.011,
"predicted_HR": 0.1838,
"predicted_OBP": 0.2917,
"predicted_R": 0.4296,
"predicted_RBI": 0.3414,
"predicted_SLG": 0.46,
"predicted_SO": 0.8309
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.056,
"after": 0.0788,
"delta": 0.0228,
"percent_delta": 0.4071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0018,
"delta": 0.0018,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.056,
"after": 3.2077,
"delta": 0.1517,
"percent_delta": 0.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2562,
"delta": -0.0048,
"percent_delta": -0.0184,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.1716,
"delta": 0.0046,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 0.7762,
"delta": 0.0462,
"percent_delta": 0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1838,
"delta": 0.0238,
"percent_delta": 0.1487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2917,
"delta": -0.0023,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.389,
"after": 0.4296,
"delta": 0.0406,
"percent_delta": 0.1044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3414,
"delta": 0.0014,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.46,
"delta": 0.011,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8309,
"delta": -0.0021,
"percent_delta": -0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.056,
"after": 3.2077,
"delta": 0.1517,
"percent_delta": 0.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0788,
"predicted_3B": 0.0018,
"predicted_AB": 3.2077,
"predicted_AVG": 0.2331,
"predicted_BB": 0.1699,
"predicted_H": 0.7477,
"predicted_HBP": 0.011,
"predicted_HR": 0.1782,
"predicted_OBP": 0.2717,
"predicted_R": 0.4029,
"predicted_RBI": 0.3202,
"predicted_SLG": 0.4254,
"predicted_SO": 0.839
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0788,
"after": 0.0788,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2077,
"after": 3.2077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2562,
"after": 0.2331,
"delta": -0.0231,
"percent_delta": -0.0902,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1716,
"after": 0.1699,
"delta": -0.0017,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7762,
"after": 0.7477,
"delta": -0.0285,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1838,
"after": 0.1782,
"delta": -0.0056,
"percent_delta": -0.0305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2917,
"after": 0.2717,
"delta": -0.02,
"percent_delta": -0.0686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4296,
"after": 0.4029,
"delta": -0.0267,
"percent_delta": -0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3414,
"after": 0.3202,
"delta": -0.0212,
"percent_delta": -0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4254,
"delta": -0.0346,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8309,
"after": 0.839,
"delta": 0.0081,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4254,
"delta": -0.0346,
"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 3 (raw=3.21), rates preserved: AVG=0.233 HR/AB=0.056",
"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.0788,
"after": 0.0,
"delta": -0.0788,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0018,
"after": 0.0,
"delta": -0.0018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2077,
"after": 3.0,
"delta": -0.2077,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1699,
"after": 0.0,
"delta": -0.1699,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7477,
"after": 1.0,
"delta": 0.2523,
"percent_delta": 0.3374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1782,
"after": 0.0,
"delta": -0.1782,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3202,
"after": 0.0,
"delta": -0.3202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.839,
"after": 1.0,
"delta": 0.161,
"percent_delta": 0.1919,
"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_H",
"before": 0.7477,
"after": 1.0,
"delta": 0.2523,
"percent_delta": 0.3374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3202,
"after": 0.0,
"delta": -0.3202,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.4029,
"after": 0.0,
"delta": -0.4029,
"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.4029,
"after": 0.0,
"delta": -0.4029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2331,
"after": 0.333,
"delta": 0.0999,
"percent_delta": 0.4286,
"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.2717,
"after": 0.333,
"delta": 0.0613,
"percent_delta": 0.2256,
"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.4254,
"after": 0.333,
"delta": -0.0924,
"percent_delta": -0.2172,
"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.2331,
"after": 0.333,
"delta": 0.0999,
"percent_delta": 0.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4254,
"after": 0.333,
"delta": -0.0924,
"percent_delta": -0.2172,
"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": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"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_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": 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.2331,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2717,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4254,
"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.333,
"after": 0.2331,
"delta": -0.0999,
"percent_delta": -0.3,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2717,
"delta": -0.0613,
"percent_delta": -0.1841,
"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.4254,
"delta": 0.0924,
"percent_delta": 0.2776,
"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.4254,
"delta": 0.0924,
"percent_delta": 0.2776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2331,
"delta": -0.0999,
"percent_delta": -0.3,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.056,
"after": 1.0,
"delta": 0.944,
"percent_delta": 16.8571,
"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.056,
"after": 4.0,
"delta": 0.944,
"percent_delta": 0.3089,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2331,
"delta": -0.0279,
"percent_delta": -0.1069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.167,
"after": 0.0,
"delta": -0.167,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.73,
"after": 2.0,
"delta": 1.27,
"percent_delta": 1.7397,
"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.294,
"after": 0.2717,
"delta": -0.0223,
"percent_delta": -0.0759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.389,
"after": 1.0,
"delta": 0.611,
"percent_delta": 1.5707,
"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.449,
"after": 0.4254,
"delta": -0.0236,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.0,
"delta": -0.833,
"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.34,
"after": 2.0,
"delta": 1.66,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.833,
"after": 0.0,
"delta": -0.833,
"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.056 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.056 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.167 | - |
| predicted_H | 0.730 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.389 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.449 | - |
| predicted_SO | 0.833 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.079 | 0.023 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.208 | 0.152 |
| predicted_AVG | 0.256 | -0.005 |
| predicted_BB | 0.172 | 0.005 |
| predicted_H | 0.776 | 0.046 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.184 | 0.024 |
| predicted_OBP | 0.292 | -0.002 |
| predicted_R | 0.430 | 0.041 |
| predicted_RBI | 0.341 | 0.001 |
| predicted_SLG | 0.460 | 0.011 |
| predicted_SO | 0.831 | -0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.079 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.208 | 0.000 |
| predicted_AVG | 0.233 | -0.023 |
| predicted_BB | 0.170 | -0.002 |
| predicted_H | 0.748 | -0.028 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.178 | -0.006 |
| predicted_OBP | 0.272 | -0.020 |
| predicted_R | 0.403 | -0.027 |
| predicted_RBI | 0.320 | -0.021 |
| predicted_SLG | 0.425 | -0.035 |
| predicted_SO | 0.839 | 0.008 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.233 HR/AB=0.056
| 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=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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.079 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.208 |
| predicted_AVG | 0.333 | 0.100 |
| predicted_BB | 0.000 | -0.170 |
| predicted_H | 1.000 | 0.252 |
| predicted_HR | 0.000 | -0.178 |
| predicted_OBP | 0.333 | 0.061 |
| predicted_R | 0.000 | -0.403 |
| predicted_RBI | 0.000 | -0.320 |
| predicted_SLG | 0.333 | -0.092 |
| predicted_SO | 1.000 | 0.161 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 1.000 | 0.000 | 3.000 | 3.000 | 4.000 | 0.000 | 4.000 | 0.3158 | 0.3158 | 0.8421 | 0.3158 | 0.1579 | 0.1579 | 0.0000 | 0.2105 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 1.000 | 0.000 | 3.000 | 3.000 | 6.000 | 1.000 | 7.000 | 0.2571 | 0.2778 | 0.5429 | 0.2571 | 0.0857 | 0.0857 | 0.0286 | 0.2000 |
| season | 0.60 | 18 | - | 55.000 | 12.000 | 1.000 | 0.000 | 3.000 | 3.000 | 7.000 | 3.000 | 15.000 | 0.2182 | 0.2586 | 0.4000 | 0.2182 | 0.0546 | 0.0546 | 0.0546 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.4890 |
| predicted_AVG | 0.2472 |
| predicted_BB | 0.1800 |
| predicted_H | 0.8620 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2280 |
| predicted_OBP | 0.2874 |
| predicted_R | 0.5050 |
| predicted_RBI | 0.3440 |
| predicted_SLG | 0.4804 |
| predicted_SO | 0.8270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0560 | 0.1210 | 0.0788 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0018 | model_form_blend |
| predicted_AB | 3.0560 | 3.4890 | 3.2077 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2472 | 0.2562 | model_form_blend |
| predicted_BB | 0.1670 | 0.1800 | 0.1716 | model_form_blend |
| predicted_H | 0.7300 | 0.8620 | 0.7762 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.1600 | 0.2280 | 0.1838 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2874 | 0.2917 | model_form_blend |
| predicted_R | 0.3890 | 0.5050 | 0.4296 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3440 | 0.3414 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4804 | 0.4600 | model_form_blend |
| predicted_SO | 0.8330 | 0.8270 | 0.8309 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 18 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.218 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 682622 |
| playerID | 682622 |
| playerName | Noelvi Marte |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.279 |
| sl_xwoba | 0.273 |
| sl_xba | 0.216 |
| sl_xslg | 0.342 |
| sl_sweet_spot_percent | 16.2 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 35.1 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 5.0 |
| sl_whiff_percent | 31.2 |
| 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.130 | 0.000 | 0.000 | Hitting_2B | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.167 | 3.000 | 3.000 | Hitting_AB | 3.263 | 3.000 | -0.263 | 0.000 |
| predicted_AVG | 0.249 | 0.000 | 0.333 | Hitting_AVG | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_BB | 0.444 | 0.000 | 0.000 | Hitting_BB | 0.515 | 0.000 | -0.515 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.643 | 0.000 | -0.643 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.316 | 0.250 | 0.333 | Hitting_OBP | 0.303 | 0.000 | -0.053 | 0.250 |
| predicted_R | 0.222 | 0.000 | 0.000 | Hitting_R | 0.240 | 0.000 | -0.240 | 0.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_SLG | 0.388 | 0.000 | 0.333 | Hitting_SLG | 0.335 | 0.000 | -0.335 | 0.000 |
| predicted_SO | 0.981 | 1.000 | 1.000 | Hitting_SO | 1.064 | 2.000 | -0.064 | -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 | 0 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 0.7000 -> 0.0000 (deboost -0.7000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.1670 -> 3.2312 (boost 0.0642, better) | - | Final model input calibrated with local 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.2444 -> 0.2197 (deboost -0.0247, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.7100 -> 1.0000 (boost 0.2900, better) | predicted_BB: 0.4205 -> 0.0000 (deboost -0.4205, worse) | AB rounded to 3 (raw=3.23), rates preserved: AVG=0.220 HR/AB=0.034 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2113 -> 0.0000 (deboost -0.2113, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2197 -> 0.3330 (boost 0.1133, better) | predicted_SLG: 0.3639 -> 0.3330 (deboost -0.0309, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3639 (boost 0.0309, better) | predicted_AVG: 0.3330 -> 0.2197 (deboost -0.1133, worse) | 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.13,
"predicted_3B": 0.0,
"predicted_AB": 3.167,
"predicted_AVG": 0.249,
"predicted_BB": 0.444,
"predicted_H": 0.7,
"predicted_HR": 0.11,
"predicted_OBP": 0.316,
"predicted_R": 0.222,
"predicted_RBI": 0.35,
"predicted_SLG": 0.388,
"predicted_SO": 0.981
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1358,
"predicted_3B": 0.0008,
"predicted_AB": 3.2312,
"predicted_AVG": 0.2444,
"predicted_BB": 0.4247,
"predicted_H": 0.737,
"predicted_HBP": 0.004,
"predicted_HR": 0.1129,
"predicted_OBP": 0.3171,
"predicted_R": 0.2253,
"predicted_RBI": 0.3512,
"predicted_SLG": 0.3878,
"predicted_SO": 0.9933
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.1358,
"delta": 0.0058,
"percent_delta": 0.0446,
"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": 3.167,
"after": 3.2312,
"delta": 0.0642,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2444,
"delta": -0.0046,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.4247,
"delta": -0.0193,
"percent_delta": -0.0435,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.737,
"delta": 0.037,
"percent_delta": 0.0529,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1129,
"delta": 0.0029,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3171,
"delta": 0.0011,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.222,
"after": 0.2253,
"delta": 0.0033,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.3512,
"delta": 0.0012,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.388,
"after": 0.3878,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.981,
"after": 0.9933,
"delta": 0.0123,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_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.167,
"after": 3.2312,
"delta": 0.0642,
"percent_delta": 0.0203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1358,
"predicted_3B": 0.0008,
"predicted_AB": 3.2312,
"predicted_AVG": 0.2197,
"predicted_BB": 0.4205,
"predicted_H": 0.71,
"predicted_HBP": 0.004,
"predicted_HR": 0.1095,
"predicted_OBP": 0.3096,
"predicted_R": 0.2113,
"predicted_RBI": 0.3294,
"predicted_SLG": 0.3639,
"predicted_SO": 1.003
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1358,
"after": 0.1358,
"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.2312,
"after": 3.2312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2444,
"after": 0.2197,
"delta": -0.0247,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4247,
"after": 0.4205,
"delta": -0.0042,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.737,
"after": 0.71,
"delta": -0.027,
"percent_delta": -0.0366,
"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.1129,
"after": 0.1095,
"delta": -0.0034,
"percent_delta": -0.0301,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3171,
"after": 0.3096,
"delta": -0.0075,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2253,
"after": 0.2113,
"delta": -0.014,
"percent_delta": -0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.3294,
"delta": -0.0218,
"percent_delta": -0.0621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3878,
"after": 0.3639,
"delta": -0.0239,
"percent_delta": -0.0616,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9933,
"after": 1.003,
"delta": 0.0097,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2444,
"after": 0.2197,
"delta": -0.0247,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.23), rates preserved: AVG=0.220 HR/AB=0.034",
"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.1358,
"after": 0.0,
"delta": -0.1358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2312,
"after": 3.0,
"delta": -0.2312,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4205,
"after": 0.0,
"delta": -0.4205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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.1095,
"after": 0.0,
"delta": -0.1095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3294,
"after": 0.0,
"delta": -0.3294,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.003,
"after": 1.0,
"delta": -0.003,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4205,
"after": 0.0,
"delta": -0.4205,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.2113,
"after": 0.0,
"delta": -0.2113,
"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.2113,
"after": 0.0,
"delta": -0.2113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2197,
"after": 0.333,
"delta": 0.1133,
"percent_delta": 0.5157,
"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.3096,
"after": 0.333,
"delta": 0.0234,
"percent_delta": 0.0756,
"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.3639,
"after": 0.333,
"delta": -0.0309,
"percent_delta": -0.0849,
"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.2197,
"after": 0.333,
"delta": 0.1133,
"percent_delta": 0.5157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3639,
"after": 0.333,
"delta": -0.0309,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2197,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3096,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3639,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2197,
"delta": -0.1133,
"percent_delta": -0.3402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3096,
"delta": -0.0234,
"percent_delta": -0.0703,
"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.3639,
"delta": 0.0309,
"percent_delta": 0.0927,
"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.3639,
"delta": 0.0309,
"percent_delta": 0.0927,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2197,
"delta": -0.1133,
"percent_delta": -0.3402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.167,
"after": 3.0,
"delta": -0.167,
"percent_delta": -0.0527,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2197,
"delta": -0.0293,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.0,
"delta": -0.444,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"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.316,
"after": 0.3096,
"delta": -0.0064,
"percent_delta": -0.0203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"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.388,
"after": 0.3639,
"delta": -0.0241,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.981,
"after": 1.0,
"delta": 0.019,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 0,
"worse_metrics": 10,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"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.130 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.167 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.444 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.222 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.388 | - |
| predicted_SO | 0.981 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.231 | 0.064 |
| predicted_AVG | 0.244 | -0.005 |
| predicted_BB | 0.425 | -0.019 |
| predicted_H | 0.737 | 0.037 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.113 | 0.003 |
| predicted_OBP | 0.317 | 0.001 |
| predicted_R | 0.225 | 0.003 |
| predicted_RBI | 0.351 | 0.001 |
| predicted_SLG | 0.388 | -0.000 |
| predicted_SO | 0.993 | 0.012 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.231 | 0.000 |
| predicted_AVG | 0.220 | -0.025 |
| predicted_BB | 0.420 | -0.004 |
| predicted_H | 0.710 | -0.027 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.110 | -0.003 |
| predicted_OBP | 0.310 | -0.008 |
| predicted_R | 0.211 | -0.014 |
| predicted_RBI | 0.329 | -0.022 |
| predicted_SLG | 0.364 | -0.024 |
| predicted_SO | 1.003 | 0.010 |
AB rounded to 3 (raw=3.23), rates preserved: AVG=0.220 HR/AB=0.034
| 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=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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.136 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.231 |
| predicted_AVG | 0.333 | 0.113 |
| predicted_BB | 0.000 | -0.420 |
| predicted_H | 1.000 | 0.290 |
| predicted_HR | 0.000 | -0.110 |
| predicted_OBP | 0.333 | 0.023 |
| predicted_R | 0.000 | -0.211 |
| predicted_RBI | 0.000 | -0.329 |
| predicted_SLG | 0.333 | -0.031 |
| predicted_SO | 1.000 | -0.003 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 6.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 6.000 | 0.3529 | 0.4211 | 0.5882 | 0.3529 | 0.0588 | 0.1177 | 0.1177 | 0.3529 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 3.000 | 10.000 | 0.2121 | 0.2778 | 0.3333 | 0.2121 | 0.0303 | 0.0606 | 0.0909 | 0.3030 |
| season | 0.60 | 54 | - | 171.000 | 35.000 | 7.000 | 0.000 | 5.000 | 19.000 | 12.000 | 24.000 | 53.000 | 0.2047 | 0.2995 | 0.3333 | 0.2047 | 0.0292 | 0.1111 | 0.1404 | 0.3099 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1440 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3230 |
| predicted_AVG | 0.2378 |
| predicted_BB | 0.3970 |
| predicted_H | 0.7900 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.3187 |
| predicted_R | 0.2300 |
| predicted_RBI | 0.3530 |
| predicted_SLG | 0.3876 |
| predicted_SO | 1.0110 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.1440 | 0.1358 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1670 | 3.3230 | 3.2312 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2378 | 0.2444 | model_form_blend |
| predicted_BB | 0.4440 | 0.3970 | 0.4247 | model_form_blend |
| predicted_H | 0.7000 | 0.7900 | 0.7370 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1100 | 0.1170 | 0.1129 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3187 | 0.3171 | model_form_blend |
| predicted_R | 0.2220 | 0.2300 | 0.2253 | model_form_blend |
| predicted_RBI | 0.3500 | 0.3530 | 0.3512 | model_form_blend |
| predicted_SLG | 0.3880 | 0.3876 | 0.3878 | model_form_blend |
| predicted_SO | 0.9810 | 1.0110 | 0.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 | 171 |
| Season rows before report date | 171 |
| Report year | 2026 |
| Profile rows used | 54 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.205 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260613_ARI@CIN |
| game_type | full |
| mlbID | 663886 |
| playerID | 663886 |
| playerName | Tyler Stephenson |
| pos | C |
| started | True |
| startingPosition | C |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-13 |
| sl_k_percent | 26.9 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.287 |
| sl_xwoba | 0.321 |
| sl_xba | 0.222 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 43.3 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 21.8 |
| sl_whiff_percent | 25.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.190 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.651 | 4.000 | 4.000 | Hitting_AB | 3.778 | 3.000 | 0.222 | 1.000 |
| predicted_AVG | 0.236 | 0.000 | 0.250 | Hitting_AVG | 0.214 | 0.333 | -0.214 | -0.333 |
| predicted_BB | 0.476 | 0.000 | 1.000 | Hitting_BB | 0.491 | 1.000 | -0.491 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 0.800 | 0.000 | 1.000 | Hitting_H | 0.809 | 1.000 | -0.809 | -1.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.313 | 0.000 | 0.400 | Hitting_OBP | 0.311 | 0.500 | -0.311 | -0.500 |
| predicted_R | 0.460 | 0.000 | 0.000 | Hitting_R | 0.457 | 0.000 | -0.457 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.413 | 0.000 | -0.413 | 0.000 |
| predicted_SLG | 0.393 | 0.000 | 0.250 | Hitting_SLG | 0.353 | 0.333 | -0.353 | -0.333 |
| predicted_SO | 1.000 | 0.000 | 1.000 | Hitting_SO | 1.026 | 0.000 | -1.026 | 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.6510 -> 4.0000 (boost 0.3490, 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2360 -> 0.2280 (deboost -0.0080, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3906 -> 0.3704 (deboost -0.0202, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_BB: 0.4759 -> 1.0000 (boost 0.5241, better) | predicted_RBI: 0.3344 -> 0.0000 (deboost -0.3344, worse) | AB rounded to 4 (raw=3.65), rates preserved: AVG=0.209 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4475 -> 0.0000 (deboost -0.4475, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3017 -> 0.4000 (boost 0.0983, better) | predicted_SLG: 0.3704 -> 0.2500 (deboost -0.1204, 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_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3704 (boost 0.1204, better) | predicted_OBP: 0.4000 -> 0.3017 (deboost -0.0983, 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.19,
"predicted_3B": 0.0,
"predicted_AB": 3.651,
"predicted_AVG": 0.236,
"predicted_BB": 0.476,
"predicted_H": 0.8,
"predicted_HR": 0.13,
"predicted_OBP": 0.313,
"predicted_R": 0.46,
"predicted_RBI": 0.37,
"predicted_SLG": 0.393,
"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.1917,
"predicted_3B": 0.0004,
"predicted_AB": 3.63,
"predicted_AVG": 0.228,
"predicted_BB": 0.4806,
"predicted_H": 0.792,
"predicted_HBP": 0.02,
"predicted_HR": 0.1338,
"predicted_OBP": 0.3134,
"predicted_R": 0.4772,
"predicted_RBI": 0.3566,
"predicted_SLG": 0.3906,
"predicted_SO": 1.0017
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.1917,
"delta": 0.0017,
"percent_delta": 0.0089,
"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.651,
"after": 3.63,
"delta": -0.021,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.228,
"delta": -0.008,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.476,
"after": 0.4806,
"delta": 0.0046,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.792,
"delta": -0.008,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1338,
"delta": 0.0038,
"percent_delta": 0.0292,
"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.46,
"after": 0.4772,
"delta": 0.0172,
"percent_delta": 0.0374,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3566,
"delta": -0.0134,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.393,
"after": 0.3906,
"delta": -0.0024,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0017,
"delta": 0.0017,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.228,
"delta": -0.008,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1917,
"predicted_3B": 0.0004,
"predicted_AB": 3.63,
"predicted_AVG": 0.2102,
"predicted_BB": 0.4759,
"predicted_H": 0.7629,
"predicted_HBP": 0.02,
"predicted_HR": 0.1297,
"predicted_OBP": 0.3017,
"predicted_R": 0.4475,
"predicted_RBI": 0.3344,
"predicted_SLG": 0.3704,
"predicted_SO": 1.0115
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1917,
"after": 0.1917,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.63,
"after": 3.63,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2102,
"delta": -0.0178,
"percent_delta": -0.0781,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4806,
"after": 0.4759,
"delta": -0.0047,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.792,
"after": 0.7629,
"delta": -0.0291,
"percent_delta": -0.0367,
"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.1338,
"after": 0.1297,
"delta": -0.0041,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3134,
"after": 0.3017,
"delta": -0.0117,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4772,
"after": 0.4475,
"delta": -0.0297,
"percent_delta": -0.0622,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3566,
"after": 0.3344,
"delta": -0.0222,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3906,
"after": 0.3704,
"delta": -0.0202,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0017,
"after": 1.0115,
"delta": 0.0098,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3906,
"after": 0.3704,
"delta": -0.0202,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.65), rates preserved: AVG=0.209 HR/AB=0.036",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1917,
"after": 0.0,
"delta": -0.1917,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.63,
"after": 4.0,
"delta": 0.37,
"percent_delta": 0.1019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4759,
"after": 1.0,
"delta": 0.5241,
"percent_delta": 1.1013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7629,
"after": 1.0,
"delta": 0.2371,
"percent_delta": 0.3108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.1297,
"after": 0.0,
"delta": -0.1297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3344,
"after": 0.0,
"delta": -0.3344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0115,
"after": 1.0,
"delta": -0.0115,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4759,
"after": 1.0,
"delta": 0.5241,
"percent_delta": 1.1013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3344,
"after": 0.0,
"delta": -0.3344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4475,
"after": 0.0,
"delta": -0.4475,
"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.4475,
"after": 0.0,
"delta": -0.4475,
"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": 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.2102,
"after": 0.25,
"delta": 0.0398,
"percent_delta": 0.1893,
"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.3017,
"after": 0.4,
"delta": 0.0983,
"percent_delta": 0.3258,
"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.3704,
"after": 0.25,
"delta": -0.1204,
"percent_delta": -0.3251,
"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.3017,
"after": 0.4,
"delta": 0.0983,
"percent_delta": 0.3258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3704,
"after": 0.25,
"delta": -0.1204,
"percent_delta": -0.3251,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2102,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3017,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3704,
"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.2102,
"delta": -0.0398,
"percent_delta": -0.1593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3017,
"delta": -0.0983,
"percent_delta": -0.2457,
"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.3704,
"delta": 0.1204,
"percent_delta": 0.4816,
"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.3704,
"delta": 0.1204,
"percent_delta": 0.4816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3017,
"delta": -0.0983,
"percent_delta": -0.2457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"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.651,
"after": 4.0,
"delta": 0.349,
"percent_delta": 0.0956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2102,
"delta": -0.0258,
"percent_delta": -0.1093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.476,
"after": 0.0,
"delta": -0.476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3017,
"delta": -0.0113,
"percent_delta": -0.0361,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"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.393,
"after": 0.3704,
"delta": -0.0226,
"percent_delta": -0.0575,
"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": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.651,
"after": 4.0,
"delta": 0.349,
"percent_delta": 0.0956,
"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.190 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.651 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.476 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.460 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.393 | - |
| 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.192 | 0.002 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.630 | -0.021 |
| predicted_AVG | 0.228 | -0.008 |
| predicted_BB | 0.481 | 0.005 |
| predicted_H | 0.792 | -0.008 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.134 | 0.004 |
| predicted_OBP | 0.313 | 0.000 |
| predicted_R | 0.477 | 0.017 |
| predicted_RBI | 0.357 | -0.013 |
| predicted_SLG | 0.391 | -0.002 |
| predicted_SO | 1.002 | 0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.630 | 0.000 |
| predicted_AVG | 0.210 | -0.018 |
| predicted_BB | 0.476 | -0.005 |
| predicted_H | 0.763 | -0.029 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.130 | -0.004 |
| predicted_OBP | 0.302 | -0.012 |
| predicted_R | 0.448 | -0.030 |
| predicted_RBI | 0.334 | -0.022 |
| predicted_SLG | 0.370 | -0.020 |
| predicted_SO | 1.012 | 0.010 |
AB rounded to 4 (raw=3.65), rates preserved: AVG=0.209 HR/AB=0.036
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.192 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.370 |
| predicted_AVG | 0.250 | 0.040 |
| predicted_BB | 1.000 | 0.524 |
| predicted_H | 1.000 | 0.237 |
| predicted_HR | 0.000 | -0.130 |
| predicted_OBP | 0.400 | 0.098 |
| predicted_R | 0.000 | -0.448 |
| predicted_RBI | 0.000 | -0.334 |
| predicted_SLG | 0.250 | -0.120 |
| predicted_SO | 1.000 | -0.012 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 6.000 | 0.1667 | 0.2857 | 0.2222 | 0.1667 | 0.0000 | 0.0000 | 0.1667 | 0.3333 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 2.000 | 0.000 | 3.000 | 4.000 | 7.000 | 5.000 | 9.000 | 0.2727 | 0.3684 | 0.6061 | 0.2727 | 0.0909 | 0.1212 | 0.1515 | 0.2727 |
| season | 0.60 | 63 | - | 230.000 | 48.000 | 12.000 | 0.000 | 8.000 | 25.000 | 29.000 | 30.000 | 63.000 | 0.2087 | 0.3053 | 0.3652 | 0.2087 | 0.0348 | 0.1087 | 0.1304 | 0.2739 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1940 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6010 |
| predicted_AVG | 0.2169 |
| predicted_BB | 0.4870 |
| predicted_H | 0.7810 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1390 |
| predicted_OBP | 0.3140 |
| predicted_R | 0.5010 |
| predicted_RBI | 0.3380 |
| predicted_SLG | 0.3873 |
| predicted_SO | 1.0040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.1940 | 0.1917 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6510 | 3.6010 | 3.6300 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2169 | 0.2280 | model_form_blend |
| predicted_BB | 0.4760 | 0.4870 | 0.4806 | model_form_blend |
| predicted_H | 0.8000 | 0.7810 | 0.7920 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1300 | 0.1390 | 0.1338 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3140 | 0.3134 | model_form_blend |
| predicted_R | 0.4600 | 0.5010 | 0.4772 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3380 | 0.3566 | model_form_blend |
| predicted_SLG | 0.3930 | 0.3873 | 0.3906 | model_form_blend |
| predicted_SO | 1.0000 | 1.0040 | 1.0017 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.209 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 680574 |
| playerID | 680574 |
| playerName | Matt McLain |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.303 |
| sl_xwoba | 0.33 |
| sl_xba | 0.236 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 10.4 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 20.1 |
| sl_whiff_percent | 26.5 |
| 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.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.111 | 3.000 | 3.000 | Hitting_AB | 2.333 | 4.000 | 0.667 | -1.000 |
| predicted_AVG | 0.272 | 0.667 | 0.333 | Hitting_AVG | 0.214 | 0.000 | 0.452 | 0.667 |
| predicted_BB | 0.222 | 1.000 | 0.000 | Hitting_BB | 0.167 | 0.000 | 0.833 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.570 | 2.000 | 1.000 | Hitting_H | 0.500 | 0.000 | 1.500 | 2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.294 | 0.750 | 0.333 | Hitting_OBP | 0.281 | 0.000 | 0.469 | 0.750 |
| predicted_R | 0.111 | 1.000 | 0.000 | Hitting_R | 0.083 | 0.000 | 0.917 | 1.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.329 | 0.667 | 0.333 | Hitting_SLG | 0.214 | 0.000 | 0.452 | 0.667 |
| predicted_SO | 1.111 | 0.000 | 1.000 | Hitting_SO | 0.833 | 0.000 | -0.833 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_H: 0.5700 -> 2.0000 (boost 1.4300, better) |
| Biggest Deboost | predicted_SO: 1.1110 -> 0.0000 (deboost -1.1110, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 3 | 2 | predicted_AB: 3.1110 -> 3.2671 (boost 0.1561, better) | predicted_SO: 1.1110 -> 1.0499 (deboost -0.0611, better) | Final model input calibrated with local 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.3234 -> 0.2561 (deboost -0.0673, 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.6313 -> 1.0000 (boost 0.3687, better) | predicted_RBI: 0.3114 -> 0.0000 (deboost -0.3114, worse) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.193 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1460 -> 0.0000 (deboost -0.1460, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1932 -> 0.3330 (boost 0.1398, 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_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.1932 (deboost -0.1398, worse) | 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.0,
"predicted_3B": 0.0,
"predicted_AB": 3.111,
"predicted_AVG": 0.272,
"predicted_BB": 0.222,
"predicted_H": 0.57,
"predicted_HR": 0.06,
"predicted_OBP": 0.294,
"predicted_R": 0.111,
"predicted_RBI": 0.3,
"predicted_SLG": 0.329,
"predicted_SO": 1.111
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0265,
"predicted_3B": 0.0022,
"predicted_AB": 3.2671,
"predicted_AVG": 0.2603,
"predicted_BB": 0.2134,
"predicted_H": 0.6554,
"predicted_HBP": 0.103,
"predicted_HR": 0.06,
"predicted_OBP": 0.2921,
"predicted_R": 0.1557,
"predicted_RBI": 0.3321,
"predicted_SLG": 0.3234,
"predicted_SO": 1.0499
},
"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.0022,
"delta": 0.0022,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.111,
"after": 3.2671,
"delta": 0.1561,
"percent_delta": 0.0502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.2603,
"delta": -0.0117,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.2134,
"delta": -0.0086,
"percent_delta": -0.0387,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.6554,
"delta": 0.0854,
"percent_delta": 0.1498,
"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.294,
"after": 0.2921,
"delta": -0.0019,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.111,
"after": 0.1557,
"delta": 0.0447,
"percent_delta": 0.4027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3321,
"delta": 0.0321,
"percent_delta": 0.107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.3234,
"delta": -0.0056,
"percent_delta": -0.017,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 1.0499,
"delta": -0.0611,
"percent_delta": -0.055,
"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_AB",
"before": 3.111,
"after": 3.2671,
"delta": 0.1561,
"percent_delta": 0.0502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.111,
"after": 1.0499,
"delta": -0.0611,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 9,
"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.0265,
"predicted_3B": 0.0022,
"predicted_AB": 3.2671,
"predicted_AVG": 0.1932,
"predicted_BB": 0.2113,
"predicted_H": 0.6313,
"predicted_HBP": 0.103,
"predicted_HR": 0.0582,
"predicted_OBP": 0.2423,
"predicted_R": 0.146,
"predicted_RBI": 0.3114,
"predicted_SLG": 0.2561,
"predicted_SO": 1.0602
},
"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.0022,
"after": 0.0022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2671,
"after": 3.2671,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2603,
"after": 0.1932,
"delta": -0.0671,
"percent_delta": -0.2578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2134,
"after": 0.2113,
"delta": -0.0021,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6554,
"after": 0.6313,
"delta": -0.0241,
"percent_delta": -0.0368,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.103,
"after": 0.103,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0582,
"delta": -0.0018,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2921,
"after": 0.2423,
"delta": -0.0498,
"percent_delta": -0.1705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1557,
"after": 0.146,
"delta": -0.0097,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3321,
"after": 0.3114,
"delta": -0.0207,
"percent_delta": -0.0623,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3234,
"after": 0.2561,
"delta": -0.0673,
"percent_delta": -0.2081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0499,
"after": 1.0602,
"delta": 0.0103,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3234,
"after": 0.2561,
"delta": -0.0673,
"percent_delta": -0.2081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.27), rates preserved: AVG=0.193 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 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.0022,
"after": 0.0,
"delta": -0.0022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2671,
"after": 3.0,
"delta": -0.2671,
"percent_delta": -0.0818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2113,
"after": 0.0,
"delta": -0.2113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6313,
"after": 1.0,
"delta": 0.3687,
"percent_delta": 0.584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0582,
"after": 0.0,
"delta": -0.0582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3114,
"after": 0.0,
"delta": -0.3114,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0602,
"after": 1.0,
"delta": -0.0602,
"percent_delta": -0.0568,
"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.6313,
"after": 1.0,
"delta": 0.3687,
"percent_delta": 0.584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3114,
"after": 0.0,
"delta": -0.3114,
"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.146,
"after": 0.0,
"delta": -0.146,
"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.146,
"after": 0.0,
"delta": -0.146,
"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.1932,
"after": 0.333,
"delta": 0.1398,
"percent_delta": 0.7236,
"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.2423,
"after": 0.333,
"delta": 0.0907,
"percent_delta": 0.3743,
"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.2561,
"after": 0.333,
"delta": 0.0769,
"percent_delta": 0.3003,
"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.1932,
"after": 0.333,
"delta": 0.1398,
"percent_delta": 0.7236,
"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": 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": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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_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.1932,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2423,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2561,
"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.1932,
"delta": -0.1398,
"percent_delta": -0.4197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2423,
"delta": -0.0907,
"percent_delta": -0.2725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2561,
"delta": -0.0769,
"percent_delta": -0.2309,
"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.1932,
"delta": -0.1398,
"percent_delta": -0.4197,
"direction": "deboost",
"projection_effect": "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.111,
"after": 3.0,
"delta": -0.111,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.1932,
"delta": -0.0788,
"percent_delta": -0.2897,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 1.0,
"delta": 0.778,
"percent_delta": 3.5045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"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.294,
"after": 0.2423,
"delta": -0.0517,
"percent_delta": -0.1759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.111,
"after": 1.0,
"delta": 0.889,
"percent_delta": 8.009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.329,
"after": 0.2561,
"delta": -0.0729,
"percent_delta": -0.2216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.111,
"after": 0.0,
"delta": -1.111,
"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.57,
"after": 2.0,
"delta": 1.43,
"percent_delta": 2.5088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.111,
"after": 0.0,
"delta": -1.111,
"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.111 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.222 | - |
| predicted_H | 0.570 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.111 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.329 | - |
| predicted_SO | 1.111 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.026 | 0.026 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.267 | 0.156 |
| predicted_AVG | 0.260 | -0.012 |
| predicted_BB | 0.213 | -0.009 |
| predicted_H | 0.655 | 0.085 |
| predicted_HBP | 0.103 | - |
| predicted_HR | 0.060 | 0.000 |
| predicted_OBP | 0.292 | -0.002 |
| predicted_R | 0.156 | 0.045 |
| predicted_RBI | 0.332 | 0.032 |
| predicted_SLG | 0.323 | -0.006 |
| predicted_SO | 1.050 | -0.061 |
Step 3: 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.267 | 0.000 |
| predicted_AVG | 0.193 | -0.067 |
| predicted_BB | 0.211 | -0.002 |
| predicted_H | 0.631 | -0.024 |
| predicted_HBP | 0.103 | 0.000 |
| predicted_HR | 0.058 | -0.002 |
| predicted_OBP | 0.242 | -0.050 |
| predicted_R | 0.146 | -0.010 |
| predicted_RBI | 0.311 | -0.021 |
| predicted_SLG | 0.256 | -0.067 |
| predicted_SO | 1.060 | 0.010 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.193 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 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.267 |
| predicted_AVG | 0.333 | 0.140 |
| predicted_BB | 0.000 | -0.211 |
| predicted_H | 1.000 | 0.369 |
| predicted_HR | 0.000 | -0.058 |
| predicted_OBP | 0.333 | 0.091 |
| predicted_R | 0.000 | -0.146 |
| predicted_RBI | 0.000 | -0.311 |
| predicted_SLG | 0.333 | 0.077 |
| 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 | 0.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 | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.2222 | 0.2500 | 0.2222 | 0.2222 | 0.0000 | 0.1111 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 9 | - | 28.000 | 6.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 10.000 | 0.2143 | 0.2812 | 0.2143 | 0.2143 | 0.0000 | 0.0714 | 0.0714 | 0.3571 |
| season | 0.60 | 9 | - | 28.000 | 6.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 10.000 | 0.2143 | 0.2812 | 0.2143 | 0.2143 | 0.0000 | 0.0714 | 0.0714 | 0.3571 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.6170 |
| predicted_AVG | 0.2341 |
| predicted_BB | 0.1940 |
| predicted_H | 0.8470 |
| predicted_HBP | 0.1030 |
| predicted_HR | 0.0600 |
| predicted_OBP | 0.2879 |
| predicted_R | 0.2560 |
| predicted_RBI | 0.4040 |
| predicted_SLG | 0.3110 |
| predicted_SO | 0.9130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0860 | 0.0265 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0022 | model_form_blend |
| predicted_AB | 3.1110 | 3.6170 | 3.2671 | model_form_blend |
| predicted_AVG | 0.2720 | 0.2341 | 0.2603 | model_form_blend |
| predicted_BB | 0.2220 | 0.1940 | 0.2134 | model_form_blend |
| predicted_H | 0.5700 | 0.8470 | 0.6554 | model_form_blend |
| predicted_HBP | - | 0.1030 | 0.1030 | form_only |
| predicted_HR | 0.0600 | 0.0600 | 0.0600 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2879 | 0.2921 | model_form_blend |
| predicted_R | 0.1110 | 0.2560 | 0.1557 | model_form_blend |
| predicted_RBI | 0.3000 | 0.4040 | 0.3321 | model_form_blend |
| predicted_SLG | 0.3290 | 0.3110 | 0.3234 | model_form_blend |
| predicted_SO | 1.1110 | 0.9130 | 1.0499 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 12 |
| Season rows before report date | 12 |
| Report year | 2026 |
| Profile rows used | 9 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.214 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 695490 |
| playerID | 695490 |
| playerName | Edwin Arroyo |
| pos | SS |
| started | True |
| startingPosition | 2B |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-14 |
| sl_k_percent | 35.7 |
| sl_bb_percent | 7.1 |
| sl_woba | 0.268 |
| sl_xwoba | 0.263 |
| sl_xba | 0.225 |
| sl_xslg | 0.263 |
| sl_sweet_spot_percent | 53.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 26.7 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 62.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.769 | 2.000 | 1.231 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.385 | 2.000 | -1.385 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 4.000 | 6.000 | -3.000 | -5.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.731 | 5.100 | 0.269 | 0.900 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 6.769 | 7.000 | -1.769 | -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_SO: 4.0000 -> 5.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: 4.0000 -> 7.0000 (boost 3.0000, better) | - | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 7.0000 -> 5.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "695505",
"player_name": "Chase Burns",
"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": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.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": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"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": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"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": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 0.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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 | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.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 | 3.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 7.000 | 3.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 28.200 | 7.000 | 19.000 | 7.000 | 40.000 | 3.000 | 2.1977 | 0.9070 | 0.2442 | 0.6628 | 0.2442 | 1.3954 | 0.1047 |
| last_10 | 0.35 | 10 | 59.100 | 12.000 | 39.000 | 15.000 | 70.000 | 6.000 | 1.8202 | 0.9101 | 0.2023 | 0.6573 | 0.2528 | 1.1798 | 0.1011 |
| season | 0.20 | 13 | 75.200 | 18.000 | 52.000 | 23.000 | 88.000 | 9.000 | 2.1410 | 0.9912 | 0.2379 | 0.6872 | 0.3040 | 1.1630 | 0.1189 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6800 |
| predicted_ER | 1.7690 |
| predicted_ERA | 2.7249 |
| predicted_H | 4.3880 |
| predicted_HR | 0.6840 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.8900 |
| predicted_WHIP | 1.0383 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.6800 | 2.2969 | model_form_blend |
| predicted_ER | 0.0000 | 1.7690 | 0.9422 | model_form_blend |
| predicted_ERA | - | 2.7249 | 2.7249 | form_only |
| predicted_H | 1.0000 | 4.3880 | 2.8045 | model_form_blend |
| predicted_HR | 0.0000 | 0.6840 | 0.3643 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 4.0000 | 6.8900 | 5.5393 | model_form_blend |
| predicted_WHIP | - | 1.0383 | 1.0383 | 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 | 6.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 3 |
| SO | 5 |
| HR | 0 |
| BF | 23 |
| Pitches | 94 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 2 |
| Pitching_ERA | 2.14 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 4 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.1 |
| Pitching_Pitches | 105 |
| Pitching_R | 2 |
| Pitching_SO | 7 |
| Pitching_Strikes | 64 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_CIN@SD |
| game_type | full |
| mlbID | 695505 |
| playerID | 695505 |
| playerName | Chase Burns |
| pos | P |
| started | True |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-09 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.264 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 29.7 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 38.4 |
| sl_whiff_percent | 33.7 |
| sl_swing_percent | 48.8 |
| sl_avg_best_speed | 78.452276591 |
| sl_avg_hyper_speed | 94.031789318 |
| 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.647 | 2.000 | -0.647 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.735 | 1.000 | -0.735 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.806 | 1.000 | 0.194 | 0.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 | 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": "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": 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.200 | 0.000 | 3.000 | 6.000 | 3.000 | 0.000 | 0.0000 | 1.5882 | 0.0000 | 0.5294 | 1.0588 | 0.5294 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 2.000 | 5.000 | 8.000 | 5.000 | 1.000 | 1.7419 | 1.2581 | 0.1935 | 0.4839 | 0.7742 | 0.4839 | 0.0968 |
| season | 0.20 | 34 | 33.000 | 11.000 | 25.000 | 22.000 | 30.000 | 3.000 | 3.0000 | 1.4242 | 0.3333 | 0.7576 | 0.6667 | 0.9091 | 0.0909 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6550 |
| predicted_ER | 0.2910 |
| predicted_ERA | 2.6223 |
| predicted_H | 0.7380 |
| predicted_HR | 0.0920 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7390 |
| predicted_WHIP | 1.3936 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6550 | 0.3058 | model_form_blend |
| predicted_ER | 0.0000 | 0.2910 | 0.1359 | model_form_blend |
| predicted_ERA | - | 2.6223 | 2.6223 | form_only |
| predicted_H | 0.0000 | 0.7380 | 0.3445 | model_form_blend |
| predicted_HR | 0.0000 | 0.0920 | 0.0429 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7390 | 0.3450 | model_form_blend |
| predicted_WHIP | - | 1.3936 | 1.3936 | 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 | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.00 |
| Pitching_Flyouts | 3 |
| 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 | 28 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260612_ARI@CIN |
| game_type | full |
| mlbID | 656271 |
| playerID | 656271 |
| playerName | Brock Burke |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-12 |
| sl_k_percent | 20.7 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.307 |
| sl_xwoba | 0.338 |
| sl_sweet_spot_percent | 38.0 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 31.5 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 43.8 |
| sl_avg_best_speed | 77.628835814 |
| sl_avg_hyper_speed | 93.234574 |
| 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.424 | 0.000 | -0.424 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.606 | 0.000 | 0.394 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.709 | 1.000 | 0.291 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.939 | 0.000 | -0.939 | 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": "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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 2.000 | 3.000 | 2.000 | 5.000 | 1.000 | 4.5000 | 1.2500 | 0.5000 | 0.7500 | 0.5000 | 1.2500 | 0.2500 |
| last_10 | 0.35 | 10 | 9.000 | 2.000 | 5.000 | 2.000 | 12.000 | 1.000 | 2.0000 | 0.7778 | 0.2222 | 0.5556 | 0.2222 | 1.3333 | 0.1111 |
| season | 0.20 | 31 | 29.000 | 9.000 | 17.000 | 13.000 | 31.000 | 3.000 | 2.7931 | 1.0345 | 0.3103 | 0.5862 | 0.4483 | 1.0690 | 0.1035 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3480 |
| predicted_ER | 0.3920 |
| predicted_ERA | 3.8350 |
| predicted_H | 0.7350 |
| predicted_HR | 0.1470 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0110 |
| predicted_WHIP | 1.1773 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3480 | 0.1578 | model_form_blend |
| predicted_ER | 0.0000 | 0.3920 | 0.1777 | model_form_blend |
| predicted_ERA | - | 3.8350 | 3.8350 | form_only |
| predicted_H | 1.0000 | 0.7350 | 0.8799 | model_form_blend |
| predicted_HR | 0.0000 | 0.1470 | 0.0666 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0110 | 0.4584 | model_form_blend |
| predicted_WHIP | - | 1.1773 | 1.1773 | 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 | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 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 | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.79 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_ARI@CIN |
| game_type | full |
| mlbID | 594580 |
| playerID | 594580 |
| playerName | Sam Moll |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.29 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 23.9 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 29.6 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 40.4 |
| sl_avg_best_speed | 76.362206129 |
| sl_avg_hyper_speed | 93.427617049 |
| 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.419 | 0.000 | -0.419 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.903 | 0.000 | -0.903 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.803 | 1.000 | 0.197 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.806 | 0.000 | -0.806 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 0.000 | 3.000 | 0.000 | 3.000 | 0.000 | 0.0000 | 0.7500 | 0.0000 | 0.7500 | 0.0000 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 10 | 8.000 | 6.000 | 10.000 | 4.000 | 5.000 | 2.000 | 6.7500 | 1.7500 | 0.7500 | 1.2500 | 0.5000 | 0.6250 | 0.2500 |
| season | 0.20 | 30 | 27.000 | 13.000 | 24.000 | 13.000 | 25.000 | 7.000 | 4.3333 | 1.3704 | 0.4815 | 0.8889 | 0.4815 | 0.9259 | 0.2593 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2710 |
| predicted_ER | 0.3670 |
| predicted_ERA | 3.8281 |
| predicted_H | 0.8300 |
| predicted_HR | 0.1230 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7190 |
| predicted_WHIP | 1.2768 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2710 | 0.1208 | model_form_blend |
| predicted_ER | 0.0000 | 0.3670 | 0.1636 | model_form_blend |
| predicted_ERA | - | 3.8281 | 3.8281 | form_only |
| predicted_H | 0.0000 | 0.8300 | 0.3700 | model_form_blend |
| predicted_HR | 0.0000 | 0.1230 | 0.0548 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7190 | 0.8747 | model_form_blend |
| predicted_WHIP | - | 1.2768 | 1.2768 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 30 |
| 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 | 5.67 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260613_ARI@CIN |
| game_type | full |
| mlbID | 663574 |
| playerID | 663574 |
| playerName | Tony Santillan |
| pos | P |
| started | False |
| startingPosition | P |
| team | CIN |
| teamID | 7 |
| game_date | 2026-06-13 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.382 |
| sl_xwoba | 0.366 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 48.8 |
| sl_whiff_percent | 20.4 |
| sl_swing_percent | 44.8 |
| sl_avg_best_speed | 82.921843 |
| sl_avg_hyper_speed | 94.98867675 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | PIT 3 - 2 OAK | PIT | 0.562 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | PIT 4 - 3 OAK | PIT | - | advisory_box_score_draw | False |
The shipped score is the pre-simulation model target. The inning simulation is a separate box-score realization used for player lines and stress testing.
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5617 |
| 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.333 | 4.104 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 4 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 2 | 0.5617 | 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 | 4 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46613562231759664,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.050684978540772585,
"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": 5,
"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": 108,
"near_bucket_sample_size": 108,
"medium_bucket_sample_size": 187,
"wide_bucket_sample_size": 202,
"global_sample_size": 214,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.6296,
"bayesian_hit_rate": 0.6111,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8571,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5046,
"calibrated_pick_probability": 0.5617,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "OAK",
"games": 71,
"wins": 35,
"losses": 36,
"win_pct": 0.49295774647887325,
"runs_scored": 320,
"runs_allowed": 371,
"run_differential": -51,
"run_differential_per_game": -0.7183098591549296,
"available": true
},
"away": {
"team": "PIT",
"games": 72,
"wins": 36,
"losses": 36,
"win_pct": 0.5,
"runs_scored": 359,
"runs_allowed": 345,
"run_differential": 14,
"run_differential_per_game": 0.19444444444444445,
"available": true
},
"run_differential_edge_per_game": -0.9128,
"win_pct_edge": -0.007,
"quality_edge": -0.9233,
"margin_adjustment": -0.3878,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 2.161,
"home_runs": 2.107,
"home_win_probability": 0.4954
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "PIT",
"guardrail_predicted_team": "PIT",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "PIT",
"output_opponent_team": "OAK",
"final_score_winner": "PIT",
"pre_simulation_winner": "PIT",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "PIT 3 - 2 OAK",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 OAK",
"winner": "PIT"
},
"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": "OAK",
"games": 71,
"wins": 35,
"losses": 36,
"win_pct": 0.49295774647887325,
"runs_scored": 320,
"runs_allowed": 371,
"run_differential": -51,
"run_differential_per_game": -0.7183098591549296,
"available": true
},
"away": {
"team": "PIT",
"games": 72,
"wins": 36,
"losses": 36,
"win_pct": 0.5,
"runs_scored": 359,
"runs_allowed": 345,
"run_differential": 14,
"run_differential_per_game": 0.19444444444444445,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.0542,
"final_margin": -0.0542,
"margin_cap": 2.0,
"season_quality_edge": 0.9233,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.52977,
"final_confidence": 0.52977,
"confidence_cap": 0.66,
"score_gap": 0.0542,
"calibration_sample_size": 108,
"calibration_empirical_hit_rate": 0.6296,
"calibration_bayesian_hit_rate": 0.6111,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.9233,
"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": "PIT 3 - 2 OAK",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 OAK",
"winner": "PIT"
},
"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": 3,
"home_runs": 2,
"confidence": 0.561658,
"home_win_probability": 0.438342,
"away_win_probability": 0.561658,
"predicted_score_text": "PIT 3 - 2 OAK",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "PIT",
"original_runs": 3,
"run_delta": -0.0194,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.12129591540365768,
"contact": 0.16992618328551545,
"power": 0.28345776201394124,
"discipline": 0.3431345392863422,
"xwoba": 0.33471874999999995,
"recent_xwoba": 0.33471874999999995,
"barrel": 11.303124999999998,
"ab_hard_contact": -0.47720190257832074,
"ab_bat_speed": 68.55783001645132,
"ab_strikeout_rate": 0.22055801240538728,
"available_players": 9,
"top_players": [
{
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "CF",
"weight": 3.0,
"quality": -0.39782210049120587,
"contact": -0.675583253666108,
"power": -1.377186683219024,
"discipline": 0.012020130972592774,
"xwoba": 0.283,
"recent_xwoba": 0.283,
"barrel": 0.9,
"ab_hard_contact": -1.6024003310471528,
"ab_bat_speed": 63.870827060931894,
"ab_strikeout_rate": 0.23225806451612904,
"available": 1.0
},
{
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "2B",
"weight": 4.0,
"quality": 0.5284609991741956,
"contact": 0.4736733640297438,
"power": 0.9558986978460032,
"discipline": -0.18269799498746864,
"xwoba": 0.356,
"recent_xwoba": 0.356,
"barrel": 12.199999999999998,
"ab_hard_contact": 0.21092633787245904,
"ab_bat_speed": 70.76913666666667,
"ab_strikeout_rate": 0.25733333333333336,
"available": 1.0
},
{
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "DH",
"weight": 4.0,
"quality": 0.5745007009199851,
"contact": 0.7056227236215813,
"power": 0.48499277183409933,
"discipline": 0.6583853383458648,
"xwoba": 0.362,
"recent_xwoba": 0.362,
"barrel": 9.0,
"ab_hard_contact": 0.44690305572960165,
"ab_bat_speed": 71.04840029761905,
"ab_strikeout_rate": 0.21160714285714285,
"available": 1.0
},
{
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "LF",
"weight": 3.0,
"quality": 0.013397831309877945,
"contact": -0.6568771342771332,
"power": 1.4802416436925656,
"discipline": -1.1179285714285714,
"xwoba": 0.283,
"recent_xwoba": 0.283,
"barrel": 33.3,
"ab_hard_contact": -0.5757385547201351,
"ab_bat_speed": 69.49,
"ab_strikeout_rate": 0.5133333333333333,
"available": 1.0
},
{
"player_id": "682997",
"player_name": "Tyler Callihan",
"position": "3B",
"weight": 3.0,
"quality": 0.00812377075801451,
"contact": 0.22293238953239,
"power": 1.2685745039682537,
"discipline": 1.4662857142857144,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 21.4,
"ab_hard_contact": -1.8633670634920634,
"ab_bat_speed": 65.54166666666667,
"ab_strikeout_rate": 0.0,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669372",
"player_name": "J.T. Ginn",
"quality": 0.08927046077020015,
"contact": 0.14425133412976202,
"command": 0.06685714285714264,
"movement": 0.37000189154663643,
"xwoba": 0.307,
"whiff": 27.2,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "OAK",
"original_runs": 2,
"run_delta": 0.2798,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 33.0,
"quality": 0.32094667542789823,
"contact": 0.36592144596769444,
"power": 0.3332303578704126,
"discipline": 0.11514471620783506,
"xwoba": 0.32954545454545453,
"recent_xwoba": 0.32954545454545453,
"barrel": 8.890909090909092,
"ab_hard_contact": 0.3224946032957021,
"ab_bat_speed": 71.38790266218687,
"ab_strikeout_rate": 0.2085555572029648,
"available_players": 9,
"top_players": [
{
"player_id": "701762",
"player_name": "Nick Kurtz",
"position": "1B",
"weight": 4.0,
"quality": 1.3489723205548034,
"contact": 1.2646431633419133,
"power": 1.9381401835929841,
"discipline": 0.6218020050125315,
"xwoba": 0.396,
"recent_xwoba": 0.396,
"barrel": 18.4,
"ab_hard_contact": 1.271375100431118,
"ab_bat_speed": 76.35883401920438,
"ab_strikeout_rate": 0.3083333333333333,
"available": 1.0
},
{
"player_id": "669127",
"player_name": "Shea Langeliers",
"position": "C",
"weight": 5.0,
"quality": 1.1059006600108576,
"contact": 1.1575651164106961,
"power": 1.5800480311396543,
"discipline": -0.13093609022556388,
"xwoba": 0.378,
"recent_xwoba": 0.378,
"barrel": 15.2,
"ab_hard_contact": 1.2624844323169029,
"ab_bat_speed": 74.42080277777778,
"ab_strikeout_rate": 0.21600000000000003,
"available": 1.0
},
{
"player_id": "805779",
"player_name": "Jacob Wilson",
"position": "SS",
"weight": 4.0,
"quality": -0.5350989880384529,
"contact": -0.5066753652498646,
"power": -1.1421352618324658,
"discipline": 0.025447914658441095,
"xwoba": 0.271,
"recent_xwoba": 0.271,
"barrel": 2.0,
"ab_hard_contact": -0.6091814271255069,
"ab_bat_speed": 62.39934035409035,
"ab_strikeout_rate": 0.1094017094017094,
"available": 1.0
},
{
"player_id": "666126",
"player_name": "Carlos Cortes",
"position": "DH",
"weight": 3.0,
"quality": 0.5940934092272961,
"contact": 1.2861828360210867,
"power": 0.6179439247136002,
"discipline": 0.971799840510367,
"xwoba": 0.379,
"recent_xwoba": 0.379,
"barrel": 9.2,
"ab_hard_contact": 0.5478308752243833,
"ab_bat_speed": 69.50095057720058,
"ab_strikeout_rate": 0.09962121212121212,
"available": 1.0
},
{
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "2B",
"weight": 3.0,
"quality": -0.29240906598393346,
"contact": -0.10134628584887378,
"power": -0.9948443912603052,
"discipline": 0.46257464740282095,
"xwoba": 0.304,
"recent_xwoba": 0.304,
"barrel": 1.1,
"ab_hard_contact": -0.7067925871108667,
"ab_bat_speed": 66.7119767351385,
"ab_strikeout_rate": 0.14934640522875817,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "683003",
"player_name": "Jared Jones",
"quality": -0.0,
"contact": -1.0858617631355552,
"command": 0.5705714285714286,
"movement": -1.3768571428571428,
"xwoba": 0.354,
"whiff": 34.9,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"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": "PIT 3 - 2 OAK",
"confidence": 0.561658,
"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": "PIT 3 - 2 OAK",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "PIT 4 - 3 OAK",
"winner": "PIT"
},
"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 PIT | True | 1.0235 | 1.0235 | 1 | 9 | 0 |
| Home OAK | True | 1.0285 | 1.0285 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Spencer Horwitz | 99 | 0.9996 | -0.0052 | negative_batter_regression | 0.3320 | 0.2320 | 0.3790 | 7.60 | 33.70 | 86.30 | 16.50 | 14.90 | 13 | 13 | -1.2000 |
| 2B | Brandon Lowe | 25 | 1.0684 | 0.9115 | neutral | 0.3560 | 0.2510 | 0.4870 | 12.20 | 44.80 | 90.30 | 17 | 34.40 | 24.60 | 10.90 | -0.3143 |
| RF | Ryan O'Hearn | 229 | 1.0163 | 0.2178 | neutral | 0.3260 | 0.2570 | 0.4120 | 6.50 | 44.20 | 89.90 | 12.20 | 22.70 | 22.10 | 8.80 | -0.8000 |
| DH | Bryan Reynolds | 27 | 1.0636 | 0.8477 | neutral | 0.3620 | 0.2580 | 0.4320 | 9 | 44.40 | 90.90 | 5.10 | 28.40 | 21.60 | 15 | 0.0286 |
| SS | Nick Gonzales | 146 | 1.0181 | 0.2418 | neutral | 0.3290 | 0.2960 | 0.3980 | 3 | 37.90 | 85.70 | 6.30 | 23.60 | 17.50 | 6.10 | 0.2286 |
| 3B | Tyler Callihan | 220 | 1.0315 | 0.4194 | negative_batter_regression | 0.3730 | 0.1860 | 0.4730 | 21.40 | 42.90 | 91.40 | 26.40 | 23.20 | 23.10 | 23.10 | -2 |
| C | Endy Rodríguez | 248 | 1.0285 | 0.3806 | neutral | 0.3580 | 0.2210 | 0.4070 | 13.90 | 41.70 | 91 | 26.70 | 22.10 | 23.90 | 20.90 | -0.1714 |
| CF | Jake Mangum | 173 | 0.9725 | -0.3665 | negative_batter_regression | 0.2830 | 0.2550 | 0.3170 | 0.90 | 25.90 | 83.90 | 3.80 | 18.80 | 17.90 | 6.60 | -0.9714 |
| LF | Esmerlyn Valdez | 379 | 1.0132 | 0.1758 | neutral | 0.2830 | 0.1460 | 0.4300 | 33.30 | 66.70 | 94.90 | 17.80 | 41 | 47.60 | 9.50 | 0.5714 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Tyler Soderstrom | 62 | 1.0357 | 0.4755 | neutral | 0.3320 | 0.2440 | 0.4200 | 10.80 | 44.60 | 89.80 | 13 | 21 | 18.10 | 12.40 | -0.3429 |
| SS | Jacob Wilson | 239 | 0.9557 | -0.5900 | negative_batter_regression | 0.2710 | 0.2600 | 0.3300 | 2 | 28.70 | 84 | 8 | 15.20 | 11.40 | 3.40 | -1.0286 |
| C | Shea Langeliers | 17 | 1.1098 | 1.4647 | neutral | 0.3780 | 0.2830 | 0.5420 | 15.20 | 44.50 | 91.80 | 21.40 | 25.60 | 19.40 | 7.50 | -0.0571 |
| 1B | Nick Kurtz | 7 | 1.1227 | 1.6355 | neutral | 0.3960 | 0.2550 | 0.5150 | 18.40 | 57 | 94.10 | 12.70 | 35.10 | 28.80 | 20.60 | -0.6286 |
| 3B | Zack Gelof | 69 | 0.9841 | -0.2118 | negative_batter_regression | 0.2880 | 0.2220 | 0.3900 | 8.30 | 41.40 | 89 | 17 | 28.40 | 25.60 | 5.60 | -1.6286 |
| CF | Henry Bolte | 167 | 0.9820 | -0.2399 | negative_batter_regression | 0.2900 | 0.2240 | 0.3160 | 3.40 | 53.40 | 92.60 | 1.50 | 33.70 | 29 | 7 | -1.8286 |
| DH | Carlos Cortes | 169 | 1.0562 | 0.7494 | neutral | 0.3790 | 0.2990 | 0.4730 | 9.20 | 41.30 | 89.90 | 8.80 | 18.70 | 9.20 | 11.40 | -0.2571 |
| RF | Lawrence Butler | 554 | 1.0159 | 0.2116 | positive_batter_regression | 0.3060 | 0.2420 | 0.3630 | 6.10 | 45.30 | 89.80 | 5.60 | 29.50 | 26.20 | 10.70 | 1.7714 |
| 2B | Jeff McNeil | 416 | 0.9940 | -0.0805 | neutral | 0.3040 | 0.2670 | 0.3430 | 1.10 | 30.50 | 86.30 | 12.60 | 17.20 | 14 | 8.30 | 0.7714 |
{
"home": {
"applied": true,
"offense_factor": 1.0285,
"raw_average_factor": 1.0285,
"team_espn_average_rank": 188.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"offense_factor": 1.0357,
"quality_score": 0.4755,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691016",
"espn_id": 4686066,
"player_name": "Tyler Soderstrom",
"team": "ATH",
"role": "batter",
"espn_rank": 62,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 62,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 249.0,
"ab_rank": 77,
"r_value": 33.0,
"r_rank": 80,
"h_value": 60.0,
"h_rank": 86,
"avg_value": 0.2409638,
"avg_rank": 102.0,
"2b_value": 19.0,
"2b_rank": 4,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 12.0,
"hr_rank": 42,
"rbi_value": 39.0,
"rbi_rank": 40,
"tb_value": 119.0,
"tb_rank": 246,
"bb_value": 35.0,
"bb_rank": 31,
"so_value": 51.0,
"so_rank": 123,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3356643,
"obp_rank": "76",
"slg_value": 0.4779116,
"slg_rank": "38",
"ops_value": 0.8135759,
"ops_rank": 114.0,
"war_value": 1.83,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 18.1,
"bb_percent": 12.4,
"woba": 0.344,
"xwoba": 0.332,
"xba": 0.244,
"xslg": 0.42,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 44.6,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 13.0,
"whiff_percent": 21.0,
"swing_percent": 47.1
},
"components": {
"expected_quality": 0.6189,
"regression_edge": -0.3429,
"xwoba_edge": 0.7714,
"xba_edge": 0.1714,
"xslg_edge": 0.6429,
"barrel_edge": 0.8667,
"hard_hit_edge": 0.8571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.85,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "805779",
"player_name": "Jacob Wilson",
"offense_factor": 0.9557,
"quality_score": -0.59,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "805779",
"espn_id": 4719300,
"player_name": "Jacob Wilson",
"team": "ATH",
"role": "batter",
"espn_rank": 239,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 239,
"gp_value": 41.0,
"gp_rank": 283,
"ab_value": 168.0,
"ab_rank": 201,
"r_value": 19.0,
"r_rank": 216,
"h_value": 48.0,
"h_rank": 151,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 183,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 21.0,
"rbi_rank": 190,
"tb_value": 65.0,
"tb_rank": 1410,
"bb_value": 6.0,
"bb_rank": 350,
"so_value": 20.0,
"so_rank": 342,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3085714,
"obp_rank": "-",
"slg_value": 0.3869047,
"slg_rank": "-",
"ops_value": 0.6954761,
"ops_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 165.0,
"k_percent": 11.4,
"bb_percent": 3.4,
"woba": 0.307,
"xwoba": 0.271,
"xba": 0.26,
"xslg": 0.33,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 2.0,
"hard_hit_percent": 28.7,
"exit_velocity_avg": 84.0,
"launch_angle_avg": 8.0,
"whiff_percent": 15.2,
"swing_percent": 57.0
},
"components": {
"expected_quality": -0.7473,
"regression_edge": -1.0286,
"xwoba_edge": -0.9714,
"xba_edge": 0.6286,
"xslg_edge": -0.6429,
"barrel_edge": -1.0889,
"hard_hit_edge": -1.4143,
"exit_velocity_edge": -1.92,
"sweet_spot_edge": -0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "669127",
"player_name": "Shea Langeliers",
"offense_factor": 1.1098,
"quality_score": 1.4647,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669127",
"espn_id": 42598,
"player_name": "Shea Langeliers",
"team": "ATH",
"role": "batter",
"espn_rank": 17,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 17,
"gp_value": 64.0,
"gp_rank": 132,
"ab_value": 267.0,
"ab_rank": 28,
"r_value": 46.0,
"r_rank": 13,
"h_value": 75.0,
"h_rank": 18,
"avg_value": 0.2808988,
"avg_rank": 28.0,
"2b_value": 15.0,
"2b_rank": 24,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 18.0,
"hr_rank": 9,
"rbi_value": 36.0,
"rbi_rank": 55,
"tb_value": 144.0,
"tb_rank": 449,
"bb_value": 22.0,
"bb_rank": 118,
"so_value": 57.0,
"so_rank": 86,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3435374,
"obp_rank": "61",
"slg_value": 0.5393258,
"slg_rank": "14",
"ops_value": 0.8828632,
"ops_rank": 47.0,
"war_value": 2.88,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 226.0,
"k_percent": 19.4,
"bb_percent": 7.5,
"woba": 0.38,
"xwoba": 0.378,
"xba": 0.283,
"xslg": 0.542,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 15.2,
"hard_hit_percent": 44.5,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 21.4,
"whiff_percent": 25.6,
"swing_percent": 51.5
},
"components": {
"expected_quality": 1.7124,
"regression_edge": -0.0571,
"xwoba_edge": 2.0857,
"xba_edge": 1.2857,
"xslg_edge": 2.3857,
"barrel_edge": 1.8444,
"hard_hit_edge": 0.8429,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.7667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "701762",
"player_name": "Nick Kurtz",
"offense_factor": 1.1227,
"quality_score": 1.6355,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701762",
"espn_id": 4966637,
"player_name": "Nick Kurtz",
"team": "ATH",
"role": "batter",
"espn_rank": 7,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 7,
"gp_value": 70.0,
"gp_rank": 33,
"ab_value": 252.0,
"ab_rank": 66,
"r_value": 49.0,
"r_rank": 8,
"h_value": 72.0,
"h_rank": 30,
"avg_value": 0.2857142,
"avg_rank": 25.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 16.0,
"hr_rank": 15,
"rbi_value": 52.0,
"rbi_rank": 5,
"tb_value": 135.0,
"tb_rank": 260,
"bb_value": 66.0,
"bb_rank": 1,
"so_value": 91.0,
"so_rank": 9,
"sb_value": 7.0,
"sb_rank": 58,
"obp_value": 0.4375,
"obp_rank": "1",
"slg_value": 0.5357142,
"slg_rank": "15",
"ops_value": 0.9732142,
"ops_rank": 14.0,
"war_value": 3.41,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 28.8,
"bb_percent": 20.6,
"woba": 0.418,
"xwoba": 0.396,
"xba": 0.255,
"xslg": 0.515,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 18.4,
"hard_hit_percent": 57.0,
"exit_velocity_avg": 94.1,
"launch_angle_avg": 12.7,
"whiff_percent": 35.1,
"swing_percent": 40.9
},
"components": {
"expected_quality": 2.0041,
"regression_edge": -0.6286,
"xwoba_edge": 2.5,
"xba_edge": 0.4857,
"xslg_edge": 2.0,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.12,
"sweet_spot_edge": 0.9833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "680869",
"player_name": "Zack Gelof",
"offense_factor": 0.9841,
"quality_score": -0.2118,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "680869",
"espn_id": 4414531,
"player_name": "Zack Gelof",
"team": "ATH",
"role": "batter",
"espn_rank": 69,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 69,
"gp_value": 55.0,
"gp_rank": 196,
"ab_value": 185.0,
"ab_rank": 173,
"r_value": 31.0,
"r_rank": 98,
"h_value": 51.0,
"h_rank": 134,
"avg_value": 0.2756756,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 25.0,
"rbi_rank": 152,
"tb_value": 89.0,
"tb_rank": 638,
"bb_value": 11.0,
"bb_rank": 262,
"so_value": 51.0,
"so_rank": 123,
"sb_value": 7.0,
"sb_rank": 58,
"obp_value": 0.3232323,
"obp_rank": "-",
"slg_value": 0.481081,
"slg_rank": "-",
"ops_value": 0.8043133,
"ops_rank": null,
"war_value": 1.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 128.0,
"k_percent": 25.6,
"bb_percent": 5.6,
"woba": 0.345,
"xwoba": 0.288,
"xba": 0.222,
"xslg": 0.39,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 41.4,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 17.0,
"whiff_percent": 28.4,
"swing_percent": 46.4
},
"components": {
"expected_quality": -0.1582,
"regression_edge": -1.6286,
"xwoba_edge": -0.4857,
"xba_edge": -0.4571,
"xslg_edge": 0.2143,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.4,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.7833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "703607",
"player_name": "Henry Bolte",
"offense_factor": 0.982,
"quality_score": -0.2399,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "703607",
"espn_id": 5080756,
"player_name": "Henry Bolte",
"team": "ATH",
"role": "batter",
"espn_rank": 167,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 167,
"gp_value": 29.0,
"gp_rank": 359,
"ab_value": 88.0,
"ab_rank": 338,
"r_value": 8.0,
"r_rank": 369,
"h_value": 28.0,
"h_rank": 270,
"avg_value": 0.3181818,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 7.0,
"rbi_rank": 358,
"tb_value": 35.0,
"tb_rank": 2022,
"bb_value": 7.0,
"bb_rank": 327,
"so_value": 29.0,
"so_rank": 271,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3960396,
"obp_rank": "-",
"slg_value": 0.3977272,
"slg_rank": "-",
"ops_value": 0.7937668,
"ops_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 41.0,
"k_percent": 29.0,
"bb_percent": 7.0,
"woba": 0.354,
"xwoba": 0.29,
"xba": 0.224,
"xslg": 0.316,
"sweet_spot_percent": 20.3,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 53.4,
"exit_velocity_avg": 92.6,
"launch_angle_avg": 1.5,
"whiff_percent": 33.7,
"swing_percent": 51.9
},
"components": {
"expected_quality": -0.3221,
"regression_edge": -1.8286,
"xwoba_edge": -0.4286,
"xba_edge": -0.4,
"xslg_edge": -0.8429,
"barrel_edge": -0.7778,
"hard_hit_edge": 2.1143,
"exit_velocity_edge": 1.52,
"sweet_spot_edge": -2.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "666126",
"player_name": "Carlos Cortes",
"offense_factor": 1.0562,
"quality_score": 0.7494,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666126",
"espn_id": 41595,
"player_name": "Carlos Cortes",
"team": "ATH",
"role": "batter",
"espn_rank": 169,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 169,
"gp_value": 57.0,
"gp_rank": 181,
"ab_value": 165.0,
"ab_rank": 204,
"r_value": 17.0,
"r_rank": 237,
"h_value": 50.0,
"h_rank": 136,
"avg_value": 0.3030303,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 21.0,
"rbi_rank": 190,
"tb_value": 79.0,
"tb_rank": 856,
"bb_value": 21.0,
"bb_rank": 133,
"so_value": 17.0,
"so_rank": 377,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3894736,
"obp_rank": "-",
"slg_value": 0.4787878,
"slg_rank": "-",
"ops_value": 0.8682614,
"ops_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 146.0,
"k_percent": 9.2,
"bb_percent": 11.4,
"woba": 0.388,
"xwoba": 0.379,
"xba": 0.299,
"xslg": 0.473,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 41.3,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 8.8,
"whiff_percent": 18.7,
"swing_percent": 42.8
},
"components": {
"expected_quality": 1.3549,
"regression_edge": -0.2571,
"xwoba_edge": 2.1143,
"xba_edge": 1.7429,
"xslg_edge": 1.4,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.3857,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "671732",
"player_name": "Lawrence Butler",
"offense_factor": 1.0159,
"quality_score": 0.2116,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "671732",
"espn_id": 4917919,
"player_name": "Lawrence Butler",
"team": "ATH",
"role": "batter",
"espn_rank": 554,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 554,
"gp_value": 64.0,
"gp_rank": 132,
"ab_value": 172.0,
"ab_rank": 194,
"r_value": 20.0,
"r_rank": 207,
"h_value": 32.0,
"h_rank": 247,
"avg_value": 0.1860465,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 4.0,
"hr_rank": 198,
"rbi_value": 17.0,
"rbi_rank": 236,
"tb_value": 48.0,
"tb_rank": 1516,
"bb_value": 20.0,
"bb_rank": 142,
"so_value": 50.0,
"so_rank": 128,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.2708333,
"obp_rank": "-",
"slg_value": 0.2790697,
"slg_rank": "-",
"ops_value": 0.549903,
"ops_rank": null,
"war_value": -0.85,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 154.0,
"k_percent": 26.2,
"bb_percent": 10.7,
"woba": 0.244,
"xwoba": 0.306,
"xba": 0.242,
"xslg": 0.363,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 5.6,
"whiff_percent": 29.5,
"swing_percent": 47.1
},
"components": {
"expected_quality": 0.0632,
"regression_edge": 1.7714,
"xwoba_edge": 0.0286,
"xba_edge": 0.1143,
"xslg_edge": -0.1714,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.9571,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "643446",
"player_name": "Jeff McNeil",
"offense_factor": 0.994,
"quality_score": -0.0805,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643446",
"espn_id": 33900,
"player_name": "Jeff McNeil",
"team": "ATH",
"role": "batter",
"espn_rank": 416,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 416,
"gp_value": 64.0,
"gp_rank": 132,
"ab_value": 206.0,
"ab_rank": 140,
"r_value": 16.0,
"r_rank": 245,
"h_value": 47.0,
"h_rank": 160,
"avg_value": 0.2281553,
"avg_rank": 125.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 15.0,
"rbi_rank": 254,
"tb_value": 62.0,
"tb_rank": 1564,
"bb_value": 20.0,
"bb_rank": 142,
"so_value": 32.0,
"so_rank": 250,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3030303,
"obp_rank": "125",
"slg_value": 0.3009708,
"slg_rank": "158",
"ops_value": 0.6040011,
"ops_rank": 33.0,
"war_value": -0.14,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 185.0,
"k_percent": 14.0,
"bb_percent": 8.3,
"woba": 0.277,
"xwoba": 0.304,
"xba": 0.267,
"xslg": 0.343,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 1.1,
"hard_hit_percent": 30.5,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 12.6,
"whiff_percent": 17.2,
"swing_percent": 55.0
},
"components": {
"expected_quality": -0.2369,
"regression_edge": 0.7714,
"xwoba_edge": -0.0286,
"xba_edge": 0.8286,
"xslg_edge": -0.4571,
"barrel_edge": -1.2889,
"hard_hit_edge": -1.1571,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": 0.8667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0235,
"raw_average_factor": 1.0235,
"team_espn_average_rank": 171.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "687462",
"player_name": "Spencer Horwitz",
"offense_factor": 0.9996,
"quality_score": -0.0052,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "687462",
"espn_id": 4228472,
"player_name": "Spencer Horwitz",
"team": "PIT",
"role": "batter",
"espn_rank": 99,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 99,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 217.0,
"ab_rank": 127,
"r_value": 29.0,
"r_rank": 121,
"h_value": 61.0,
"h_rank": 82,
"avg_value": 0.2811059,
"avg_rank": 28.0,
"2b_value": 8.0,
"2b_rank": 183,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 31.0,
"rbi_rank": 97,
"tb_value": 98.0,
"tb_rank": 624,
"bb_value": 34.0,
"bb_rank": 35,
"so_value": 37.0,
"so_rank": 206,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3822393,
"obp_rank": "16",
"slg_value": 0.4516129,
"slg_rank": "53",
"ops_value": 0.8338522,
"ops_rank": 37.0,
"war_value": 1.3,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 187.0,
"k_percent": 13.0,
"bb_percent": 13.0,
"woba": 0.374,
"xwoba": 0.332,
"xba": 0.232,
"xslg": 0.379,
"sweet_spot_percent": 27.7,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 33.7,
"exit_velocity_avg": 86.3,
"launch_angle_avg": 16.5,
"whiff_percent": 14.9,
"swing_percent": 41.1
},
"components": {
"expected_quality": 0.1882,
"regression_edge": -1.2,
"xwoba_edge": 0.7714,
"xba_edge": -0.1714,
"xslg_edge": 0.0571,
"barrel_edge": 0.1556,
"hard_hit_edge": -0.7,
"exit_velocity_edge": -1.0,
"sweet_spot_edge": -0.9333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "664040",
"player_name": "Brandon Lowe",
"offense_factor": 1.0684,
"quality_score": 0.9115,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664040",
"espn_id": 39961,
"player_name": "Brandon Lowe",
"team": "PIT",
"role": "batter",
"espn_rank": 25,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 25,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 254.0,
"ab_rank": 58,
"r_value": 43.0,
"r_rank": 29,
"h_value": 61.0,
"h_rank": 82,
"avg_value": 0.2401574,
"avg_rank": 103.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 17.0,
"hr_rank": 12,
"rbi_value": 46.0,
"rbi_rank": 14,
"tb_value": 130.0,
"tb_rank": 266,
"bb_value": 31.0,
"bb_rank": 49,
"so_value": 73.0,
"so_rank": 29,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3252595,
"obp_rank": "92",
"slg_value": 0.511811,
"slg_rank": "23",
"ops_value": 0.8370705,
"ops_rank": 115.0,
"war_value": 2.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 219.0,
"k_percent": 24.6,
"bb_percent": 10.9,
"woba": 0.367,
"xwoba": 0.356,
"xba": 0.251,
"xslg": 0.487,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 44.8,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 17.0,
"whiff_percent": 34.4,
"swing_percent": 48.5
},
"components": {
"expected_quality": 1.1159,
"regression_edge": -0.3143,
"xwoba_edge": 1.4571,
"xba_edge": 0.3714,
"xslg_edge": 1.6,
"barrel_edge": 1.1778,
"hard_hit_edge": 0.8857,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"offense_factor": 1.0163,
"quality_score": 0.2178,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656811",
"espn_id": 35183,
"player_name": "Ryan O'Hearn",
"team": "PIT",
"role": "batter",
"espn_rank": 229,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 229,
"gp_value": 57.0,
"gp_rank": 181,
"ab_value": 207.0,
"ab_rank": 138,
"r_value": 31.0,
"r_rank": 98,
"h_value": 57.0,
"h_rank": 101,
"avg_value": 0.2753623,
"avg_rank": 45.0,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 10.0,
"hr_rank": 60,
"rbi_value": 35.0,
"rbi_rank": 58,
"tb_value": 93.0,
"tb_rank": 890,
"bb_value": 20.0,
"bb_rank": 142,
"so_value": 52.0,
"so_rank": 118,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3419913,
"obp_rank": "66",
"slg_value": 0.4492753,
"slg_rank": "55",
"ops_value": 0.7912666,
"ops_rank": 11.0,
"war_value": 0.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 22.1,
"bb_percent": 8.8,
"woba": 0.354,
"xwoba": 0.326,
"xba": 0.257,
"xslg": 0.412,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 44.2,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 12.2,
"whiff_percent": 22.7,
"swing_percent": 45.1
},
"components": {
"expected_quality": 0.4398,
"regression_edge": -0.8,
"xwoba_edge": 0.6,
"xba_edge": 0.5429,
"xslg_edge": 0.5286,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.8,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.35,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"offense_factor": 1.0636,
"quality_score": 0.8477,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668804",
"espn_id": 38980,
"player_name": "Bryan Reynolds",
"team": "PIT",
"role": "batter",
"espn_rank": 27,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 27,
"gp_value": 72.0,
"gp_rank": 4,
"ab_value": 256.0,
"ab_rank": 49,
"r_value": 46.0,
"r_rank": 13,
"h_value": 69.0,
"h_rank": 43,
"avg_value": 0.2695312,
"avg_rank": 51.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 42.0,
"rbi_rank": 24,
"tb_value": 113.0,
"tb_rank": 366,
"bb_value": 48.0,
"bb_rank": 6,
"so_value": 66.0,
"so_rank": 50,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3922829,
"obp_rank": "9",
"slg_value": 0.4414062,
"slg_rank": "65",
"ops_value": 0.8336891,
"ops_rank": 74.0,
"war_value": 2.47,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 21.6,
"bb_percent": 15.0,
"woba": 0.361,
"xwoba": 0.362,
"xba": 0.258,
"xslg": 0.432,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 44.4,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 5.1,
"whiff_percent": 28.4,
"swing_percent": 43.8
},
"components": {
"expected_quality": 0.981,
"regression_edge": 0.0286,
"xwoba_edge": 1.6286,
"xba_edge": 0.5714,
"xslg_edge": 0.8143,
"barrel_edge": 0.4667,
"hard_hit_edge": 0.8286,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "693304",
"player_name": "Nick Gonzales",
"offense_factor": 1.0181,
"quality_score": 0.2418,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693304",
"espn_id": 4311634,
"player_name": "Nick Gonzales",
"team": "PIT",
"role": "batter",
"espn_rank": 146,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 146,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 246.0,
"ab_rank": 83,
"r_value": 37.0,
"r_rank": 59,
"h_value": 74.0,
"h_rank": 24,
"avg_value": 0.300813,
"avg_rank": 14.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 31.0,
"rbi_rank": 97,
"tb_value": 91.0,
"tb_rank": 1379,
"bb_value": 16.0,
"bb_rank": 186,
"so_value": 46.0,
"so_rank": 144,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.3520599,
"obp_rank": "47",
"slg_value": 0.3699186,
"slg_rank": "119",
"ops_value": 0.7219785,
"ops_rank": 72.0,
"war_value": 0.85,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 17.5,
"bb_percent": 6.1,
"woba": 0.321,
"xwoba": 0.329,
"xba": 0.296,
"xslg": 0.398,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 3.0,
"hard_hit_percent": 37.9,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 6.3,
"whiff_percent": 23.6,
"swing_percent": 53.4
},
"components": {
"expected_quality": 0.2767,
"regression_edge": 0.2286,
"xwoba_edge": 0.6857,
"xba_edge": 1.6571,
"xslg_edge": 0.3286,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.1,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "682997",
"player_name": "Tyler Callihan",
"offense_factor": 1.0315,
"quality_score": 0.4194,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682997",
"espn_id": 42487,
"player_name": "Tyler Callihan",
"team": "PIT",
"role": "batter",
"espn_rank": 220,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 220,
"gp_value": 10.0,
"gp_rank": 482,
"ab_value": 23.0,
"ab_rank": 483,
"r_value": 6.0,
"r_rank": 391,
"h_value": 8.0,
"h_rank": 429,
"avg_value": 0.347826,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 384,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 6.0,
"rbi_rank": 379,
"tb_value": 18.0,
"tb_rank": 1826,
"bb_value": 6.0,
"bb_rank": 350,
"so_value": 7.0,
"so_rank": 467,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.5,
"obp_rank": "-",
"slg_value": 0.7826086,
"slg_rank": "-",
"ops_value": 1.2826086,
"ops_rank": null,
"war_value": 0.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 3.0,
"k_percent": 23.1,
"bb_percent": 23.1,
"woba": 0.549,
"xwoba": 0.373,
"xba": 0.186,
"xslg": 0.473,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 21.4,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 26.4,
"whiff_percent": 23.2,
"swing_percent": 50.5
},
"components": {
"expected_quality": 1.4093,
"regression_edge": -2.0,
"xwoba_edge": 1.9429,
"xba_edge": -1.4857,
"xslg_edge": 1.4,
"barrel_edge": 2.5,
"hard_hit_edge": 0.6143,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "C",
"player_id": "682848",
"player_name": "Endy Rodríguez",
"offense_factor": 1.0285,
"quality_score": 0.3806,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682848",
"espn_id": 4712767,
"player_name": "Endy Rodriguez",
"team": "PIT",
"role": "batter",
"espn_rank": 248,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 248,
"gp_value": 21.0,
"gp_rank": 400,
"ab_value": 53.0,
"ab_rank": 402,
"r_value": 9.0,
"r_rank": 348,
"h_value": 12.0,
"h_rank": 391,
"avg_value": 0.226415,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 6.0,
"rbi_rank": 379,
"tb_value": 21.0,
"tb_rank": 1997,
"bb_value": 14.0,
"bb_rank": 208,
"so_value": 16.0,
"so_rank": 387,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3880597,
"obp_rank": "-",
"slg_value": 0.3962264,
"slg_rank": "-",
"ops_value": 0.7842861,
"ops_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 20.0,
"k_percent": 23.9,
"bb_percent": 20.9,
"woba": 0.364,
"xwoba": 0.358,
"xba": 0.221,
"xslg": 0.407,
"sweet_spot_percent": 41.7,
"barrel_batted_rate": 13.9,
"hard_hit_percent": 41.7,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 26.7,
"whiff_percent": 22.1,
"swing_percent": 41.7
},
"components": {
"expected_quality": 1.0115,
"regression_edge": -0.1714,
"xwoba_edge": 1.5143,
"xba_edge": -0.4857,
"xslg_edge": 0.4571,
"barrel_edge": 1.5556,
"hard_hit_edge": 0.4429,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 1.4,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "663968",
"player_name": "Jake Mangum",
"offense_factor": 0.9725,
"quality_score": -0.3665,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663968",
"espn_id": 42664,
"player_name": "Jake Mangum",
"team": "PIT",
"role": "batter",
"espn_rank": 173,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 173,
"gp_value": 52.0,
"gp_rank": 213,
"ab_value": 139.0,
"ab_rank": 247,
"r_value": 19.0,
"r_rank": 216,
"h_value": 42.0,
"h_rank": 185,
"avg_value": 0.3021582,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 11.0,
"rbi_rank": 299,
"tb_value": 50.0,
"tb_rank": 1898,
"bb_value": 10.0,
"bb_rank": 277,
"so_value": 27.0,
"so_rank": 289,
"sb_value": 13.0,
"sb_rank": 16,
"obp_value": 0.3552631,
"obp_rank": "-",
"slg_value": 0.3597122,
"slg_rank": "-",
"ops_value": 0.7149753,
"ops_rank": null,
"war_value": 0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 97.0,
"k_percent": 17.9,
"bb_percent": 6.6,
"woba": 0.317,
"xwoba": 0.283,
"xba": 0.255,
"xslg": 0.317,
"sweet_spot_percent": 25.9,
"barrel_batted_rate": 0.9,
"hard_hit_percent": 25.9,
"exit_velocity_avg": 83.9,
"launch_angle_avg": 3.8,
"whiff_percent": 18.8,
"swing_percent": 59.8
},
"components": {
"expected_quality": -0.7889,
"regression_edge": -0.9714,
"xwoba_edge": -0.6286,
"xba_edge": 0.4857,
"xslg_edge": -0.8286,
"barrel_edge": -1.3333,
"hard_hit_edge": -1.8143,
"exit_velocity_edge": -1.96,
"sweet_spot_edge": -1.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"offense_factor": 1.0132,
"quality_score": 0.1758,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699013",
"espn_id": 5137200,
"player_name": "Esmerlyn Valdez",
"team": "PIT",
"role": "batter",
"espn_rank": 379,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 379,
"gp_value": 7.0,
"gp_rank": 508,
"ab_value": 19.0,
"ab_rank": 496,
"r_value": 2.0,
"r_rank": 467,
"h_value": 2.0,
"h_rank": 507,
"avg_value": 0.1052631,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 482,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 5.0,
"rbi_rank": 396,
"tb_value": 8.0,
"tb_rank": 2248,
"bb_value": 2.0,
"bb_rank": 440,
"so_value": 10.0,
"so_rank": 437,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.1904761,
"obp_rank": "-",
"slg_value": 0.4210526,
"slg_rank": "-",
"ops_value": 0.6115287,
"ops_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 18.0,
"k_percent": 47.6,
"bb_percent": 9.5,
"woba": 0.263,
"xwoba": 0.283,
"xba": 0.146,
"xslg": 0.43,
"sweet_spot_percent": 44.4,
"barrel_batted_rate": 33.3,
"hard_hit_percent": 66.7,
"exit_velocity_avg": 94.9,
"launch_angle_avg": 17.8,
"whiff_percent": 41.0,
"swing_percent": 45.3
},
"components": {
"expected_quality": 0.3613,
"regression_edge": 0.5714,
"xwoba_edge": -0.6286,
"xba_edge": -2.5,
"xslg_edge": 0.7857,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.44,
"sweet_spot_edge": 1.85,
"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 PIT | True | 321 | -0.1780 | 0.4500 | 1.0151 | 1.0278 | 0.9955 | 1.0586 | neutral | 0.3540 | 0.3430 | 24.10 | 8.60 | 34.90 | 10.30 | 46.20 | |
| Home OAK | True | 17 | 0.1132 | 0.8640 | 0.9904 | 1.0069 | 1.0207 | 0.9743 | neutral | 0.3070 | 0.2890 | 22.40 | 10.30 | 27.20 | 6.30 | 37.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away PIT | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home OAK | True | None | 91 | 91.59 | 2017 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1041 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9917 |
| home_runs_vs_away_pitcher | 1.0068 |
| home_pitcher_quality_edge | 0.2912 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669372",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 22.4,
"bb_percent": 10.3,
"woba": 0.289,
"xwoba": 0.307,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 37.7,
"avg_best_speed": 76.7999,
"avg_hyper_speed": 93.9306,
"whiff_percent": 27.2,
"swing_percent": 46.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.3083,
"command_and_miss": 0.0057,
"regression_edge": -0.5143,
"xwoba_edge": 0.2286,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.1286,
"whiff_edge": 0.2429,
"bb_edge": -0.3,
"pitch_design_score": 0.1041
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669372",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5862,
"release_spin_rate": 2016.7389,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1041,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7433,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1132,
"sample_weight": 0.864,
"run_prevention_factor": 0.9904,
"strikeout_factor": 1.0069,
"walk_factor": 1.0207,
"homer_factor": 0.9743,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669372",
"espn_id": 4414002,
"player_name": "J.T. Ginn",
"team": "ATH",
"role": "pitcher",
"espn_rank": 17,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 17,
"gp_value": 15.0,
"gp_rank": 222,
"gs_value": 12.0,
"gs_rank": 83,
"qs_value": 5.0,
"qs_rank": 45,
"era_value": 3.1542,
"era_rank": 19.0,
"w_value": 4.0,
"w_rank": 59,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 71.1,
"ip_rank": 66,
"h_value": 52.0,
"h_rank": 110,
"er_value": 25.0,
"er_rank": 105,
"hr_value": 8.0,
"hr_rank": 74,
"bb_value": 30.0,
"bb_rank": 22,
"k_value": 65.0,
"k_rank": 61,
"k_per_9_value": 8.200934,
"k_per_9_rank": 24,
"whip_value": 1.1495,
"whip_rank": 29.0,
"war_value": 2.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "683003",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 24.1,
"bb_percent": 8.6,
"woba": 0.343,
"xwoba": 0.354,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 46.2,
"avg_best_speed": 79.158,
"avg_hyper_speed": 94.6407,
"whiff_percent": 34.9,
"swing_percent": 48.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.9218,
"command_and_miss": 0.585,
"regression_edge": -0.3143,
"xwoba_edge": -1.1143,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.0857,
"whiff_edge": 1.3429,
"bb_edge": 0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683003",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.178,
"sample_weight": 0.45,
"run_prevention_factor": 1.0151,
"strikeout_factor": 1.0278,
"walk_factor": 0.9955,
"homer_factor": 1.0586,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683003",
"espn_id": 4918156,
"player_name": "Jared Jones",
"team": "PIT",
"role": "pitcher",
"espn_rank": 321,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 321,
"gp_value": 3.0,
"gp_rank": 539,
"gs_value": 3.0,
"gs_rank": 186,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.725,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 13.1,
"ip_rank": 443,
"h_value": 14.0,
"h_rank": 420,
"er_value": 7.0,
"er_rank": 416,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 5.0,
"bb_rank": 466,
"k_value": 14.0,
"k_rank": 418,
"k_per_9_value": 9.450001,
"k_per_9_rank": 25,
"whip_value": 1.425,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9917,
"home_runs_vs_away_pitcher": 1.0068,
"home_pitcher_quality_edge": 0.2912
},
"score_before": {
"away_runs": 1.9639,
"home_runs": 2.2658
},
"score_after": {
"away_runs": 1.9476,
"home_runs": 2.2812,
"home_win_probability": 0.5336
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away PIT | 18-42 | 0.300 | 1.40 | 3.80 | -143 | cold | average | |
| Home OAK | 19-44 | 0.302 | 1.30 | 4 | -165 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away PIT | 36-36 | 0.500 | 14 | 0.194 | True |
| Home OAK | 35-36 | 0.493 | -51 | -0.718 | True |
| Signal | - | - | -0.913 | -0.923 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target PIT | - | - | 3 | - | - | - | - |
| Game target OAK | - | - | 2 | - | - | - | - |
| Player finalized PIT | 32 | 9 | 4 | 0 | 5 | 4 | 9 |
| Player finalized OAK | 33 | 9 | 4 | 0 | 4 | 2 | 6 |
| Player model fractional PIT | 30.96 | 7.57 | 4.59 | 1.23 | 4.23 | 3.67 | 7.96 |
| Player model fractional OAK | 32.57 | 7.73 | 4.41 | 1.37 | 4.30 | 3.35 | 7.12 |
| Simulation box PIT | 34 | 8 | 4 | 1 | 4 | 4 | 8 |
| Simulation box OAK | 35 | 8 | 3 | 0 | 3 | 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 PIT | Starter | Jared Jones | 4.10 | 1 | 4 | 5 | 0 | 4.56 | 1.37 | True |
| Away PIT | Middle Reliever | Carmen Mlodzinski | 1.10 | 0 | 2 | 0 | 1 | 3.98 | 1.34 | True |
| Away PIT | Middle Reliever | Dennis Santana | 1 | 0 | 0 | 0 | 0 | 4.57 | 1.47 | True |
| Away PIT | Middle Reliever | Evan Sisk | 1.10 | 0 | 2 | 2 | 0 | 3.46 | 1.33 | True |
| Away PIT | Middle Reliever | Gregory Soto | 1 | 2 | 1 | 1 | 1 | 4.03 | 1.10 | True |
| Home OAK | Starter | J.T. Ginn | 5.20 | 2 | 6 | 5 | 1 | 3.49 | 1.18 | True |
| Home OAK | Middle Reliever | Hogan Harris | 1.10 | 0 | 1 | 1 | 0 | 3.41 | 1.22 | True |
| Home OAK | Middle Reliever | Mark Leiter Jr. | 1 | 2 | 1 | 2 | 3 | 3.35 | 1.18 | True |
| Home OAK | Middle Reliever | Scott Barlow | 1 | 0 | 0 | 0 | 0 | 9.28 | 1.90 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | PIT | batter | SS | Nick Gonzales | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -1.9100 | deboost | worse |
| home | OAK | batter | CF | Henry Bolte | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.8850 | boost | worse |
| home | OAK | batter | 3B | Zack Gelof | neutral | 10 | 5 | 5 | 5 | 5 | predicted_RBI | 1.8000 | boost | better |
| away | PIT | batter | RF | Ryan O'Hearn | better | 10 | 7 | 3 | 8 | 2 | predicted_RBI | 1.4900 | boost | better |
| home | OAK | batter | SS | Jacob Wilson | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -1.3600 | deboost | worse |
| home | OAK | batter | 1B | Nick Kurtz | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -1.3000 | deboost | better |
| away | PIT | batter | LF | Esmerlyn Valdez | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 1.2860 | boost | better |
| away | PIT | batter | CF | Jake Mangum | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | 1.2500 | boost | better |
| away | PIT | batter | 1B | Spencer Horwitz | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | 1.2400 | boost | better |
| away | PIT | batter | C | Endy Rodríguez | better | 11 | 8 | 3 | 7 | 4 | predicted_SO | 1.2000 | boost | worse |
| home | OAK | batter | C | Shea Langeliers | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -1.1400 | deboost | worse |
| home | OAK | batter | DH | Carlos Cortes | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | 1.1050 | boost | better |
| home | OAK | batter | RF | Lawrence Butler | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 1.0850 | boost | better |
| home | OAK | batter | LF | Tyler Soderstrom | boosted | 10 | 6 | 4 | 5 | 5 | predicted_H | 1.0200 | boost | better |
| away | PIT | batter | DH | Bryan Reynolds | better | 11 | 7 | 4 | 6 | 5 | predicted_3B | 0.9720 | boost | better |
| away | PIT | batter | 3B | Tyler Callihan | worse | 12 | 4 | 8 | 3 | 9 | predicted_RBI | 0.8000 | boost | better |
| home | OAK | batter | 2B | Jeff McNeil | worse | 11 | 4 | 7 | 5 | 6 | predicted_RBI | 0.7500 | boost | better |
| away | PIT | batter | 2B | Brandon Lowe | worse | 9 | 3 | 6 | 4 | 5 | predicted_AB | 0.7200 | boost | better |
| away | PIT | pitcher | Starter | Jared Jones | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.5667 | deboost | worse |
| home | OAK | pitcher | Starter | J.T. Ginn | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | PIT | pitcher | Middle Reliever | Carmen Mlodzinski | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | PIT | pitcher | Middle Reliever | Evan Sisk | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | OAK | pitcher | Middle Reliever | Hogan Harris | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Jared Jones |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1780 |
| ESPN Rank | 321 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4.1000 |
| Pre ER | 1 |
| Pre H | 5 |
| Pre BB | 0 |
| Pre SO | 4 |
| Season ERA | 4.7250 |
| Season WHIP | 1.4250 |
| Role Avg IP | 4.4440 |
| Recent Avg IP | 4.4440 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"opponent": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"edges": {
"quality_edge": 0.017,
"offense_edge": 0.0771,
"opponent_offense_edge": 0.0236,
"defense_strength": -0.0592,
"opponent_defense_weakness": 0.143,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.998,
"run_prevention": 1.0088,
"strikeout": 0.9986
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683003",
"profile": {
"available": true,
"pitcher_id": "683003",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 24.1,
"bb_percent": 8.6,
"woba": 0.343,
"xwoba": 0.354,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 46.2,
"avg_best_speed": 79.158,
"avg_hyper_speed": 94.6407,
"whiff_percent": 34.9,
"swing_percent": 48.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.9218,
"command_and_miss": 0.585,
"regression_edge": -0.3143,
"xwoba_edge": -1.1143,
"barrel_edge": -0.6667,
"hard_hit_edge": -1.0857,
"whiff_edge": 1.3429,
"bb_edge": 0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "683003",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.178,
"sample_weight": 0.45,
"run_prevention_factor": 1.0151,
"strikeout_factor": 1.0278,
"walk_factor": 0.9955,
"homer_factor": 1.0586,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683003",
"espn_id": 4918156,
"player_name": "Jared Jones",
"team": "PIT",
"role": "pitcher",
"espn_rank": 321,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 321,
"gp_value": 3.0,
"gp_rank": 539,
"gs_value": 3.0,
"gs_rank": 186,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.725,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 13.1,
"ip_rank": 443,
"h_value": 14.0,
"h_rank": 420,
"er_value": 7.0,
"er_rank": 416,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 5.0,
"bb_rank": 466,
"k_value": 14.0,
"k_rank": 418,
"k_per_9_value": 9.450001,
"k_per_9_rank": 25,
"whip_value": 1.425,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0068,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0068,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.998,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0264,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0125,
"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": 13.1,
"ER": 7,
"H": 14,
"BB": 5,
"SO": 14,
"HR": 2,
"ERA": 4.7250000000000005,
"WHIP": 1.425,
"K9": 9.450000000000001,
"HR9": 1.35,
"games_pitched": 3,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 3,
"error_prone": false
},
"games_count": 3,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": false,
"pitcher_id": "683003",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"role": "pitcher",
"player_id": "683003",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 3,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 3,
"totals": {
"IP": 13.1,
"ER": 7.0,
"R": 7.0,
"H": 14.0,
"BB": 5.0,
"SO": 14.0,
"HR": 2.0,
"BF": 58.0,
"Pitches": 226.0
},
"per_game": {
"IP": 4.1,
"ER": 2.3333,
"R": 2.3333,
"H": 4.6667,
"BB": 1.6667,
"SO": 4.6667,
"HR": 0.6667,
"BF": 19.3333,
"Pitches": 75.3333
},
"rates": {
"ERA": 4.725,
"WHIP": 1.425,
"ER_per_IP": 0.525,
"H_per_IP": 1.05,
"BB_per_IP": 0.375,
"SO_per_IP": 1.05,
"HR_per_IP": 0.15
}
},
"last_10": {
"games": 3,
"totals": {
"IP": 13.1,
"ER": 7.0,
"R": 7.0,
"H": 14.0,
"BB": 5.0,
"SO": 14.0,
"HR": 2.0,
"BF": 58.0,
"Pitches": 226.0
},
"per_game": {
"IP": 4.1,
"ER": 2.3333,
"R": 2.3333,
"H": 4.6667,
"BB": 1.6667,
"SO": 4.6667,
"HR": 0.6667,
"BF": 19.3333,
"Pitches": 75.3333
},
"rates": {
"ERA": 4.725,
"WHIP": 1.425,
"ER_per_IP": 0.525,
"H_per_IP": 1.05,
"BB_per_IP": 0.375,
"SO_per_IP": 1.05,
"HR_per_IP": 0.15
}
},
"season": {
"games": 3,
"totals": {
"IP": 13.1,
"ER": 7.0,
"R": 7.0,
"H": 14.0,
"BB": 5.0,
"SO": 14.0,
"HR": 2.0,
"BF": 58.0,
"Pitches": 226.0
},
"per_game": {
"IP": 4.1,
"ER": 2.3333,
"R": 2.3333,
"H": 4.6667,
"BB": 1.6667,
"SO": 4.6667,
"HR": 0.6667,
"BF": 19.3333,
"Pitches": 75.3333
},
"rates": {
"ERA": 4.725,
"WHIP": 1.425,
"ER_per_IP": 0.525,
"H_per_IP": 1.05,
"BB_per_IP": 0.375,
"SO_per_IP": 1.05,
"HR_per_IP": 0.15
}
}
},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.303,
"predicted_H": 4.548,
"predicted_BB": 1.663,
"predicted_SO": 4.439,
"predicted_HR": 0.668,
"predicted_ERA": 4.5646,
"predicted_WHIP": 1.3676
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6141,
"form_weight": 0.3859,
"form_reliability": 0.375,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.375,
"prior_weight": 0.625
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.303,
"final": 1.5029,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.548,
"final": 4.8256,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.663,
"final": 0.6418,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.439,
"final": 4.1694,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.668,
"final": 0.2578,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5646,
"final": 4.5646,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3676,
"final": 1.3676,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Carmen Mlodzinski |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.5421 |
| ESPN Rank | 117 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0078 |
| Avg Velo | 89.5889 |
| Avg Spin | 2039.5386 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 4.0213 |
| Season WHIP | 1.4043 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"opponent": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"edges": {
"quality_edge": 0.017,
"offense_edge": 0.0771,
"opponent_offense_edge": 0.0236,
"defense_strength": -0.0592,
"opponent_defense_weakness": 0.143,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.998,
"run_prevention": 1.0088,
"strikeout": 0.9986
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669387",
"profile": {
"available": true,
"pitcher_id": "669387",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 219.0,
"k_percent": 19.3,
"bb_percent": 8.5,
"woba": 0.325,
"xwoba": 0.348,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 50.5,
"avg_best_speed": 81.9966,
"avg_hyper_speed": 95.4465,
"whiff_percent": 21.3,
"swing_percent": 44.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.8015,
"command_and_miss": -0.3986,
"regression_edge": -0.6571,
"xwoba_edge": -0.9429,
"barrel_edge": -0.1111,
"hard_hit_edge": -1.7,
"whiff_edge": -0.6,
"bb_edge": 0.15,
"pitch_design_score": -0.0078
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669387",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 78,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 89.58893299968382,
"release_spin_rate": 2039.538621564447,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 89.58893299968382,
"release_spin_rate": 2039.538621564447,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5889,
"release_spin_rate": 2039.5386,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0078,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0556,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.5421,
"sample_weight": 0.876,
"run_prevention_factor": 1.0461,
"strikeout_factor": 0.962,
"walk_factor": 0.9895,
"homer_factor": 1.0921,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669387",
"espn_id": 4298378,
"player_name": "Carmen Mlodzinski",
"team": "PIT",
"role": "pitcher",
"espn_rank": 117,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 117,
"gp_value": 13.0,
"gp_rank": 308,
"gs_value": 9.0,
"gs_rank": 120,
"qs_value": 1.0,
"qs_rank": 132,
"era_value": 4.0212,
"era_rank": null,
"w_value": 4.0,
"w_rank": 59,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 62.2,
"ip_rank": 99,
"h_value": 65.0,
"h_rank": 69,
"er_value": 28.0,
"er_rank": 94,
"hr_value": 5.0,
"hr_rank": 150,
"bb_value": 23.0,
"bb_rank": 72,
"k_value": 52.0,
"k_rank": 98,
"k_per_9_value": 7.468085,
"k_per_9_rank": 26,
"whip_value": 1.4042,
"whip_rank": null,
"war_value": 0.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0404,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0404,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9908,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0807,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9667,
"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": 48.1,
"ER": 24,
"H": 48,
"BB": 17,
"SO": 37,
"HR": 5,
"ERA": 4.468965517241379,
"WHIP": 1.3448275862068966,
"K9": 6.889655172413793,
"HR9": 0.9310344827586207,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-10T00:00:00"
}{
"available": true,
"pitcher_id": "669387",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 78,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 89.58893299968382,
"release_spin_rate": 2039.538621564447,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 89.58893299968382,
"release_spin_rate": 2039.538621564447,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.5889,
"release_spin_rate": 2039.5386,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0078,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0556,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"role": "pitcher",
"player_id": "669387",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.2,
"ER": 8.0,
"R": 8.0,
"H": 20.0,
"BB": 10.0,
"SO": 11.0,
"HR": 3.0,
"BF": 93.0,
"Pitches": 388.0
},
"per_game": {
"IP": 4.2,
"ER": 1.6,
"R": 1.6,
"H": 4.0,
"BB": 2.0,
"SO": 2.2,
"HR": 0.6,
"BF": 18.6,
"Pitches": 77.6
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.3235,
"ER_per_IP": 0.35294,
"H_per_IP": 0.88235,
"BB_per_IP": 0.44118,
"SO_per_IP": 0.48529,
"HR_per_IP": 0.13235
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 48.1,
"ER": 24.0,
"R": 25.0,
"H": 48.0,
"BB": 17.0,
"SO": 37.0,
"HR": 5.0,
"BF": 206.0,
"Pitches": 818.0
},
"per_game": {
"IP": 4.2,
"ER": 2.4,
"R": 2.5,
"H": 4.8,
"BB": 1.7,
"SO": 3.7,
"HR": 0.5,
"BF": 20.6,
"Pitches": 81.8
},
"rates": {
"ERA": 4.469,
"WHIP": 1.3448,
"ER_per_IP": 0.49655,
"H_per_IP": 0.9931,
"BB_per_IP": 0.35172,
"SO_per_IP": 0.76552,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 13,
"totals": {
"IP": 62.2,
"ER": 28.0,
"R": 29.0,
"H": 65.0,
"BB": 23.0,
"SO": 52.0,
"HR": 5.0,
"BF": 270.0,
"Pitches": 1068.0
},
"per_game": {
"IP": 4.2,
"ER": 2.1538,
"R": 2.2308,
"H": 5.0,
"BB": 1.7692,
"SO": 4.0,
"HR": 0.3846,
"BF": 20.7692,
"Pitches": 82.1538
},
"rates": {
"ERA": 4.0213,
"WHIP": 1.4043,
"ER_per_IP": 0.44681,
"H_per_IP": 1.03723,
"BB_per_IP": 0.36702,
"SO_per_IP": 0.82979,
"HR_per_IP": 0.07979
}
}
},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.656,
"predicted_H": 3.582,
"predicted_BB": 1.442,
"predicted_SO": 2.732,
"predicted_HR": 0.453,
"predicted_ERA": 3.9841,
"predicted_WHIP": 1.3432
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4674,
"form_weight": 0.5326,
"form_reliability": 0.7222,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 3.2,
"final": 2.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.656,
"final": 0.882,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 3.582,
"final": 1.9079,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.442,
"final": 1.2354,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 2.732,
"final": 2.3899,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.453,
"final": 0.2413,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9841,
"final": 3.9841,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3432,
"final": 1.3432,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Dennis Santana |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2620 |
| ESPN Rank | 438 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0040 |
| Avg Velo | 89.7993 |
| Avg Spin | 2454.4801 |
| 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 | 4.1786 |
| Season WHIP | 1.3929 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"opponent": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"edges": {
"quality_edge": 0.017,
"offense_edge": 0.0771,
"opponent_offense_edge": 0.0236,
"defense_strength": -0.0592,
"opponent_defense_weakness": 0.143,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.998,
"run_prevention": 1.0088,
"strikeout": 0.9986
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642701",
"profile": {
"available": true,
"pitcher_id": "642701",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 103.0,
"k_percent": 17.3,
"bb_percent": 12.6,
"woba": 0.344,
"xwoba": 0.349,
"sweet_spot_percent": 40.2,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 40.2,
"avg_best_speed": 78.3937,
"avg_hyper_speed": 93.7969,
"whiff_percent": 23.6,
"swing_percent": 49.3
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.7282,
"command_and_miss": -0.6171,
"regression_edge": -0.1429,
"xwoba_edge": -0.9714,
"barrel_edge": -0.4222,
"hard_hit_edge": -0.2286,
"whiff_edge": -0.2714,
"bb_edge": -0.875,
"pitch_design_score": 0.004
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642701",
"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": 89.7993222392863,
"release_spin_rate": 2454.4800941257927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 89.7993222392863,
"release_spin_rate": 2454.4800941257927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7993,
"release_spin_rate": 2454.4801,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.004,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0285,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.262,
"sample_weight": 0.45,
"run_prevention_factor": 1.0223,
"strikeout_factor": 0.9812,
"walk_factor": 1.0315,
"homer_factor": 1.0324,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642701",
"espn_id": 39801,
"player_name": "Dennis Santana",
"team": "PIT",
"role": "pitcher",
"espn_rank": 438,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 438,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.8214,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 4.0,
"hld_rank": 113,
"ip_value": 28.0,
"ip_rank": 272,
"h_value": 27.0,
"h_rank": 236,
"er_value": 15.0,
"er_rank": 203,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 16.0,
"bb_rank": 171,
"k_value": 22.0,
"k_rank": 327,
"k_per_9_value": 7.0714283,
"k_per_9_rank": 32,
"whip_value": 1.5357,
"whip_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.01,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.01,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0142,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0146,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9915,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 6,
"H": 9,
"BB": 7,
"SO": 12,
"HR": 1,
"ERA": 5.586206896551724,
"WHIP": 1.6551724137931036,
"K9": 11.172413793103448,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-11T00:00:00"
}{
"available": true,
"pitcher_id": "642701",
"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": 89.7993222392863,
"release_spin_rate": 2454.4800941257927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 22,
"pitch_usage": 0.0,
"release_speed": 89.7993222392863,
"release_spin_rate": 2454.4800941257927,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7993,
"release_spin_rate": 2454.4801,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.004,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0285,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"role": "pitcher",
"player_id": "642701",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 3.0,
"SO": 5.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.6,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.6154,
"ER_per_IP": 0.46154,
"H_per_IP": 0.92308,
"BB_per_IP": 0.69231,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 7.0,
"SO": 12.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 174.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.7,
"SO": 1.2,
"HR": 0.1,
"BF": 4.6,
"Pitches": 17.4
},
"rates": {
"ERA": 5.5862,
"WHIP": 1.6552,
"ER_per_IP": 0.62069,
"H_per_IP": 0.93103,
"BB_per_IP": 0.72414,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 29,
"totals": {
"IP": 28.0,
"ER": 13.0,
"R": 14.0,
"H": 23.0,
"BB": 16.0,
"SO": 22.0,
"HR": 3.0,
"BF": 123.0,
"Pitches": 473.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4483,
"R": 0.4828,
"H": 0.7931,
"BB": 0.5517,
"SO": 0.7586,
"HR": 0.1034,
"BF": 4.2414,
"Pitches": 16.3103
},
"rates": {
"ERA": 4.1786,
"WHIP": 1.3929,
"ER_per_IP": 0.46429,
"H_per_IP": 0.82143,
"BB_per_IP": 0.57143,
"SO_per_IP": 0.78571,
"HR_per_IP": 0.10714
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.508,
"predicted_H": 0.937,
"predicted_BB": 0.528,
"predicted_SO": 1.027,
"predicted_HR": 0.099,
"predicted_ERA": 4.5692,
"predicted_WHIP": 1.4655
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5503,
"form_weight": 0.4497,
"form_reliability": 0.5258,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.508,
"final": 0.2284,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.937,
"final": 0.4213,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.528,
"final": 0.2374,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.027,
"final": 0.4618,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.099,
"final": 0.0445,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5692,
"final": 4.5692,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4655,
"final": 1.4655,
"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 | Evan Sisk |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4421 |
| ESPN Rank | 92 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.8000 |
| Season WHIP | 1.1333 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"opponent": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"edges": {
"quality_edge": 0.017,
"offense_edge": 0.0771,
"opponent_offense_edge": 0.0236,
"defense_strength": -0.0592,
"opponent_defense_weakness": 0.143,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.998,
"run_prevention": 1.0088,
"strikeout": 0.9986
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681895",
"profile": {
"available": true,
"pitcher_id": "681895",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 88.0,
"k_percent": 30.3,
"bb_percent": 9.2,
"woba": 0.286,
"xwoba": 0.248,
"sweet_spot_percent": 27.9,
"barrel_batted_rate": 2.9,
"hard_hit_percent": 29.4,
"avg_best_speed": 74.7065,
"avg_hyper_speed": 92.4076,
"whiff_percent": 25.8,
"swing_percent": 42.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.3288,
"command_and_miss": 0.4986,
"regression_edge": 1.0857,
"xwoba_edge": 1.9143,
"barrel_edge": 0.9778,
"hard_hit_edge": 1.3143,
"whiff_edge": 0.0429,
"bb_edge": -0.025,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681895",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4421,
"sample_weight": 0.45,
"run_prevention_factor": 0.9624,
"strikeout_factor": 1.0203,
"walk_factor": 1.0009,
"homer_factor": 0.9153,
"woba_minus_xwoba": 0.038,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681895",
"espn_id": 3994084,
"player_name": "Evan Sisk",
"team": "PIT",
"role": "pitcher",
"espn_rank": 92,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 92,
"gp_value": 26.0,
"gp_rank": 111,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.8,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 3.0,
"hld_rank": 139,
"ip_value": 30.0,
"ip_rank": 240,
"h_value": 23.0,
"h_rank": 281,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 36.0,
"k_rank": 181,
"k_per_9_value": 10.8,
"k_per_9_rank": 20,
"whip_value": 1.1333,
"whip_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9831,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9619,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0091,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 2,
"H": 7,
"BB": 4,
"SO": 12,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.1,
"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-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "681895",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"role": "pitcher",
"player_id": "681895",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 109.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.6,
"Pitches": 21.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.6,
"ER_per_IP": 0.4,
"H_per_IP": 1.2,
"BB_per_IP": 0.4,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 4.0,
"SO": 12.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 182.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.7,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 18.2
},
"rates": {
"ERA": 1.8,
"WHIP": 1.1,
"ER_per_IP": 0.2,
"H_per_IP": 0.7,
"BB_per_IP": 0.4,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 30.0,
"ER": 6.0,
"R": 6.0,
"H": 23.0,
"BB": 11.0,
"SO": 36.0,
"HR": 1.0,
"BF": 122.0,
"Pitches": 530.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2308,
"R": 0.2308,
"H": 0.8846,
"BB": 0.4231,
"SO": 1.3846,
"HR": 0.0385,
"BF": 4.6923,
"Pitches": 20.3846
},
"rates": {
"ERA": 1.8,
"WHIP": 1.1333,
"ER_per_IP": 0.2,
"H_per_IP": 0.76667,
"BB_per_IP": 0.36667,
"SO_per_IP": 1.2,
"HR_per_IP": 0.03333
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.384,
"predicted_H": 0.954,
"predicted_BB": 0.379,
"predicted_SO": 1.078,
"predicted_HR": 0.07,
"predicted_ERA": 3.4593,
"predicted_WHIP": 1.3324
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5431,
"form_weight": 0.4569,
"form_reliability": 0.543,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.384,
"final": 0.1755,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.954,
"final": 1.5221,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.379,
"final": 0.1732,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.078,
"final": 1.5787,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.032,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4593,
"final": 3.4593,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3324,
"final": 1.3324,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Gregory Soto |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3376 |
| ESPN Rank | 175 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 2.3736 |
| Season WHIP | 0.7912 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"opponent": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"edges": {
"quality_edge": 0.017,
"offense_edge": 0.0771,
"opponent_offense_edge": 0.0236,
"defense_strength": -0.0592,
"opponent_defense_weakness": 0.143,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.998,
"run_prevention": 1.0088,
"strikeout": 0.9986
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "642397",
"profile": {
"available": true,
"pitcher_id": "642397",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 29.2,
"bb_percent": 10.0,
"woba": 0.236,
"xwoba": 0.262,
"sweet_spot_percent": 25.4,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 36.6,
"avg_best_speed": 72.5269,
"avg_hyper_speed": 93.1379,
"whiff_percent": 27.3,
"swing_percent": 42.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.2576,
"command_and_miss": 0.4629,
"regression_edge": -0.7429,
"xwoba_edge": 1.5143,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.2857,
"whiff_edge": 0.2571,
"bb_edge": -0.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "642397",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3376,
"sample_weight": 0.45,
"run_prevention_factor": 0.9713,
"strikeout_factor": 1.0213,
"walk_factor": 1.0081,
"homer_factor": 0.9608,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642397",
"espn_id": 39804,
"player_name": "Gregory Soto",
"team": "PIT",
"role": "pitcher",
"espn_rank": 175,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 175,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.2637,
"era_rank": null,
"w_value": 4.0,
"w_rank": 59,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 10.0,
"sv_rank": 14,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 30.1,
"ip_rank": 231,
"h_value": 16.0,
"h_rank": 391,
"er_value": 11.0,
"er_rank": 281,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 35.0,
"k_rank": 188,
"k_per_9_value": 10.384615,
"k_per_9_rank": 21,
"whip_value": 0.923,
"whip_rank": null,
"war_value": 0.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9871,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9871,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0096,
"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": 4,
"SO": 9,
"HR": 1,
"ERA": 4.0,
"WHIP": 1.0,
"K9": 9.0,
"HR9": 1.0,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "642397",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"role": "pitcher",
"player_id": "642397",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 30,
"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": 1.0,
"BF": 19.0,
"Pitches": 59.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.6,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 11.8
},
"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.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 5.0,
"R": 6.0,
"H": 7.0,
"BB": 4.0,
"SO": 9.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.6,
"H": 0.7,
"BB": 0.4,
"SO": 0.9,
"HR": 0.1,
"BF": 4.2,
"Pitches": 16.2
},
"rates": {
"ERA": 4.5,
"WHIP": 1.1,
"ER_per_IP": 0.5,
"H_per_IP": 0.7,
"BB_per_IP": 0.4,
"SO_per_IP": 0.9,
"HR_per_IP": 0.1
}
},
"season": {
"games": 30,
"totals": {
"IP": 30.1,
"ER": 8.0,
"R": 9.0,
"H": 13.0,
"BB": 11.0,
"SO": 35.0,
"HR": 2.0,
"BF": 116.0,
"Pitches": 469.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2667,
"R": 0.3,
"H": 0.4333,
"BB": 0.3667,
"SO": 1.1667,
"HR": 0.0667,
"BF": 3.8667,
"Pitches": 15.6333
},
"rates": {
"ERA": 2.3736,
"WHIP": 0.7912,
"ER_per_IP": 0.26374,
"H_per_IP": 0.42857,
"BB_per_IP": 0.36264,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.06593
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.448,
"predicted_H": 0.769,
"predicted_BB": 0.329,
"predicted_SO": 0.919,
"predicted_HR": 0.141,
"predicted_ERA": 4.0325,
"predicted_WHIP": 1.0986
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5419,
"form_weight": 0.4581,
"form_reliability": 0.5457,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.448,
"final": 1.2891,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.769,
"final": 0.8942,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.329,
"final": 0.6926,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.919,
"final": 0.9629,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.141,
"final": 0.0646,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0325,
"final": 4.0325,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0986,
"final": 1.0986,
"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.121 | 1.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | 0.823 | 1.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.760 | 5.000 | 4.000 | Hitting_AB | 3.374 | 4.000 | 1.626 | 1.000 |
| predicted_AVG | 0.249 | 0.200 | 0.250 | Hitting_AVG | 0.288 | 0.000 | -0.088 | 0.200 |
| predicted_BB | 0.515 | 0.000 | 1.000 | Hitting_BB | 0.655 | 1.000 | -0.655 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.940 | 1.000 | 1.000 | Hitting_H | 0.970 | 0.000 | 0.030 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_OBP | 0.348 | 0.200 | 0.400 | Hitting_OBP | 0.402 | 0.200 | -0.202 | 0.000 |
| predicted_R | 0.439 | 0.000 | 0.000 | Hitting_R | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 1.000 | Hitting_RBI | 0.547 | 0.000 | -0.547 | 0.000 |
| predicted_SLG | 0.411 | 0.400 | 0.250 | Hitting_SLG | 0.457 | 0.000 | -0.057 | 0.400 |
| predicted_SO | 0.561 | 1.000 | 1.000 | Hitting_SO | 0.507 | 4.000 | 0.493 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.7600 -> 5.0000 (boost 1.2400, better) |
| Biggest Deboost | predicted_BB: 0.5150 -> 0.0000 (deboost -0.5150, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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_SO: 0.5610 -> 0.6802 (boost 0.1192, worse) | predicted_AB: 3.7600 -> 3.7092 (deboost -0.0508, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.4189 -> 0.4247 (boost 0.0058, better) | predicted_OBP: 0.3547 -> 0.3463 (deboost -0.0084, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_BB: 0.4819 -> 1.0000 (boost 0.5181, better) | predicted_HR: 0.1571 -> 0.0000 (deboost -0.1571, worse) | AB rounded to 4 (raw=3.76), rates preserved: AVG=0.258 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4679 -> 0.0000 (deboost -0.4679, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3463 -> 0.4000 (boost 0.0537, better) | predicted_SLG: 0.4247 -> 0.2500 (deboost -0.1747, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 2 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 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.4247 (boost 0.1747, better) | predicted_OBP: 0.4000 -> 0.3463 (deboost -0.0537, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687462",
"player_name": "Spencer Horwitz",
"position": "1B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.121,
"predicted_3B": 0.015,
"predicted_AB": 3.76,
"predicted_AVG": 0.249,
"predicted_BB": 0.515,
"predicted_H": 0.94,
"predicted_HR": 0.15,
"predicted_OBP": 0.348,
"predicted_R": 0.439,
"predicted_RBI": 0.51,
"predicted_SLG": 0.411,
"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.1084,
"predicted_3B": 0.0129,
"predicted_AB": 3.7092,
"predicted_AVG": 0.2574,
"predicted_BB": 0.4802,
"predicted_H": 0.9564,
"predicted_HBP": 0.134,
"predicted_HR": 0.1534,
"predicted_OBP": 0.3547,
"predicted_R": 0.4583,
"predicted_RBI": 0.5205,
"predicted_SLG": 0.4189,
"predicted_SO": 0.6802
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.121,
"after": 0.1084,
"delta": -0.0126,
"percent_delta": -0.1041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.76,
"after": 3.7092,
"delta": -0.0508,
"percent_delta": -0.0135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2574,
"delta": 0.0084,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 0.4802,
"delta": -0.0348,
"percent_delta": -0.0676,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 0.9564,
"delta": 0.0164,
"percent_delta": 0.0174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1534,
"delta": 0.0034,
"percent_delta": 0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3547,
"delta": 0.0067,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.4583,
"delta": 0.0193,
"percent_delta": 0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5205,
"delta": 0.0105,
"percent_delta": 0.0206,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4189,
"delta": 0.0079,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.561,
"after": 0.6802,
"delta": 0.1192,
"percent_delta": 0.2125,
"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_SO",
"before": 0.561,
"after": 0.6802,
"delta": 0.1192,
"percent_delta": 0.2125,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.76,
"after": 3.7092,
"delta": -0.0508,
"percent_delta": -0.0135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1084,
"predicted_3B": 0.0129,
"predicted_AB": 3.7092,
"predicted_AVG": 0.2614,
"predicted_BB": 0.4819,
"predicted_H": 0.9696,
"predicted_HBP": 0.134,
"predicted_HR": 0.1571,
"predicted_OBP": 0.3463,
"predicted_R": 0.4679,
"predicted_RBI": 0.5314,
"predicted_SLG": 0.4247,
"predicted_SO": 0.6778
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1084,
"after": 0.1084,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7092,
"after": 3.7092,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2574,
"after": 0.2614,
"delta": 0.004,
"percent_delta": 0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4802,
"after": 0.4819,
"delta": 0.0017,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9564,
"after": 0.9696,
"delta": 0.0132,
"percent_delta": 0.0138,
"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.1534,
"after": 0.1571,
"delta": 0.0037,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3547,
"after": 0.3463,
"delta": -0.0084,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4583,
"after": 0.4679,
"delta": 0.0096,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5205,
"after": 0.5314,
"delta": 0.0109,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4189,
"after": 0.4247,
"delta": 0.0058,
"percent_delta": 0.0138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6802,
"after": 0.6778,
"delta": -0.0024,
"percent_delta": -0.0035,
"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.4189,
"after": 0.4247,
"delta": 0.0058,
"percent_delta": 0.0138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3547,
"after": 0.3463,
"delta": -0.0084,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.76), rates preserved: AVG=0.258 HR/AB=0.042",
"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.1084,
"after": 0.0,
"delta": -0.1084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7092,
"after": 4.0,
"delta": 0.2908,
"percent_delta": 0.0784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4819,
"after": 1.0,
"delta": 0.5181,
"percent_delta": 1.0751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9696,
"after": 1.0,
"delta": 0.0304,
"percent_delta": 0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.134,
"after": 0.0,
"delta": -0.134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1571,
"after": 0.0,
"delta": -0.1571,
"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": 0.6778,
"after": 1.0,
"delta": 0.3222,
"percent_delta": 0.4754,
"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.4819,
"after": 1.0,
"delta": 0.5181,
"percent_delta": 1.0751,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1571,
"after": 0.0,
"delta": -0.1571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.4679,
"after": 0.0,
"delta": -0.4679,
"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.4679,
"after": 0.0,
"delta": -0.4679,
"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.2614,
"after": 0.25,
"delta": -0.0114,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3463,
"after": 0.4,
"delta": 0.0537,
"percent_delta": 0.1551,
"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.4247,
"after": 0.25,
"delta": -0.1747,
"percent_delta": -0.4113,
"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.3463,
"after": 0.4,
"delta": 0.0537,
"percent_delta": 0.1551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4247,
"after": 0.25,
"delta": -0.1747,
"percent_delta": -0.4113,
"direction": "deboost",
"projection_effect": "worse",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2614,
"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.3463,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4247,
"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.2614,
"delta": 0.0114,
"percent_delta": 0.0456,
"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.4,
"after": 0.3463,
"delta": -0.0537,
"percent_delta": -0.1342,
"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.4247,
"delta": 0.1747,
"percent_delta": 0.6987,
"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.4247,
"delta": 0.1747,
"percent_delta": 0.6987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3463,
"delta": -0.0537,
"percent_delta": -0.1342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.76,
"after": 5.0,
"delta": 1.24,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2614,
"delta": 0.0124,
"percent_delta": 0.0498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3463,
"delta": -0.0017,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"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.411,
"after": 0.4247,
"delta": 0.0137,
"percent_delta": 0.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.76,
"after": 5.0,
"delta": 1.24,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"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.121 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 3.760 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.515 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 0.439 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.411 | - |
| 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.108 | -0.013 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 3.709 | -0.051 |
| predicted_AVG | 0.257 | 0.008 |
| predicted_BB | 0.480 | -0.035 |
| predicted_H | 0.956 | 0.016 |
| predicted_HBP | 0.134 | - |
| predicted_HR | 0.153 | 0.003 |
| predicted_OBP | 0.355 | 0.007 |
| predicted_R | 0.458 | 0.019 |
| predicted_RBI | 0.520 | 0.010 |
| predicted_SLG | 0.419 | 0.008 |
| predicted_SO | 0.680 | 0.119 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 3.709 | 0.000 |
| predicted_AVG | 0.261 | 0.004 |
| predicted_BB | 0.482 | 0.002 |
| predicted_H | 0.970 | 0.013 |
| predicted_HBP | 0.134 | 0.000 |
| predicted_HR | 0.157 | 0.004 |
| predicted_OBP | 0.346 | -0.008 |
| predicted_R | 0.468 | 0.010 |
| predicted_RBI | 0.531 | 0.011 |
| predicted_SLG | 0.425 | 0.006 |
| predicted_SO | 0.678 | -0.002 |
AB rounded to 4 (raw=3.76), rates preserved: AVG=0.258 HR/AB=0.042
| 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.108 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | 0.291 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 1.000 | 0.518 |
| predicted_H | 1.000 | 0.030 |
| predicted_HR | 0.000 | -0.157 |
| predicted_OBP | 0.400 | 0.054 |
| predicted_R | 0.000 | -0.468 |
| predicted_RBI | 1.000 | 0.469 |
| predicted_SLG | 0.250 | -0.175 |
| predicted_SO | 1.000 | 0.322 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 1.000 | 8.000 | 0.2381 | 0.3333 | 0.3810 | 0.2381 | 0.0476 | 0.1905 | 0.0476 | 0.3810 |
| last_10 | 0.20 | 10 | - | 40.000 | 11.000 | 0.000 | 0.000 | 2.000 | 5.000 | 5.000 | 4.000 | 11.000 | 0.2750 | 0.3696 | 0.4250 | 0.2750 | 0.0500 | 0.1250 | 0.1000 | 0.2750 |
| season | 0.60 | 66 | - | 217.000 | 61.000 | 8.000 | 1.000 | 9.000 | 31.000 | 29.000 | 34.000 | 37.000 | 0.2811 | 0.3822 | 0.4516 | 0.2811 | 0.0415 | 0.1429 | 0.1567 | 0.1705 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0910 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.6390 |
| predicted_AVG | 0.2691 |
| predicted_BB | 0.4320 |
| predicted_H | 0.9790 |
| predicted_HBP | 0.1340 |
| predicted_HR | 0.1580 |
| predicted_OBP | 0.3640 |
| predicted_R | 0.4850 |
| predicted_RBI | 0.5350 |
| predicted_SLG | 0.4298 |
| predicted_SO | 0.8450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1210 | 0.0910 | 0.1084 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 3.7600 | 3.6390 | 3.7092 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2691 | 0.2574 | model_form_blend |
| predicted_BB | 0.5150 | 0.4320 | 0.4802 | model_form_blend |
| predicted_H | 0.9400 | 0.9790 | 0.9564 | model_form_blend |
| predicted_HBP | - | 0.1340 | 0.1340 | form_only |
| predicted_HR | 0.1500 | 0.1580 | 0.1534 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3640 | 0.3547 | model_form_blend |
| predicted_R | 0.4390 | 0.4850 | 0.4583 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5350 | 0.5205 | model_form_blend |
| predicted_SLG | 0.4110 | 0.4298 | 0.4189 | model_form_blend |
| predicted_SO | 0.5610 | 0.8450 | 0.6802 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 203 |
| Season rows before report date | 203 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.281 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 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 | 4 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 687462 |
| playerID | 687462 |
| playerName | Spencer Horwitz |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.374 |
| sl_xwoba | 0.332 |
| sl_xba | 0.232 |
| sl_xslg | 0.379 |
| sl_sweet_spot_percent | 27.7 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 33.7 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 14.9 |
| 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_2B | 0.242 | 0.000 | 0.000 | Hitting_2B | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 4.280 | 5.000 | 4.000 | Hitting_AB | 3.953 | 5.000 | 1.047 | 0.000 |
| predicted_AVG | 0.223 | 0.200 | 0.250 | Hitting_AVG | 0.265 | 0.000 | -0.065 | 0.200 |
| predicted_BB | 0.470 | 0.000 | 0.000 | Hitting_BB | 0.532 | 0.000 | -0.532 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.950 | 1.000 | 1.000 | Hitting_H | 1.047 | 0.000 | -0.047 | 1.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.289 | 0.000 | -0.289 | 0.000 |
| predicted_OBP | 0.300 | 0.200 | 0.250 | Hitting_OBP | 0.356 | 0.000 | -0.156 | 0.200 |
| predicted_R | 0.652 | 0.000 | 1.000 | Hitting_R | 0.715 | 0.000 | -0.715 | 0.000 |
| predicted_RBI | 0.680 | 0.000 | 1.000 | Hitting_RBI | 0.800 | 0.000 | -0.800 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.455 | 0.200 | 0.250 | Hitting_SLG | 0.555 | 0.000 | -0.355 | 0.200 |
| predicted_SO | 1.106 | 1.000 | 1.000 | Hitting_SO | 1.068 | 3.000 | -0.068 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 4.2800 -> 5.0000 (boost 0.7200, better) |
| Biggest Deboost | predicted_RBI: 0.6800 -> 0.0000 (deboost -0.6800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_SLG: 0.4550 -> 0.4661 (boost 0.0111, better) | predicted_AB: 4.2800 -> 4.1140 (deboost -0.1660, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 3 | 4 | predicted_RBI: 0.7084 -> 1.0000 (boost 0.2916, better) | predicted_BB: 0.4687 -> 0.0000 (deboost -0.4687, worse) | AB rounded to 4 (raw=4.28), rates preserved: AVG=0.211 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6437 -> 1.0000 (boost 0.3563, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2199 -> 0.2500 (boost 0.0301, better) | predicted_SLG: 0.4636 -> 0.2500 (deboost -0.2136, 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_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4636 (boost 0.2136, better) | predicted_AVG: 0.2500 -> 0.2199 (deboost -0.0301, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "2B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.242,
"predicted_3B": 0.015,
"predicted_AB": 4.28,
"predicted_AVG": 0.223,
"predicted_BB": 0.47,
"predicted_H": 0.95,
"predicted_HR": 0.22,
"predicted_OBP": 0.3,
"predicted_R": 0.652,
"predicted_RBI": 0.68,
"predicted_SLG": 0.455,
"predicted_SO": 1.106
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.0129,
"predicted_AB": 4.114,
"predicted_AVG": 0.2173,
"predicted_BB": 0.467,
"predicted_H": 0.8925,
"predicted_HBP": 0.02,
"predicted_HR": 0.2365,
"predicted_OBP": 0.2978,
"predicted_R": 0.6305,
"predicted_RBI": 0.6939,
"predicted_SLG": 0.4661,
"predicted_SO": 1.125
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.25,
"delta": 0.008,
"percent_delta": 0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.28,
"after": 4.114,
"delta": -0.166,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2173,
"delta": -0.0057,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.47,
"after": 0.467,
"delta": -0.003,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 0.8925,
"delta": -0.0575,
"percent_delta": -0.0605,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2365,
"delta": 0.0165,
"percent_delta": 0.075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2978,
"delta": -0.0022,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.652,
"after": 0.6305,
"delta": -0.0215,
"percent_delta": -0.033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.6939,
"delta": 0.0139,
"percent_delta": 0.0204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4661,
"delta": 0.0111,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.106,
"after": 1.125,
"delta": 0.019,
"percent_delta": 0.0172,
"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.455,
"after": 0.4661,
"delta": 0.0111,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.28,
"after": 4.114,
"delta": -0.166,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.25,
"predicted_3B": 0.0129,
"predicted_AB": 4.114,
"predicted_AVG": 0.2199,
"predicted_BB": 0.4687,
"predicted_H": 0.9048,
"predicted_HBP": 0.02,
"predicted_HR": 0.2423,
"predicted_OBP": 0.2997,
"predicted_R": 0.6437,
"predicted_RBI": 0.7084,
"predicted_SLG": 0.4636,
"predicted_SO": 1.1209
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.25,
"after": 0.25,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.114,
"after": 4.114,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2173,
"after": 0.2199,
"delta": 0.0026,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.467,
"after": 0.4687,
"delta": 0.0017,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8925,
"after": 0.9048,
"delta": 0.0123,
"percent_delta": 0.0138,
"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.2365,
"after": 0.2423,
"delta": 0.0058,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2978,
"after": 0.2997,
"delta": 0.0019,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6305,
"after": 0.6437,
"delta": 0.0132,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6939,
"after": 0.7084,
"delta": 0.0145,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4661,
"after": 0.4636,
"delta": -0.0025,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.125,
"after": 1.1209,
"delta": -0.0041,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.28), rates preserved: AVG=0.211 HR/AB=0.057",
"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.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.114,
"after": 4.0,
"delta": -0.114,
"percent_delta": -0.0277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4687,
"after": 0.0,
"delta": -0.4687,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9048,
"after": 1.0,
"delta": 0.0952,
"percent_delta": 0.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.2423,
"after": 0.0,
"delta": -0.2423,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7084,
"after": 1.0,
"delta": 0.2916,
"percent_delta": 0.4116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1209,
"after": 1.0,
"delta": -0.1209,
"percent_delta": -0.1079,
"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.7084,
"after": 1.0,
"delta": 0.2916,
"percent_delta": 0.4116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4687,
"after": 0.0,
"delta": -0.4687,
"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.6437,
"after": 1.0,
"delta": 0.3563,
"percent_delta": 0.5535,
"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.6437,
"after": 1.0,
"delta": 0.3563,
"percent_delta": 0.5535,
"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.2199,
"after": 0.25,
"delta": 0.0301,
"percent_delta": 0.1369,
"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.2997,
"after": 0.25,
"delta": -0.0497,
"percent_delta": -0.1658,
"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.4636,
"after": 0.25,
"delta": -0.2136,
"percent_delta": -0.4607,
"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.2199,
"after": 0.25,
"delta": 0.0301,
"percent_delta": 0.1369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4636,
"after": 0.25,
"delta": -0.2136,
"percent_delta": -0.4607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2199,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2997,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4636,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2199,
"delta": -0.0301,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2997,
"delta": 0.0497,
"percent_delta": 0.1989,
"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.4636,
"delta": 0.2136,
"percent_delta": 0.8546,
"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.4636,
"delta": 0.2136,
"percent_delta": 0.8546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2199,
"delta": -0.0301,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.0,
"delta": -0.242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.28,
"after": 5.0,
"delta": 0.72,
"percent_delta": 0.1682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2199,
"delta": -0.0031,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"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.3,
"after": 0.2997,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.652,
"after": 0.0,
"delta": -0.652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.455,
"after": 0.4636,
"delta": 0.0086,
"percent_delta": 0.0189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.106,
"after": 1.0,
"delta": -0.106,
"percent_delta": -0.0958,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.28,
"after": 5.0,
"delta": 0.72,
"percent_delta": 0.1682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.242 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.280 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.470 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.652 | - |
| predicted_RBI | 0.680 | - |
| predicted_SLG | 0.455 | - |
| predicted_SO | 1.106 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | 0.008 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 4.114 | -0.166 |
| predicted_AVG | 0.217 | -0.006 |
| predicted_BB | 0.467 | -0.003 |
| predicted_H | 0.892 | -0.057 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.236 | 0.016 |
| predicted_OBP | 0.298 | -0.002 |
| predicted_R | 0.630 | -0.022 |
| predicted_RBI | 0.694 | 0.014 |
| predicted_SLG | 0.466 | 0.011 |
| predicted_SO | 1.125 | 0.019 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.250 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.114 | 0.000 |
| predicted_AVG | 0.220 | 0.003 |
| predicted_BB | 0.469 | 0.002 |
| predicted_H | 0.905 | 0.012 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.242 | 0.006 |
| predicted_OBP | 0.300 | 0.002 |
| predicted_R | 0.644 | 0.013 |
| predicted_RBI | 0.708 | 0.015 |
| predicted_SLG | 0.464 | -0.003 |
| predicted_SO | 1.121 | -0.004 |
AB rounded to 4 (raw=4.28), rates preserved: AVG=0.211 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 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.250 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | -0.114 |
| predicted_AVG | 0.250 | 0.030 |
| predicted_BB | 0.000 | -0.469 |
| predicted_H | 1.000 | 0.095 |
| predicted_HR | 0.000 | -0.242 |
| predicted_OBP | 0.250 | -0.050 |
| predicted_R | 1.000 | 0.356 |
| predicted_RBI | 1.000 | 0.292 |
| predicted_SLG | 0.250 | -0.214 |
| predicted_SO | 1.000 | -0.121 |
Attached 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 3.000 | 1.000 | 0.000 | 2.000 | 5.000 | 3.000 | 3.000 | 7.000 | 0.1429 | 0.2500 | 0.4762 | 0.1429 | 0.0952 | 0.2381 | 0.1429 | 0.3333 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 4.000 | 0.000 | 2.000 | 6.000 | 5.000 | 4.000 | 12.000 | 0.1622 | 0.2381 | 0.4324 | 0.1622 | 0.0541 | 0.1622 | 0.1081 | 0.3243 |
| season | 0.60 | 66 | - | 254.000 | 61.000 | 16.000 | 1.000 | 17.000 | 46.000 | 43.000 | 31.000 | 73.000 | 0.2402 | 0.3253 | 0.5118 | 0.2402 | 0.0669 | 0.1811 | 0.1221 | 0.2874 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2610 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8870 |
| predicted_AVG | 0.2094 |
| predicted_BB | 0.4630 |
| predicted_H | 0.8140 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.2590 |
| predicted_OBP | 0.2947 |
| predicted_R | 0.6010 |
| predicted_RBI | 0.7130 |
| predicted_SLG | 0.4813 |
| predicted_SO | 1.1510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2420 | 0.2610 | 0.2500 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 4.2800 | 3.8870 | 4.1140 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2094 | 0.2173 | model_form_blend |
| predicted_BB | 0.4700 | 0.4630 | 0.4670 | model_form_blend |
| predicted_H | 0.9500 | 0.8140 | 0.8925 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.2200 | 0.2590 | 0.2365 | model_form_blend |
| predicted_OBP | 0.3000 | 0.2947 | 0.2978 | model_form_blend |
| predicted_R | 0.6520 | 0.6010 | 0.6305 | model_form_blend |
| predicted_RBI | 0.6800 | 0.7130 | 0.6939 | model_form_blend |
| predicted_SLG | 0.4550 | 0.4813 | 0.4661 | model_form_blend |
| predicted_SO | 1.1060 | 1.1510 | 1.1250 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 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 | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 664040 |
| playerID | 664040 |
| playerName | Brandon Lowe |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.6 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.367 |
| sl_xwoba | 0.356 |
| sl_xba | 0.251 |
| sl_xslg | 0.487 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 44.8 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 34.4 |
| 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.107 | 0.000 | 0.000 | Hitting_2B | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.850 | 4.000 | 4.000 | Hitting_AB | 3.856 | 5.000 | 0.144 | -1.000 |
| predicted_AVG | 0.241 | 0.250 | 0.250 | Hitting_AVG | 0.287 | 0.000 | -0.037 | 0.250 |
| predicted_BB | 0.357 | 0.000 | 0.000 | Hitting_BB | 0.441 | 0.000 | -0.441 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 1.000 | 1.000 | Hitting_H | 1.108 | 0.000 | -0.108 | 1.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.164 | 0.000 | 0.836 | 1.000 |
| predicted_OBP | 0.294 | 0.250 | 0.250 | Hitting_OBP | 0.361 | 0.000 | -0.111 | 0.250 |
| predicted_R | 0.554 | 1.000 | 0.000 | Hitting_R | 0.636 | 0.000 | 0.364 | 1.000 |
| predicted_RBI | 0.510 | 2.000 | 1.000 | Hitting_RBI | 0.697 | 0.000 | 1.303 | 2.000 |
| predicted_SLG | 0.390 | 1.000 | 0.250 | Hitting_SLG | 0.451 | 0.000 | 0.549 | 1.000 |
| predicted_SO | 0.929 | 0.000 | 1.000 | Hitting_SO | 0.856 | 2.000 | -0.856 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.5100 -> 2.0000 (boost 1.4900, better) |
| Biggest Deboost | predicted_SO: 0.9290 -> 0.0000 (deboost -0.9290, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.9290 -> 1.0060 (boost 0.0770, worse) | predicted_R: 0.5540 -> 0.4886 (deboost -0.0654, 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.2911 -> 0.3023 (boost 0.0112, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.5258 -> 1.0000 (boost 0.4742, better) | predicted_BB: 0.3052 -> 0.0000 (deboost -0.3052, worse) | AB rounded to 4 (raw=3.85), rates preserved: AVG=0.246 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4988 -> 0.0000 (deboost -0.4988, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3872 -> 0.2500 (deboost -0.1372, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_HR: 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 | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2500 -> 0.3872 (boost 0.1372, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656811",
"player_name": "Ryan O'Hearn",
"position": "RF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.107,
"predicted_3B": 0.0,
"predicted_AB": 3.85,
"predicted_AVG": 0.241,
"predicted_BB": 0.357,
"predicted_H": 0.93,
"predicted_HR": 0.14,
"predicted_OBP": 0.294,
"predicted_R": 0.554,
"predicted_RBI": 0.51,
"predicted_SLG": 0.39,
"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.0958,
"predicted_3B": 0.0008,
"predicted_AB": 3.8388,
"predicted_AVG": 0.2431,
"predicted_BB": 0.3041,
"predicted_H": 0.9346,
"predicted_HBP": 0.014,
"predicted_HR": 0.1437,
"predicted_OBP": 0.2911,
"predicted_R": 0.4886,
"predicted_RBI": 0.515,
"predicted_SLG": 0.3878,
"predicted_SO": 1.006
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.0958,
"delta": -0.0112,
"percent_delta": -0.1047,
"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": 3.85,
"after": 3.8388,
"delta": -0.0112,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2431,
"delta": 0.0021,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.3041,
"delta": -0.0529,
"percent_delta": -0.1482,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.9346,
"delta": 0.0046,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1437,
"delta": 0.0037,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2911,
"delta": -0.0029,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 0.4886,
"delta": -0.0654,
"percent_delta": -0.1181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.515,
"delta": 0.005,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3878,
"delta": -0.0022,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.929,
"after": 1.006,
"delta": 0.077,
"percent_delta": 0.0829,
"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.929,
"after": 1.006,
"delta": 0.077,
"percent_delta": 0.0829,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.554,
"after": 0.4886,
"delta": -0.0654,
"percent_delta": -0.1181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0958,
"predicted_3B": 0.0008,
"predicted_AB": 3.8388,
"predicted_AVG": 0.2468,
"predicted_BB": 0.3052,
"predicted_H": 0.9475,
"predicted_HBP": 0.014,
"predicted_HR": 0.1472,
"predicted_OBP": 0.3023,
"predicted_R": 0.4988,
"predicted_RBI": 0.5258,
"predicted_SLG": 0.3872,
"predicted_SO": 1.0024
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0958,
"after": 0.0958,
"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.8388,
"after": 3.8388,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2431,
"after": 0.2468,
"delta": 0.0037,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3041,
"after": 0.3052,
"delta": 0.0011,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9346,
"after": 0.9475,
"delta": 0.0129,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1437,
"after": 0.1472,
"delta": 0.0035,
"percent_delta": 0.0244,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2911,
"after": 0.3023,
"delta": 0.0112,
"percent_delta": 0.0385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4886,
"after": 0.4988,
"delta": 0.0102,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.515,
"after": 0.5258,
"delta": 0.0108,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3878,
"after": 0.3872,
"delta": -0.0006,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.006,
"after": 1.0024,
"delta": -0.0036,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_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.2911,
"after": 0.3023,
"delta": 0.0112,
"percent_delta": 0.0385,
"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.85), rates preserved: AVG=0.246 HR/AB=0.038",
"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.0958,
"after": 0.0,
"delta": -0.0958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8388,
"after": 4.0,
"delta": 0.1612,
"percent_delta": 0.042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3052,
"after": 0.0,
"delta": -0.3052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9475,
"after": 1.0,
"delta": 0.0525,
"percent_delta": 0.0554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1472,
"after": 0.0,
"delta": -0.1472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5258,
"after": 1.0,
"delta": 0.4742,
"percent_delta": 0.9019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0024,
"after": 1.0,
"delta": -0.0024,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5258,
"after": 1.0,
"delta": 0.4742,
"percent_delta": 0.9019,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3052,
"after": 0.0,
"delta": -0.3052,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4988,
"after": 0.0,
"delta": -0.4988,
"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.4988,
"after": 0.0,
"delta": -0.4988,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2468,
"after": 0.25,
"delta": 0.0032,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3023,
"after": 0.25,
"delta": -0.0523,
"percent_delta": -0.173,
"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.3872,
"after": 0.25,
"delta": -0.1372,
"percent_delta": -0.3543,
"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.3872,
"after": 0.25,
"delta": -0.1372,
"percent_delta": -0.3543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 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.2468,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3023,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3872,
"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.2468,
"delta": -0.0032,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3023,
"delta": 0.0523,
"percent_delta": 0.2092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3872,
"delta": 0.1372,
"percent_delta": 0.5489,
"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.25,
"after": 0.3872,
"delta": 0.1372,
"percent_delta": 0.5489,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2468,
"delta": 0.0058,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.0,
"delta": 0.07,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3023,
"delta": 0.0083,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.554,
"after": 1.0,
"delta": 0.446,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 2.0,
"delta": 1.49,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3872,
"delta": -0.0028,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.929,
"after": 0.0,
"delta": -0.929,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.51,
"after": 2.0,
"delta": 1.49,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.929,
"after": 0.0,
"delta": -0.929,
"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.107 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.357 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.554 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.390 | - |
| 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.096 | -0.011 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.839 | -0.011 |
| predicted_AVG | 0.243 | 0.002 |
| predicted_BB | 0.304 | -0.053 |
| predicted_H | 0.935 | 0.005 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.144 | 0.004 |
| predicted_OBP | 0.291 | -0.003 |
| predicted_R | 0.489 | -0.065 |
| predicted_RBI | 0.515 | 0.005 |
| predicted_SLG | 0.388 | -0.002 |
| predicted_SO | 1.006 | 0.077 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.096 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.839 | 0.000 |
| predicted_AVG | 0.247 | 0.004 |
| predicted_BB | 0.305 | 0.001 |
| predicted_H | 0.948 | 0.013 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.147 | 0.004 |
| predicted_OBP | 0.302 | 0.011 |
| predicted_R | 0.499 | 0.010 |
| predicted_RBI | 0.526 | 0.011 |
| predicted_SLG | 0.387 | -0.001 |
| predicted_SO | 1.002 | -0.004 |
AB rounded to 4 (raw=3.85), rates preserved: AVG=0.246 HR/AB=0.038
| 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 | 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.096 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.161 |
| predicted_AVG | 0.250 | 0.003 |
| predicted_BB | 0.000 | -0.305 |
| predicted_H | 1.000 | 0.052 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.250 | -0.052 |
| predicted_R | 0.000 | -0.499 |
| predicted_RBI | 1.000 | 0.474 |
| predicted_SLG | 0.250 | -0.137 |
| predicted_SO | 1.000 | -0.002 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 8.000 | 0.1905 | 0.1905 | 0.1905 | 0.1905 | 0.0000 | 0.0476 | 0.0000 | 0.3810 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 0.000 | 14.000 | 0.2105 | 0.2105 | 0.3684 | 0.2105 | 0.0526 | 0.1316 | 0.0000 | 0.3684 |
| season | 0.60 | 56 | - | 207.000 | 57.000 | 6.000 | 0.000 | 10.000 | 35.000 | 31.000 | 20.000 | 52.000 | 0.2754 | 0.3391 | 0.4493 | 0.2754 | 0.0483 | 0.1691 | 0.0966 | 0.2512 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0800 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.8230 |
| predicted_AVG | 0.2460 |
| predicted_BB | 0.2300 |
| predicted_H | 0.9410 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.1490 |
| predicted_OBP | 0.2871 |
| predicted_R | 0.3970 |
| predicted_RBI | 0.5220 |
| predicted_SLG | 0.3846 |
| predicted_SO | 1.1140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1070 | 0.0800 | 0.0958 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.8500 | 3.8230 | 3.8388 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2460 | 0.2431 | model_form_blend |
| predicted_BB | 0.3570 | 0.2300 | 0.3041 | model_form_blend |
| predicted_H | 0.9300 | 0.9410 | 0.9346 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.1400 | 0.1490 | 0.1437 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2871 | 0.2911 | model_form_blend |
| predicted_R | 0.5540 | 0.3970 | 0.4886 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5220 | 0.5150 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3846 | 0.3878 | model_form_blend |
| predicted_SO | 0.9290 | 1.1140 | 1.0060 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 56 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.275 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 656811 |
| playerID | 656811 |
| playerName | Ryan O'Hearn |
| pos | RF |
| started | True |
| startingPosition | 1B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.1 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.354 |
| sl_xwoba | 0.326 |
| sl_xba | 0.257 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 44.2 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 45.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.222 | 0.000 | 0.000 | Hitting_2B | 0.217 | 1.000 | -0.217 | -1.000 |
| predicted_3B | 0.028 | 1.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | 0.961 | 1.000 |
| predicted_AB | 3.870 | 4.000 | 4.000 | Hitting_AB | 3.646 | 3.000 | 0.354 | 1.000 |
| predicted_AVG | 0.251 | 0.250 | 0.250 | Hitting_AVG | 0.279 | 0.667 | -0.029 | -0.417 |
| predicted_BB | 0.667 | 1.000 | 1.000 | Hitting_BB | 0.709 | 2.000 | 0.291 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.970 | 1.000 | 1.000 | Hitting_H | 1.016 | 2.000 | -0.016 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.098 | 1.000 | -0.098 | -1.000 |
| predicted_OBP | 0.358 | 0.400 | 0.400 | Hitting_OBP | 0.403 | 0.800 | -0.003 | -0.400 |
| predicted_R | 0.639 | 0.000 | 1.000 | Hitting_R | 0.669 | 1.000 | -0.669 | -1.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.626 | 1.000 | -0.626 | -1.000 |
| predicted_SLG | 0.443 | 0.750 | 0.250 | Hitting_SLG | 0.441 | 2.000 | 0.309 | -1.250 |
| predicted_SO | 0.917 | 1.000 | 1.000 | Hitting_SO | 0.980 | 0.000 | 0.020 | 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_3B: 0.0280 -> 1.0000 (boost 0.9720, better) |
| Biggest Deboost | predicted_R: 0.6390 -> 0.0000 (deboost -0.6390, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_SLG: 0.4430 -> 0.4561 (boost 0.0131, better) | predicted_AB: 3.8700 -> 3.8017 (deboost -0.0683, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5287 -> 1.0000 (boost 0.4713, better) | predicted_2B: 0.2475 -> 0.0000 (deboost -0.2475, worse) | AB rounded to 4 (raw=3.87), rates preserved: AVG=0.259 HR/AB=0.038 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6272 -> 1.0000 (boost 0.3728, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3661 -> 0.4000 (boost 0.0339, 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 | 3 | 1 | 2 | 1 | 2 | predicted_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 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.4551 (boost 0.2051, better) | predicted_OBP: 0.4000 -> 0.3661 (deboost -0.0339, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "DH",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.222,
"predicted_3B": 0.028,
"predicted_AB": 3.87,
"predicted_AVG": 0.251,
"predicted_BB": 0.667,
"predicted_H": 0.97,
"predicted_HR": 0.14,
"predicted_OBP": 0.358,
"predicted_R": 0.639,
"predicted_RBI": 0.52,
"predicted_SLG": 0.443,
"predicted_SO": 0.917
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2475,
"predicted_3B": 0.0233,
"predicted_AB": 3.8017,
"predicted_AVG": 0.26,
"predicted_BB": 0.6148,
"predicted_H": 0.987,
"predicted_HBP": 0.094,
"predicted_HR": 0.1417,
"predicted_OBP": 0.3662,
"predicted_R": 0.6144,
"predicted_RBI": 0.5179,
"predicted_SLG": 0.4561,
"predicted_SO": 0.8983
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2475,
"delta": 0.0255,
"percent_delta": 0.1149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0233,
"delta": -0.0047,
"percent_delta": -0.1679,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 3.8017,
"delta": -0.0683,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.26,
"delta": 0.009,
"percent_delta": 0.0359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.667,
"after": 0.6148,
"delta": -0.0522,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.987,
"delta": 0.017,
"percent_delta": 0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1417,
"delta": 0.0017,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3662,
"delta": 0.0082,
"percent_delta": 0.0229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.639,
"after": 0.6144,
"delta": -0.0246,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5179,
"delta": -0.0021,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.443,
"after": 0.4561,
"delta": 0.0131,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 0.8983,
"delta": -0.0187,
"percent_delta": -0.0204,
"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_SLG",
"before": 0.443,
"after": 0.4561,
"delta": 0.0131,
"percent_delta": 0.0296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.87,
"after": 3.8017,
"delta": -0.0683,
"percent_delta": -0.0176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2475,
"predicted_3B": 0.0233,
"predicted_AB": 3.8017,
"predicted_AVG": 0.2632,
"predicted_BB": 0.617,
"predicted_H": 1.0006,
"predicted_HBP": 0.094,
"predicted_HR": 0.1452,
"predicted_OBP": 0.3661,
"predicted_R": 0.6272,
"predicted_RBI": 0.5287,
"predicted_SLG": 0.4551,
"predicted_SO": 0.8951
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2475,
"after": 0.2475,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0233,
"after": 0.0233,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8017,
"after": 3.8017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2632,
"delta": 0.0032,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6148,
"after": 0.617,
"delta": 0.0022,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.987,
"after": 1.0006,
"delta": 0.0136,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1417,
"after": 0.1452,
"delta": 0.0035,
"percent_delta": 0.0247,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3662,
"after": 0.3661,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6144,
"after": 0.6272,
"delta": 0.0128,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5179,
"after": 0.5287,
"delta": 0.0108,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4561,
"after": 0.4551,
"delta": -0.001,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8983,
"after": 0.8951,
"delta": -0.0032,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.87), rates preserved: AVG=0.259 HR/AB=0.038",
"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.2475,
"after": 0.0,
"delta": -0.2475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0233,
"after": 0.0,
"delta": -0.0233,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8017,
"after": 4.0,
"delta": 0.1983,
"percent_delta": 0.0522,
"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.0006,
"after": 1.0,
"delta": -0.0006,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1452,
"after": 0.0,
"delta": -0.1452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5287,
"after": 1.0,
"delta": 0.4713,
"percent_delta": 0.8914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8951,
"after": 1.0,
"delta": 0.1049,
"percent_delta": 0.1172,
"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.5287,
"after": 1.0,
"delta": 0.4713,
"percent_delta": 0.8914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2475,
"after": 0.0,
"delta": -0.2475,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6272,
"after": 1.0,
"delta": 0.3728,
"percent_delta": 0.5944,
"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.6272,
"after": 1.0,
"delta": 0.3728,
"percent_delta": 0.5944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2632,
"after": 0.25,
"delta": -0.0132,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3661,
"after": 0.4,
"delta": 0.0339,
"percent_delta": 0.0926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.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": 1.0,
"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.3661,
"after": 0.4,
"delta": 0.0339,
"percent_delta": 0.0926,
"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": 1.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2632,
"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.3661,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4551,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"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.2632,
"delta": 0.0132,
"percent_delta": 0.0528,
"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.4,
"after": 0.3661,
"delta": -0.0339,
"percent_delta": -0.0848,
"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": 1.0,
"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.4551,
"delta": 0.2051,
"percent_delta": 0.8204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3661,
"delta": -0.0339,
"percent_delta": -0.0848,
"direction": "deboost",
"projection_effect": "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.028,
"after": 1.0,
"delta": 0.972,
"percent_delta": 34.7143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.87,
"after": 4.0,
"delta": 0.13,
"percent_delta": 0.0336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.251,
"after": 0.2632,
"delta": 0.0122,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.358,
"after": 0.3661,
"delta": 0.0081,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.639,
"after": 0.0,
"delta": -0.639,
"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.443,
"after": 0.4551,
"delta": 0.0121,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_3B",
"before": 0.028,
"after": 1.0,
"delta": 0.972,
"percent_delta": 34.7143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.639,
"after": 0.0,
"delta": -0.639,
"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.222 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 3.870 | - |
| predicted_AVG | 0.251 | - |
| predicted_BB | 0.667 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.358 | - |
| predicted_R | 0.639 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.443 | - |
| predicted_SO | 0.917 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | 0.025 |
| predicted_3B | 0.023 | -0.005 |
| predicted_AB | 3.802 | -0.068 |
| predicted_AVG | 0.260 | 0.009 |
| predicted_BB | 0.615 | -0.052 |
| predicted_H | 0.987 | 0.017 |
| predicted_HBP | 0.094 | - |
| predicted_HR | 0.142 | 0.002 |
| predicted_OBP | 0.366 | 0.008 |
| predicted_R | 0.614 | -0.025 |
| predicted_RBI | 0.518 | -0.002 |
| predicted_SLG | 0.456 | 0.013 |
| predicted_SO | 0.898 | -0.019 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.247 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.802 | 0.000 |
| predicted_AVG | 0.263 | 0.003 |
| predicted_BB | 0.617 | 0.002 |
| predicted_H | 1.001 | 0.014 |
| predicted_HBP | 0.094 | 0.000 |
| predicted_HR | 0.145 | 0.004 |
| predicted_OBP | 0.366 | -0.000 |
| predicted_R | 0.627 | 0.013 |
| predicted_RBI | 0.529 | 0.011 |
| predicted_SLG | 0.455 | -0.001 |
| predicted_SO | 0.895 | -0.003 |
AB rounded to 4 (raw=3.87), rates preserved: AVG=0.259 HR/AB=0.038
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.247 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | 0.198 |
| predicted_AVG | 0.250 | -0.013 |
| predicted_BB | 1.000 | 0.383 |
| predicted_H | 1.000 | -0.001 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.400 | 0.034 |
| predicted_R | 1.000 | 0.373 |
| predicted_RBI | 1.000 | 0.471 |
| predicted_SLG | 0.250 | -0.205 |
| predicted_SO | 1.000 | 0.105 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 1.000 | 1.000 |
| AB | 4.000 | 0.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 | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 2.000 | 2.000 | 4.000 | 0.3000 | 0.3913 | 0.5500 | 0.3000 | 0.0500 | 0.1000 | 0.1000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 4.000 | 0.000 | 2.000 | 4.000 | 6.000 | 4.000 | 8.000 | 0.2632 | 0.3488 | 0.5263 | 0.2632 | 0.0526 | 0.1053 | 0.1053 | 0.2105 |
| season | 0.60 | 72 | - | 256.000 | 69.000 | 16.000 | 2.000 | 8.000 | 42.000 | 46.000 | 48.000 | 66.000 | 0.2695 | 0.3923 | 0.4414 | 0.2695 | 0.0312 | 0.1641 | 0.1875 | 0.2578 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2820 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.7090 |
| predicted_AVG | 0.2722 |
| predicted_BB | 0.5440 |
| predicted_H | 1.0100 |
| predicted_HBP | 0.0940 |
| predicted_HR | 0.1440 |
| predicted_OBP | 0.3773 |
| predicted_R | 0.5810 |
| predicted_RBI | 0.5150 |
| predicted_SLG | 0.4739 |
| predicted_SO | 0.8730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.2820 | 0.2475 | model_form_blend |
| predicted_3B | 0.0280 | 0.0170 | 0.0233 | model_form_blend |
| predicted_AB | 3.8700 | 3.7090 | 3.8017 | model_form_blend |
| predicted_AVG | 0.2510 | 0.2722 | 0.2600 | model_form_blend |
| predicted_BB | 0.6670 | 0.5440 | 0.6148 | model_form_blend |
| predicted_H | 0.9700 | 1.0100 | 0.9870 | model_form_blend |
| predicted_HBP | - | 0.0940 | 0.0940 | form_only |
| predicted_HR | 0.1400 | 0.1440 | 0.1417 | model_form_blend |
| predicted_OBP | 0.3580 | 0.3773 | 0.3662 | model_form_blend |
| predicted_R | 0.6390 | 0.5810 | 0.6144 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5150 | 0.5179 | model_form_blend |
| predicted_SLG | 0.4430 | 0.4739 | 0.4561 | model_form_blend |
| predicted_SO | 0.9170 | 0.8730 | 0.8983 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 254 |
| Season rows before report date | 254 |
| 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 1 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| 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 | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 668804 |
| playerID | 668804 |
| playerName | Bryan Reynolds |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 15.0 |
| sl_woba | 0.361 |
| sl_xwoba | 0.362 |
| sl_xba | 0.258 |
| sl_xslg | 0.432 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 44.4 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 5.1 |
| sl_whiff_percent | 28.4 |
| 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.169 | 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.910 | 2.000 | 4.000 | Hitting_AB | 3.995 | 3.000 | -1.995 | -1.000 |
| predicted_AVG | 0.255 | 0.500 | 0.250 | Hitting_AVG | 0.306 | 0.667 | 0.194 | -0.167 |
| predicted_BB | 0.231 | 2.000 | 0.000 | Hitting_BB | 0.271 | 0.000 | 1.729 | 2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 1.224 | 2.000 | -0.224 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_OBP | 0.322 | 0.750 | 0.250 | Hitting_OBP | 0.359 | 0.750 | 0.391 | 0.000 |
| predicted_R | 0.569 | 0.000 | 1.000 | Hitting_R | 0.542 | 1.000 | -0.542 | -1.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_SLG | 0.360 | 0.500 | 0.250 | Hitting_SLG | 0.363 | 0.667 | 0.137 | -0.167 |
| predicted_SO | 0.708 | 0.000 | 1.000 | Hitting_SO | 0.794 | 0.000 | -0.794 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_BB: 0.2310 -> 2.0000 (boost 1.7690, better) |
| Biggest Deboost | predicted_AB: 3.9100 -> 2.0000 (deboost -1.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 | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2550 -> 0.2640 (boost 0.0090, better) | predicted_SLG: 0.3600 -> 0.3492 (deboost -0.0108, 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.3247 -> 0.3078 (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 | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.7100 -> 1.0000 (boost 0.2900, worse) | predicted_RBI: 0.3789 -> 0.0000 (deboost -0.3789, worse) | AB rounded to 4 (raw=3.91), rates preserved: AVG=0.265 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5826 -> 1.0000 (boost 0.4174, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3451 -> 0.2500 (deboost -0.0951, 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_BB: 0.0000 -> 2.0000 (boost 2.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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3451 (boost 0.0951, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693304",
"player_name": "Nick Gonzales",
"position": "SS",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.169,
"predicted_3B": 0.0,
"predicted_AB": 3.91,
"predicted_AVG": 0.255,
"predicted_BB": 0.231,
"predicted_H": 1.0,
"predicted_HR": 0.06,
"predicted_OBP": 0.322,
"predicted_R": 0.569,
"predicted_RBI": 0.39,
"predicted_SLG": 0.36,
"predicted_SO": 0.708
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1522,
"predicted_3B": 0.0004,
"predicted_AB": 3.8705,
"predicted_AVG": 0.264,
"predicted_BB": 0.2218,
"predicted_H": 1.0231,
"predicted_HBP": 0.091,
"predicted_HR": 0.0474,
"predicted_OBP": 0.3247,
"predicted_R": 0.5707,
"predicted_RBI": 0.3711,
"predicted_SLG": 0.3492,
"predicted_SO": 0.7126
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1522,
"delta": -0.0168,
"percent_delta": -0.0994,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.91,
"after": 3.8705,
"delta": -0.0395,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.264,
"delta": 0.009,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.231,
"after": 0.2218,
"delta": -0.0092,
"percent_delta": -0.0398,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0231,
"delta": 0.0231,
"percent_delta": 0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0474,
"delta": -0.0126,
"percent_delta": -0.21,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3247,
"delta": 0.0027,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.569,
"after": 0.5707,
"delta": 0.0017,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.3711,
"delta": -0.0189,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3492,
"delta": -0.0108,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.708,
"after": 0.7126,
"delta": 0.0046,
"percent_delta": 0.0065,
"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.255,
"after": 0.264,
"delta": 0.009,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3492,
"delta": -0.0108,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1522,
"predicted_3B": 0.0004,
"predicted_AB": 3.8705,
"predicted_AVG": 0.268,
"predicted_BB": 0.2226,
"predicted_H": 1.0372,
"predicted_HBP": 0.091,
"predicted_HR": 0.0486,
"predicted_OBP": 0.3078,
"predicted_R": 0.5826,
"predicted_RBI": 0.3789,
"predicted_SLG": 0.3451,
"predicted_SO": 0.71
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1522,
"after": 0.1522,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8705,
"after": 3.8705,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.264,
"after": 0.268,
"delta": 0.004,
"percent_delta": 0.0152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2218,
"after": 0.2226,
"delta": 0.0008,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0231,
"after": 1.0372,
"delta": 0.0141,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.091,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0474,
"after": 0.0486,
"delta": 0.0012,
"percent_delta": 0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3247,
"after": 0.3078,
"delta": -0.0169,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5707,
"after": 0.5826,
"delta": 0.0119,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3711,
"after": 0.3789,
"delta": 0.0078,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3492,
"after": 0.3451,
"delta": -0.0041,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7126,
"after": 0.71,
"delta": -0.0026,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3247,
"after": 0.3078,
"delta": -0.0169,
"percent_delta": -0.052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.91), rates preserved: AVG=0.265 HR/AB=0.012",
"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.1522,
"after": 0.0,
"delta": -0.1522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8705,
"after": 4.0,
"delta": 0.1295,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2226,
"after": 0.0,
"delta": -0.2226,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0372,
"after": 1.0,
"delta": -0.0372,
"percent_delta": -0.0359,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.0486,
"after": 0.0,
"delta": -0.0486,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3789,
"after": 0.0,
"delta": -0.3789,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.71,
"after": 1.0,
"delta": 0.29,
"percent_delta": 0.4085,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3789,
"after": 0.0,
"delta": -0.3789,
"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.5826,
"after": 1.0,
"delta": 0.4174,
"percent_delta": 0.7164,
"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.5826,
"after": 1.0,
"delta": 0.4174,
"percent_delta": 0.7164,
"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.268,
"after": 0.25,
"delta": -0.018,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3078,
"after": 0.25,
"delta": -0.0578,
"percent_delta": -0.1878,
"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.3451,
"after": 0.25,
"delta": -0.0951,
"percent_delta": -0.2756,
"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.3451,
"after": 0.25,
"delta": -0.0951,
"percent_delta": -0.2756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.268,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3078,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3451,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.268,
"delta": 0.018,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3078,
"delta": 0.0578,
"percent_delta": 0.2312,
"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.3451,
"delta": 0.0951,
"percent_delta": 0.3806,
"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.3451,
"delta": 0.0951,
"percent_delta": 0.3806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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": 2.0,
"delta": -1.91,
"percent_delta": -0.4885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.268,
"delta": 0.013,
"percent_delta": 0.051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.231,
"after": 2.0,
"delta": 1.769,
"percent_delta": 7.658,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3078,
"delta": -0.0142,
"percent_delta": -0.0441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.569,
"after": 0.0,
"delta": -0.569,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.36,
"after": 0.3451,
"delta": -0.0149,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.708,
"after": 0.0,
"delta": -0.708,
"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.231,
"after": 2.0,
"delta": 1.769,
"percent_delta": 7.658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.91,
"after": 2.0,
"delta": -1.91,
"percent_delta": -0.4885,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.910 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.231 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.569 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.360 | - |
| predicted_SO | 0.708 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | -0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.870 | -0.040 |
| predicted_AVG | 0.264 | 0.009 |
| predicted_BB | 0.222 | -0.009 |
| predicted_H | 1.023 | 0.023 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.047 | -0.013 |
| predicted_OBP | 0.325 | 0.003 |
| predicted_R | 0.571 | 0.002 |
| predicted_RBI | 0.371 | -0.019 |
| predicted_SLG | 0.349 | -0.011 |
| predicted_SO | 0.713 | 0.005 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.870 | 0.000 |
| predicted_AVG | 0.268 | 0.004 |
| predicted_BB | 0.223 | 0.001 |
| predicted_H | 1.037 | 0.014 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.049 | 0.001 |
| predicted_OBP | 0.308 | -0.017 |
| predicted_R | 0.583 | 0.012 |
| predicted_RBI | 0.379 | 0.008 |
| predicted_SLG | 0.345 | -0.004 |
| predicted_SO | 0.710 | -0.003 |
AB rounded to 4 (raw=3.91), rates preserved: AVG=0.265 HR/AB=0.012
| 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.152 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.130 |
| predicted_AVG | 0.250 | -0.018 |
| predicted_BB | 0.000 | -0.223 |
| predicted_H | 1.000 | -0.037 |
| predicted_HR | 0.000 | -0.049 |
| predicted_OBP | 0.250 | -0.058 |
| predicted_R | 1.000 | 0.417 |
| predicted_RBI | 0.000 | -0.379 |
| predicted_SLG | 0.250 | -0.095 |
| predicted_SO | 1.000 | 0.290 |
Attached 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 | 2.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 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 3.000 | 0.2632 | 0.3333 | 0.2632 | 0.2632 | 0.0000 | 0.0000 | 0.0526 | 0.1579 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 1.000 | 0.000 | 0.000 | 2.000 | 6.000 | 1.000 | 8.000 | 0.2308 | 0.2683 | 0.2564 | 0.2308 | 0.0000 | 0.0513 | 0.0256 | 0.2051 |
| season | 0.60 | 65 | - | 246.000 | 74.000 | 11.000 | 0.000 | 2.000 | 31.000 | 37.000 | 15.000 | 46.000 | 0.3008 | 0.3496 | 0.3699 | 0.3008 | 0.0081 | 0.1260 | 0.0610 | 0.1870 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1290 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8160 |
| predicted_AVG | 0.2764 |
| predicted_BB | 0.2090 |
| predicted_H | 1.0550 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.0300 |
| predicted_OBP | 0.3284 |
| predicted_R | 0.5730 |
| predicted_RBI | 0.3450 |
| predicted_SLG | 0.3343 |
| predicted_SO | 0.7190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1290 | 0.1522 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9100 | 3.8160 | 3.8705 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2764 | 0.2640 | model_form_blend |
| predicted_BB | 0.2310 | 0.2090 | 0.2218 | model_form_blend |
| predicted_H | 1.0000 | 1.0550 | 1.0231 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.0600 | 0.0300 | 0.0474 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3284 | 0.3247 | model_form_blend |
| predicted_R | 0.5690 | 0.5730 | 0.5707 | model_form_blend |
| predicted_RBI | 0.3900 | 0.3450 | 0.3711 | model_form_blend |
| predicted_SLG | 0.3600 | 0.3343 | 0.3492 | model_form_blend |
| predicted_SO | 0.7080 | 0.7190 | 0.7126 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 214 |
| Season rows before report date | 214 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.301 |
| 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 | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| 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 | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 693304 |
| playerID | 693304 |
| playerName | Nick Gonzales |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 17.5 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.321 |
| sl_xwoba | 0.329 |
| sl_xba | 0.296 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 3.0 |
| sl_hard_hit_percent | 37.9 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 6.3 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 53.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.222 | 0.000 | 0.000 | Hitting_2B | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_3B | 0.111 | 0.000 | 0.000 | Hitting_3B | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_AB | 2.556 | 3.000 | 3.000 | Hitting_AB | 2.077 | 3.000 | 0.923 | 0.000 |
| predicted_AVG | 0.320 | 0.000 | 0.333 | Hitting_AVG | 0.370 | 0.333 | -0.370 | -0.333 |
| predicted_BB | 0.667 | 0.000 | 1.000 | Hitting_BB | 0.615 | 0.000 | -0.615 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.270 | 0.000 | 1.000 | Hitting_H | 0.769 | 1.000 | -0.769 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.377 | 0.000 | 0.500 | Hitting_OBP | 0.528 | 0.500 | -0.528 | -0.500 |
| predicted_R | 0.556 | 1.000 | 1.000 | Hitting_R | 0.462 | 0.000 | 0.538 | 1.000 |
| predicted_RBI | 0.200 | 1.000 | 0.000 | Hitting_RBI | 0.615 | 0.000 | 0.385 | 1.000 |
| predicted_SLG | 0.578 | 0.000 | 0.333 | Hitting_SLG | 0.815 | 0.333 | -0.815 | -0.333 |
| predicted_SO | 0.778 | 1.000 | 1.000 | Hitting_SO | 0.538 | 1.000 | 0.462 | 0.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_RBI: 0.2000 -> 1.0000 (boost 0.8000, better) |
| Biggest Deboost | predicted_BB: 0.6670 -> 0.0000 (deboost -0.6670, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_H: 0.2700 -> 0.5118 (boost 0.2418, better) | - | Final model input calibrated with local 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.3233 -> 0.1881 (deboost -0.1352, 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: 0.5189 -> 1.0000 (boost 0.4811, better) | predicted_RBI: 0.3512 -> 0.0000 (deboost -0.3512, worse) | AB rounded to 3 (raw=2.76), rates preserved: AVG=0.188 HR/AB=0.047 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6148 -> 1.0000 (boost 0.3852, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3378 -> 0.5000 (boost 0.1622, better) | predicted_SLG: 0.4796 -> 0.3330 (deboost -0.1466, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 1 | 2 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4796 (boost 0.1466, better) | predicted_OBP: 0.5000 -> 0.3378 (deboost -0.1622, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682997",
"player_name": "Tyler Callihan",
"position": "3B",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.222,
"predicted_3B": 0.111,
"predicted_AB": 2.556,
"predicted_AVG": 0.32,
"predicted_BB": 0.667,
"predicted_H": 0.27,
"predicted_HR": 0.07,
"predicted_OBP": 0.377,
"predicted_R": 0.556,
"predicted_RBI": 0.2,
"predicted_SLG": 0.578,
"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.1974,
"predicted_3B": 0.1095,
"predicted_AB": 2.7586,
"predicted_AVG": 0.3233,
"predicted_BB": 0.6214,
"predicted_H": 0.5118,
"predicted_HBP": 0.115,
"predicted_HR": 0.1262,
"predicted_OBP": 0.3935,
"predicted_R": 0.6022,
"predicted_RBI": 0.344,
"predicted_SLG": 0.6083,
"predicted_SO": 0.8205
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.1974,
"delta": -0.0246,
"percent_delta": -0.1108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.111,
"after": 0.1095,
"delta": -0.0015,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.556,
"after": 2.7586,
"delta": 0.2026,
"percent_delta": 0.0793,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.32,
"after": 0.3233,
"delta": 0.0033,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.667,
"after": 0.6214,
"delta": -0.0456,
"percent_delta": -0.0684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.5118,
"delta": 0.2418,
"percent_delta": 0.8956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1262,
"delta": 0.0562,
"percent_delta": 0.8029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.377,
"after": 0.3935,
"delta": 0.0165,
"percent_delta": 0.0438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.6022,
"delta": 0.0462,
"percent_delta": 0.0831,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.344,
"delta": 0.144,
"percent_delta": 0.72,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.578,
"after": 0.6083,
"delta": 0.0303,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.778,
"after": 0.8205,
"delta": 0.0425,
"percent_delta": 0.0546,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.27,
"after": 0.5118,
"delta": 0.2418,
"percent_delta": 0.8956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_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": 9,
"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.1974,
"predicted_3B": 0.1095,
"predicted_AB": 2.7586,
"predicted_AVG": 0.1881,
"predicted_BB": 0.6236,
"predicted_H": 0.5189,
"predicted_HBP": 0.115,
"predicted_HR": 0.1293,
"predicted_OBP": 0.3378,
"predicted_R": 0.6148,
"predicted_RBI": 0.3512,
"predicted_SLG": 0.4796,
"predicted_SO": 0.8175
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1974,
"after": 0.1974,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1095,
"after": 0.1095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7586,
"after": 2.7586,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3233,
"after": 0.1881,
"delta": -0.1352,
"percent_delta": -0.4182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6214,
"after": 0.6236,
"delta": 0.0022,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5118,
"after": 0.5189,
"delta": 0.0071,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.115,
"after": 0.115,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1262,
"after": 0.1293,
"delta": 0.0031,
"percent_delta": 0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3935,
"after": 0.3378,
"delta": -0.0557,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6022,
"after": 0.6148,
"delta": 0.0126,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.344,
"after": 0.3512,
"delta": 0.0072,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6083,
"after": 0.4796,
"delta": -0.1287,
"percent_delta": -0.2116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8205,
"after": 0.8175,
"delta": -0.003,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3233,
"after": 0.1881,
"delta": -0.1352,
"percent_delta": -0.4182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.76), rates preserved: AVG=0.188 HR/AB=0.047",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1974,
"after": 0.0,
"delta": -0.1974,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1095,
"after": 0.0,
"delta": -0.1095,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.7586,
"after": 3.0,
"delta": 0.2414,
"percent_delta": 0.0875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6236,
"after": 1.0,
"delta": 0.3764,
"percent_delta": 0.6036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5189,
"after": 1.0,
"delta": 0.4811,
"percent_delta": 0.9272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.115,
"after": 0.0,
"delta": -0.115,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1293,
"after": 0.0,
"delta": -0.1293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8175,
"after": 1.0,
"delta": 0.1825,
"percent_delta": 0.2232,
"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": 0.5189,
"after": 1.0,
"delta": 0.4811,
"percent_delta": 0.9272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3512,
"after": 0.0,
"delta": -0.3512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6148,
"after": 1.0,
"delta": 0.3852,
"percent_delta": 0.6265,
"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.6148,
"after": 1.0,
"delta": 0.3852,
"percent_delta": 0.6265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"predicted_R": 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.1881,
"after": 0.333,
"delta": 0.1449,
"percent_delta": 0.7703,
"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.3378,
"after": 0.5,
"delta": 0.1622,
"percent_delta": 0.4802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4796,
"after": 0.333,
"delta": -0.1466,
"percent_delta": -0.3057,
"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.3378,
"after": 0.5,
"delta": 0.1622,
"percent_delta": 0.4802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4796,
"after": 0.333,
"delta": -0.1466,
"percent_delta": -0.3057,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.1881,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3378,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4796,
"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.1881,
"delta": -0.1449,
"percent_delta": -0.4352,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3378,
"delta": -0.1622,
"percent_delta": -0.3244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4796,
"delta": 0.1466,
"percent_delta": 0.4403,
"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.4796,
"delta": 0.1466,
"percent_delta": 0.4403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.3378,
"delta": -0.1622,
"percent_delta": -0.3244,
"direction": "deboost",
"projection_effect": "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.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 2.556,
"after": 3.0,
"delta": 0.444,
"percent_delta": 0.1737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.32,
"after": 0.1881,
"delta": -0.1319,
"percent_delta": -0.4122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"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.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.377,
"after": 0.3378,
"delta": -0.0392,
"percent_delta": -0.104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 1.0,
"delta": 0.8,
"percent_delta": 4.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.578,
"after": 0.4796,
"delta": -0.0984,
"percent_delta": -0.1702,
"direction": "deboost",
"projection_effect": "worse",
"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": 4,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.2,
"after": 1.0,
"delta": 0.8,
"percent_delta": 4.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"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.111 | - |
| predicted_AB | 2.556 | - |
| predicted_AVG | 0.320 | - |
| predicted_BB | 0.667 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.377 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.578 | - |
| 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.197 | -0.025 |
| predicted_3B | 0.110 | -0.002 |
| predicted_AB | 2.759 | 0.203 |
| predicted_AVG | 0.323 | 0.003 |
| predicted_BB | 0.621 | -0.046 |
| predicted_H | 0.512 | 0.242 |
| predicted_HBP | 0.115 | - |
| predicted_HR | 0.126 | 0.056 |
| predicted_OBP | 0.394 | 0.017 |
| predicted_R | 0.602 | 0.046 |
| predicted_RBI | 0.344 | 0.144 |
| predicted_SLG | 0.608 | 0.030 |
| predicted_SO | 0.821 | 0.042 |
Step 3: 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.110 | 0.000 |
| predicted_AB | 2.759 | 0.000 |
| predicted_AVG | 0.188 | -0.135 |
| predicted_BB | 0.624 | 0.002 |
| predicted_H | 0.519 | 0.007 |
| predicted_HBP | 0.115 | 0.000 |
| predicted_HR | 0.129 | 0.003 |
| predicted_OBP | 0.338 | -0.056 |
| predicted_R | 0.615 | 0.013 |
| predicted_RBI | 0.351 | 0.007 |
| predicted_SLG | 0.480 | -0.129 |
| predicted_SO | 0.818 | -0.003 |
AB rounded to 3 (raw=2.76), rates preserved: AVG=0.188 HR/AB=0.047
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 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.197 |
| predicted_3B | 0.000 | -0.110 |
| predicted_AB | 3.000 | 0.241 |
| predicted_AVG | 0.333 | 0.145 |
| predicted_BB | 1.000 | 0.376 |
| predicted_H | 1.000 | 0.481 |
| predicted_HR | 0.000 | -0.129 |
| predicted_OBP | 0.500 | 0.162 |
| predicted_R | 1.000 | 0.385 |
| predicted_RBI | 0.000 | -0.351 |
| predicted_SLG | 0.333 | -0.147 |
| predicted_SO | 1.000 | 0.182 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 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 | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 6.000 | 0.000 | 1.000 | 2.000 | 4.000 | 5.000 | 3.000 | 5.000 | 0.4615 | 0.5882 | 1.0769 | 0.4615 | 0.1538 | 0.3077 | 0.2308 | 0.3846 |
| last_10 | 0.20 | 9 | - | 23.000 | 8.000 | 2.000 | 1.000 | 2.000 | 6.000 | 5.000 | 6.000 | 7.000 | 0.3478 | 0.5000 | 0.7826 | 0.3478 | 0.0870 | 0.2609 | 0.2609 | 0.3044 |
| season | 0.60 | 9 | - | 23.000 | 8.000 | 2.000 | 1.000 | 2.000 | 6.000 | 5.000 | 6.000 | 7.000 | 0.3478 | 0.5000 | 0.7826 | 0.3478 | 0.0870 | 0.2609 | 0.2609 | 0.3044 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1410 |
| predicted_3B | 0.1060 |
| predicted_AB | 3.2230 |
| predicted_AVG | 0.3307 |
| predicted_BB | 0.5170 |
| predicted_H | 1.0660 |
| predicted_HBP | 0.1150 |
| predicted_HR | 0.2550 |
| predicted_OBP | 0.4313 |
| predicted_R | 0.7080 |
| predicted_RBI | 0.6740 |
| predicted_SLG | 0.6778 |
| predicted_SO | 0.9180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.1410 | 0.1974 | model_form_blend |
| predicted_3B | 0.1110 | 0.1060 | 0.1095 | model_form_blend |
| predicted_AB | 2.5560 | 3.2230 | 2.7586 | model_form_blend |
| predicted_AVG | 0.3200 | 0.3307 | 0.3233 | model_form_blend |
| predicted_BB | 0.6670 | 0.5170 | 0.6214 | model_form_blend |
| predicted_H | 0.2700 | 1.0660 | 0.5118 | model_form_blend |
| predicted_HBP | - | 0.1150 | 0.1150 | form_only |
| predicted_HR | 0.0700 | 0.2550 | 0.1262 | model_form_blend |
| predicted_OBP | 0.3770 | 0.4313 | 0.3935 | model_form_blend |
| predicted_R | 0.5560 | 0.7080 | 0.6022 | model_form_blend |
| predicted_RBI | 0.2000 | 0.6740 | 0.3440 | model_form_blend |
| predicted_SLG | 0.5780 | 0.6778 | 0.6083 | model_form_blend |
| predicted_SO | 0.7780 | 0.9180 | 0.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 | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 9 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.348 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 682997 |
| playerID | 682997 |
| playerName | Tyler Callihan |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 23.1 |
| sl_woba | 0.549 |
| sl_xwoba | 0.373 |
| sl_xba | 0.186 |
| sl_xslg | 0.473 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 21.4 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 26.4 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 50.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.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.650 | 3.000 | 3.000 | Hitting_AB | 2.579 | 1.000 | 0.421 | 2.000 |
| predicted_AVG | 0.254 | 0.333 | 0.333 | Hitting_AVG | 0.245 | 0.000 | 0.088 | 0.333 |
| predicted_BB | 0.500 | 1.000 | 1.000 | Hitting_BB | 1.026 | 0.000 | -0.026 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.650 | 1.000 | 1.000 | Hitting_H | 0.632 | 0.000 | 0.368 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.312 | 0.500 | 0.500 | Hitting_OBP | 0.460 | 0.000 | 0.040 | 0.500 |
| predicted_R | 0.400 | 1.000 | 0.000 | Hitting_R | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_RBI | 0.340 | 1.000 | 0.000 | Hitting_RBI | 0.316 | 0.000 | 0.684 | 1.000 |
| predicted_SLG | 0.403 | 0.333 | 0.333 | Hitting_SLG | 0.367 | 0.000 | -0.034 | 0.333 |
| predicted_SO | 0.800 | 2.000 | 1.000 | Hitting_SO | 0.789 | 0.000 | 1.211 | 2.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.8000 -> 2.0000 (boost 1.2000, worse) |
| Biggest Deboost | predicted_2B: 0.1500 -> 0.0000 (deboost -0.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 | 2 | 1 | 1 | 1 | 1 | predicted_AB: 2.6500 -> 2.7510 (boost 0.1010, better) | predicted_AVG: 0.2540 -> 0.2402 (deboost -0.0138, 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_OBP: 0.3120 -> 0.3479 (boost 0.0359, 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.4679 -> 1.0000 (boost 0.5321, better) | predicted_RBI: 0.3373 -> 0.0000 (deboost -0.3373, worse) | AB rounded to 3 (raw=2.75), rates preserved: AVG=0.237 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4116 -> 0.0000 (deboost -0.4116, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3479 -> 0.5000 (boost 0.1521, better) | predicted_SLG: 0.4332 -> 0.3330 (deboost -0.1002, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_R: 0.0000 -> 1.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.4332 (boost 0.1002, better) | predicted_OBP: 0.5000 -> 0.3479 (deboost -0.1521, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682848",
"player_name": "Endy Rodríguez",
"position": "C",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.15,
"predicted_3B": 0.0,
"predicted_AB": 2.65,
"predicted_AVG": 0.254,
"predicted_BB": 0.5,
"predicted_H": 0.65,
"predicted_HR": 0.12,
"predicted_OBP": 0.312,
"predicted_R": 0.4,
"predicted_RBI": 0.34,
"predicted_SLG": 0.403,
"predicted_SO": 0.8
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.0014,
"predicted_AB": 2.751,
"predicted_AVG": 0.2402,
"predicted_BB": 0.4662,
"predicted_H": 0.6432,
"predicted_HBP": 0.009,
"predicted_HR": 0.1239,
"predicted_OBP": 0.312,
"predicted_R": 0.4032,
"predicted_RBI": 0.3304,
"predicted_SLG": 0.4049,
"predicted_SO": 0.7993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.156,
"delta": 0.006,
"percent_delta": 0.04,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.65,
"after": 2.751,
"delta": 0.101,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2402,
"delta": -0.0138,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.4662,
"delta": -0.0338,
"percent_delta": -0.0676,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 0.6432,
"delta": -0.0068,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1239,
"delta": 0.0039,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4032,
"delta": 0.0032,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3304,
"delta": -0.0096,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.4049,
"delta": 0.0019,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 0.7993,
"delta": -0.0007,
"percent_delta": -0.0009,
"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_AB",
"before": 2.65,
"after": 2.751,
"delta": 0.101,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.2402,
"delta": -0.0138,
"percent_delta": -0.0543,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 20
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.0014,
"predicted_AB": 2.751,
"predicted_AVG": 0.237,
"predicted_BB": 0.4679,
"predicted_H": 0.6521,
"predicted_HBP": 0.009,
"predicted_HR": 0.1269,
"predicted_OBP": 0.3479,
"predicted_R": 0.4116,
"predicted_RBI": 0.3373,
"predicted_SLG": 0.4332,
"predicted_SO": 0.7964
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.751,
"after": 2.751,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2402,
"after": 0.237,
"delta": -0.0032,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4662,
"after": 0.4679,
"delta": 0.0017,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6432,
"after": 0.6521,
"delta": 0.0089,
"percent_delta": 0.0138,
"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.1239,
"after": 0.1269,
"delta": 0.003,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3479,
"delta": 0.0359,
"percent_delta": 0.1151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4032,
"after": 0.4116,
"delta": 0.0084,
"percent_delta": 0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3304,
"after": 0.3373,
"delta": 0.0069,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4049,
"after": 0.4332,
"delta": 0.0283,
"percent_delta": 0.0699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7993,
"after": 0.7964,
"delta": -0.0029,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3479,
"delta": 0.0359,
"percent_delta": 0.1151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.75), rates preserved: AVG=0.237 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.751,
"after": 3.0,
"delta": 0.249,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4679,
"after": 1.0,
"delta": 0.5321,
"percent_delta": 1.1372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6521,
"after": 1.0,
"delta": 0.3479,
"percent_delta": 0.5335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1269,
"after": 0.0,
"delta": -0.1269,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3373,
"after": 0.0,
"delta": -0.3373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7964,
"after": 1.0,
"delta": 0.2036,
"percent_delta": 0.2557,
"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.4679,
"after": 1.0,
"delta": 0.5321,
"percent_delta": 1.1372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3373,
"after": 0.0,
"delta": -0.3373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4116,
"after": 0.0,
"delta": -0.4116,
"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.4116,
"after": 0.0,
"delta": -0.4116,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"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.237,
"after": 0.333,
"delta": 0.096,
"percent_delta": 0.4051,
"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.3479,
"after": 0.5,
"delta": 0.1521,
"percent_delta": 0.4372,
"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.4332,
"after": 0.333,
"delta": -0.1002,
"percent_delta": -0.2313,
"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.3479,
"after": 0.5,
"delta": 0.1521,
"percent_delta": 0.4372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4332,
"after": 0.333,
"delta": -0.1002,
"percent_delta": -0.2313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.237,
"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.3479,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4332,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.237,
"delta": -0.096,
"percent_delta": -0.2882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.5,
"after": 0.3479,
"delta": -0.1521,
"percent_delta": -0.3041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4332,
"delta": 0.1002,
"percent_delta": 0.3008,
"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.4332,
"delta": 0.1002,
"percent_delta": 0.3008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.3479,
"delta": -0.1521,
"percent_delta": -0.3041,
"direction": "deboost",
"projection_effect": "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": 2.65,
"after": 3.0,
"delta": 0.35,
"percent_delta": 0.1321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.254,
"after": 0.237,
"delta": -0.017,
"percent_delta": -0.0669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.3479,
"delta": 0.0359,
"percent_delta": 0.1151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.4332,
"delta": 0.0302,
"percent_delta": 0.0749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"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.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.650 | - |
| predicted_AVG | 0.254 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 0.800 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.006 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.751 | 0.101 |
| predicted_AVG | 0.240 | -0.014 |
| predicted_BB | 0.466 | -0.034 |
| predicted_H | 0.643 | -0.007 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.124 | 0.004 |
| predicted_OBP | 0.312 | 0.000 |
| predicted_R | 0.403 | 0.003 |
| predicted_RBI | 0.330 | -0.010 |
| predicted_SLG | 0.405 | 0.002 |
| predicted_SO | 0.799 | -0.001 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.751 | 0.000 |
| predicted_AVG | 0.237 | -0.003 |
| predicted_BB | 0.468 | 0.002 |
| predicted_H | 0.652 | 0.009 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.127 | 0.003 |
| predicted_OBP | 0.348 | 0.036 |
| predicted_R | 0.412 | 0.008 |
| predicted_RBI | 0.337 | 0.007 |
| predicted_SLG | 0.433 | 0.028 |
| predicted_SO | 0.796 | -0.003 |
AB rounded to 3 (raw=2.75), rates preserved: AVG=0.237 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 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.156 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.249 |
| predicted_AVG | 0.333 | 0.096 |
| predicted_BB | 1.000 | 0.532 |
| predicted_H | 1.000 | 0.348 |
| predicted_HR | 0.000 | -0.127 |
| predicted_OBP | 0.500 | 0.152 |
| predicted_R | 0.000 | -0.412 |
| predicted_RBI | 0.000 | -0.337 |
| predicted_SLG | 0.333 | -0.100 |
| predicted_SO | 1.000 | 0.204 |
Attached 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 | 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 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 2.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 3.000 | 0.1818 | 0.3077 | 0.5455 | 0.1818 | 0.0909 | 0.0909 | 0.1818 | 0.2727 |
| last_10 | 0.20 | 10 | - | 23.000 | 3.000 | 1.000 | 0.000 | 1.000 | 1.000 | 2.000 | 2.000 | 7.000 | 0.1304 | 0.2000 | 0.3043 | 0.1304 | 0.0435 | 0.0435 | 0.0870 | 0.3044 |
| season | 0.60 | 20 | - | 53.000 | 12.000 | 3.000 | 0.000 | 2.000 | 6.000 | 8.000 | 10.000 | 16.000 | 0.2264 | 0.3492 | 0.3962 | 0.2264 | 0.0377 | 0.1132 | 0.1887 | 0.3019 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1670 |
| predicted_3B | 0.0040 |
| predicted_AB | 2.9340 |
| predicted_AVG | 0.2151 |
| predicted_BB | 0.4050 |
| predicted_H | 0.6310 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.3119 |
| predicted_R | 0.4090 |
| predicted_RBI | 0.3130 |
| predicted_SLG | 0.4083 |
| predicted_SO | 0.7980 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.1670 | 0.1560 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.6500 | 2.9340 | 2.7510 | model_form_blend |
| predicted_AVG | 0.2540 | 0.2151 | 0.2402 | model_form_blend |
| predicted_BB | 0.5000 | 0.4050 | 0.4662 | model_form_blend |
| predicted_H | 0.6500 | 0.6310 | 0.6432 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.1200 | 0.1310 | 0.1239 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3119 | 0.3120 | model_form_blend |
| predicted_R | 0.4000 | 0.4090 | 0.4032 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3130 | 0.3304 | model_form_blend |
| predicted_SLG | 0.4030 | 0.4083 | 0.4049 | model_form_blend |
| predicted_SO | 0.8000 | 0.7980 | 0.7993 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 20 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 2 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH |
| gameID | 20260614_MIA@PIT |
| game_type | ph |
| mlbID | 682848 |
| note | Grounded into a double play for Davis, H in the 8th. |
| playerID | 682848 |
| playerName | Endy Rodríguez |
| pos | C |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 20.9 |
| sl_woba | 0.364 |
| sl_xwoba | 0.358 |
| sl_xba | 0.221 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 41.7 |
| sl_barrel_batted_rate | 13.9 |
| sl_hard_hit_percent | 41.7 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 26.7 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.111 | 0.000 | 0.000 | Hitting_2B | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.089 | 4.000 | 3.000 | Hitting_AB | 3.369 | 4.000 | 0.631 | 0.000 |
| predicted_AVG | 0.300 | 0.500 | 0.333 | Hitting_AVG | 0.275 | 0.500 | 0.225 | 0.000 |
| predicted_BB | 0.200 | 0.000 | 0.000 | Hitting_BB | 0.262 | 0.000 | -0.262 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_H | 0.750 | 2.000 | 1.000 | Hitting_H | 0.926 | 2.000 | 1.074 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_OBP | 0.354 | 0.500 | 0.333 | Hitting_OBP | 0.334 | 0.500 | 0.166 | 0.000 |
| predicted_R | 0.400 | 1.000 | 0.000 | Hitting_R | 0.451 | 0.000 | 0.549 | 1.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.131 | 1.000 | -0.131 | -1.000 |
| predicted_SLG | 0.402 | 0.500 | 0.333 | Hitting_SLG | 0.314 | 0.500 | 0.186 | 0.000 |
| predicted_SO | 0.600 | 0.000 | 1.000 | Hitting_SO | 0.721 | 0.000 | -0.721 | 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: 0.7500 -> 2.0000 (boost 1.2500, better) |
| Biggest Deboost | predicted_SO: 0.6000 -> 0.0000 (deboost -0.6000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.7500 -> 0.9005 (boost 0.1505, better) | - | Final model input calibrated with local 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.4099 -> 0.3719 (deboost -0.0380, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.5954 -> 1.0000 (boost 0.4046, worse) | predicted_RBI: 0.3071 -> 0.0000 (deboost -0.3071, worse) | AB rounded to 3 (raw=3.20), rates preserved: AVG=0.285 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4092 -> 0.0000 (deboost -0.4092, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2851 -> 0.3330 (boost 0.0479, better) | predicted_SLG: 0.3719 -> 0.3330 (deboost -0.0389, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 0 | predicted_AB: 3.0000 -> 4.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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3719 (boost 0.0389, better) | predicted_AVG: 0.3330 -> 0.2851 (deboost -0.0479, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663968",
"player_name": "Jake Mangum",
"position": "CF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.111,
"predicted_3B": 0.0,
"predicted_AB": 3.089,
"predicted_AVG": 0.3,
"predicted_BB": 0.2,
"predicted_H": 0.75,
"predicted_HR": 0.05,
"predicted_OBP": 0.354,
"predicted_R": 0.4,
"predicted_RBI": 0.3,
"predicted_SLG": 0.402,
"predicted_SO": 0.6
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1463,
"predicted_3B": 0.0008,
"predicted_AB": 3.2026,
"predicted_AVG": 0.3135,
"predicted_BB": 0.2,
"predicted_H": 0.9005,
"predicted_HBP": 0.017,
"predicted_HR": 0.0424,
"predicted_OBP": 0.362,
"predicted_R": 0.4008,
"predicted_RBI": 0.3008,
"predicted_SLG": 0.4099,
"predicted_SO": 0.5976
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1463,
"delta": 0.0353,
"percent_delta": 0.318,
"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": 3.089,
"after": 3.2026,
"delta": 0.1136,
"percent_delta": 0.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.3135,
"delta": 0.0135,
"percent_delta": 0.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.9005,
"delta": 0.1505,
"percent_delta": 0.2007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0424,
"delta": -0.0076,
"percent_delta": -0.152,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.354,
"after": 0.362,
"delta": 0.008,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4008,
"delta": 0.0008,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3008,
"delta": 0.0008,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4099,
"delta": 0.0079,
"percent_delta": 0.0197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 0.5976,
"delta": -0.0024,
"percent_delta": -0.004,
"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": 0.75,
"after": 0.9005,
"delta": 0.1505,
"percent_delta": 0.2007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1463,
"predicted_3B": 0.0008,
"predicted_AB": 3.2026,
"predicted_AVG": 0.2851,
"predicted_BB": 0.2007,
"predicted_H": 0.9129,
"predicted_HBP": 0.017,
"predicted_HR": 0.0434,
"predicted_OBP": 0.3272,
"predicted_R": 0.4092,
"predicted_RBI": 0.3071,
"predicted_SLG": 0.3719,
"predicted_SO": 0.5954
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1463,
"after": 0.1463,
"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.2026,
"after": 3.2026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3135,
"after": 0.2851,
"delta": -0.0284,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2,
"after": 0.2007,
"delta": 0.0007,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9005,
"after": 0.9129,
"delta": 0.0124,
"percent_delta": 0.0138,
"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.0424,
"after": 0.0434,
"delta": 0.001,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.362,
"after": 0.3272,
"delta": -0.0348,
"percent_delta": -0.0961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4008,
"after": 0.4092,
"delta": 0.0084,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3008,
"after": 0.3071,
"delta": 0.0063,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4099,
"after": 0.3719,
"delta": -0.038,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5976,
"after": 0.5954,
"delta": -0.0022,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4099,
"after": 0.3719,
"delta": -0.038,
"percent_delta": -0.0927,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.20), rates preserved: AVG=0.285 HR/AB=0.014",
"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.1463,
"after": 0.0,
"delta": -0.1463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2026,
"after": 3.0,
"delta": -0.2026,
"percent_delta": -0.0633,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2007,
"after": 0.0,
"delta": -0.2007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9129,
"after": 1.0,
"delta": 0.0871,
"percent_delta": 0.0954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0434,
"after": 0.0,
"delta": -0.0434,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3071,
"after": 0.0,
"delta": -0.3071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5954,
"after": 1.0,
"delta": 0.4046,
"percent_delta": 0.6795,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5954,
"after": 1.0,
"delta": 0.4046,
"percent_delta": 0.6795,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3071,
"after": 0.0,
"delta": -0.3071,
"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.4092,
"after": 0.0,
"delta": -0.4092,
"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.4092,
"after": 0.0,
"delta": -0.4092,
"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.2851,
"after": 0.333,
"delta": 0.0479,
"percent_delta": 0.168,
"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.3272,
"after": 0.333,
"delta": 0.0058,
"percent_delta": 0.0177,
"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.3719,
"after": 0.333,
"delta": -0.0389,
"percent_delta": -0.1046,
"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.2851,
"after": 0.333,
"delta": 0.0479,
"percent_delta": 0.168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3719,
"after": 0.333,
"delta": -0.0389,
"percent_delta": -0.1046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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": 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_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 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.2851,
"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.3272,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3719,
"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.2851,
"delta": -0.0479,
"percent_delta": -0.144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3272,
"delta": -0.0058,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3719,
"delta": 0.0389,
"percent_delta": 0.1169,
"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.3719,
"delta": 0.0389,
"percent_delta": 0.1169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2851,
"delta": -0.0479,
"percent_delta": -0.144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"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.089,
"after": 4.0,
"delta": 0.911,
"percent_delta": 0.2949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2851,
"delta": -0.0149,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.75,
"after": 2.0,
"delta": 1.25,
"percent_delta": 1.6667,
"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.354,
"after": 0.3272,
"delta": -0.0268,
"percent_delta": -0.0757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 1.0,
"delta": 0.6,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3719,
"delta": -0.0301,
"percent_delta": -0.0749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.75,
"after": 2.0,
"delta": 1.25,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.6,
"after": 0.0,
"delta": -0.6,
"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.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.089 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.200 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.354 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.600 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | 0.035 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.203 | 0.114 |
| predicted_AVG | 0.314 | 0.014 |
| predicted_BB | 0.200 | 0.000 |
| predicted_H | 0.900 | 0.150 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.042 | -0.008 |
| predicted_OBP | 0.362 | 0.008 |
| predicted_R | 0.401 | 0.001 |
| predicted_RBI | 0.301 | 0.001 |
| predicted_SLG | 0.410 | 0.008 |
| predicted_SO | 0.598 | -0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.203 | 0.000 |
| predicted_AVG | 0.285 | -0.028 |
| predicted_BB | 0.201 | 0.001 |
| predicted_H | 0.913 | 0.012 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.043 | 0.001 |
| predicted_OBP | 0.327 | -0.035 |
| predicted_R | 0.409 | 0.008 |
| predicted_RBI | 0.307 | 0.006 |
| predicted_SLG | 0.372 | -0.038 |
| predicted_SO | 0.595 | -0.002 |
AB rounded to 3 (raw=3.20), rates preserved: AVG=0.285 HR/AB=0.014
| 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.146 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.203 |
| predicted_AVG | 0.333 | 0.048 |
| predicted_BB | 0.000 | -0.201 |
| predicted_H | 1.000 | 0.087 |
| predicted_HR | 0.000 | -0.043 |
| predicted_OBP | 0.333 | 0.006 |
| predicted_R | 0.000 | -0.409 |
| predicted_RBI | 0.000 | -0.307 |
| predicted_SLG | 0.333 | -0.039 |
| predicted_SO | 1.000 | 0.405 |
Attached 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 | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 8.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 2.000 | 0.4444 | 0.4737 | 0.5556 | 0.4444 | 0.0000 | 0.1111 | 0.0556 | 0.1111 |
| last_10 | 0.20 | 10 | - | 35.000 | 14.000 | 3.000 | 0.000 | 0.000 | 2.000 | 3.000 | 1.000 | 5.000 | 0.4000 | 0.4167 | 0.4857 | 0.4000 | 0.0000 | 0.0571 | 0.0286 | 0.1429 |
| season | 0.60 | 45 | - | 139.000 | 42.000 | 5.000 | 0.000 | 1.000 | 11.000 | 18.000 | 9.000 | 27.000 | 0.3022 | 0.3467 | 0.3597 | 0.3022 | 0.0072 | 0.0791 | 0.0648 | 0.1942 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1990 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3720 |
| predicted_AVG | 0.3336 |
| predicted_BB | 0.2000 |
| predicted_H | 1.1250 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.3740 |
| predicted_R | 0.4020 |
| predicted_RBI | 0.3020 |
| predicted_SLG | 0.4217 |
| predicted_SO | 0.5940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1990 | 0.1463 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0890 | 3.3720 | 3.2026 | model_form_blend |
| predicted_AVG | 0.3000 | 0.3336 | 0.3135 | model_form_blend |
| predicted_BB | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_H | 0.7500 | 1.1250 | 0.9005 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.0500 | 0.0310 | 0.0424 | model_form_blend |
| predicted_OBP | 0.3540 | 0.3740 | 0.3620 | model_form_blend |
| predicted_R | 0.4000 | 0.4020 | 0.4008 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3020 | 0.3008 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4217 | 0.4099 | model_form_blend |
| predicted_SO | 0.6000 | 0.5940 | 0.5976 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 122 |
| Season rows before report date | 122 |
| Report year | 2026 |
| Profile rows used | 45 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.302 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| 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 | CF |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 663968 |
| playerID | 663968 |
| playerName | Jake Mangum |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.317 |
| sl_xwoba | 0.283 |
| sl_xba | 0.255 |
| sl_xslg | 0.317 |
| sl_sweet_spot_percent | 25.9 |
| sl_barrel_batted_rate | 0.9 |
| sl_hard_hit_percent | 25.9 |
| sl_exit_velocity_avg | 83.9 |
| sl_launch_angle_avg | 3.8 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 59.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.714 | 4.000 | 3.000 | Hitting_AB | 3.200 | 1.000 | 0.800 | 3.000 |
| predicted_AVG | 0.243 | 0.000 | 0.333 | Hitting_AVG | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_BB | 0.286 | 0.000 | 0.000 | Hitting_BB | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 0.000 | 1.000 | Hitting_H | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_OBP | 0.278 | 0.000 | 0.333 | Hitting_OBP | 0.233 | 0.000 | -0.233 | 0.000 |
| predicted_R | 0.286 | 0.000 | 0.000 | Hitting_R | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 1.050 | 0.000 | -1.050 | 0.000 |
| predicted_SLG | 0.433 | 0.000 | 0.333 | Hitting_SLG | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SO | 1.429 | 2.000 | 1.000 | Hitting_SO | 1.750 | 1.000 | 0.250 | 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: 2.7140 -> 4.0000 (boost 1.2860, better) |
| Biggest Deboost | predicted_H: 0.5900 -> 0.0000 (deboost -0.5900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_AB: 2.7140 -> 2.9094 (boost 0.1954, better) | predicted_SO: 1.4290 -> 1.3534 (deboost -0.0756, better) | Final model input calibrated with local 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.2746 -> 0.2846 (boost 0.0100, better) | predicted_SLG: 0.4401 -> 0.4226 (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 | 6 | 3 | 3 | 4 | 2 | predicted_RBI: 0.5607 -> 1.0000 (boost 0.4393, better) | predicted_SO: 1.3485 -> 1.0000 (deboost -0.3485, better) | AB rounded to 3 (raw=2.91), rates preserved: AVG=0.215 HR/AB=0.066 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3374 -> 0.0000 (deboost -0.3374, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2152 -> 0.3330 (boost 0.1178, better) | predicted_SLG: 0.4226 -> 0.3330 (deboost -0.0896, worse) | 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4226 (boost 0.0896, better) | predicted_AVG: 0.3330 -> 0.2152 (deboost -0.1178, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "LF",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.714,
"predicted_AVG": 0.243,
"predicted_BB": 0.286,
"predicted_H": 0.59,
"predicted_HR": 0.16,
"predicted_OBP": 0.278,
"predicted_R": 0.286,
"predicted_RBI": 0.48,
"predicted_SLG": 0.433,
"predicted_SO": 1.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.0272,
"predicted_3B": 0.0022,
"predicted_AB": 2.9094,
"predicted_AVG": 0.2315,
"predicted_BB": 0.2813,
"predicted_H": 0.6175,
"predicted_HBP": 0.018,
"predicted_HR": 0.1861,
"predicted_OBP": 0.2746,
"predicted_R": 0.3305,
"predicted_RBI": 0.5492,
"predicted_SLG": 0.4401,
"predicted_SO": 1.3534
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0272,
"delta": 0.0272,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0022,
"delta": 0.0022,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.714,
"after": 2.9094,
"delta": 0.1954,
"percent_delta": 0.072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2315,
"delta": -0.0115,
"percent_delta": -0.0473,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.286,
"after": 0.2813,
"delta": -0.0047,
"percent_delta": -0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.6175,
"delta": 0.0275,
"percent_delta": 0.0466,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1861,
"delta": 0.0261,
"percent_delta": 0.1631,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.278,
"after": 0.2746,
"delta": -0.0034,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.3305,
"delta": 0.0445,
"percent_delta": 0.1556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.5492,
"delta": 0.0692,
"percent_delta": 0.1442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4401,
"delta": 0.0071,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.429,
"after": 1.3534,
"delta": -0.0756,
"percent_delta": -0.0529,
"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_AB",
"before": 2.714,
"after": 2.9094,
"delta": 0.1954,
"percent_delta": 0.072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.429,
"after": 1.3534,
"delta": -0.0756,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 7,
"season": 7
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0272,
"predicted_3B": 0.0022,
"predicted_AB": 2.9094,
"predicted_AVG": 0.2152,
"predicted_BB": 0.2823,
"predicted_H": 0.626,
"predicted_HBP": 0.018,
"predicted_HR": 0.1906,
"predicted_OBP": 0.2846,
"predicted_R": 0.3374,
"predicted_RBI": 0.5607,
"predicted_SLG": 0.4226,
"predicted_SO": 1.3485
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0272,
"after": 0.0272,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0022,
"after": 0.0022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9094,
"after": 2.9094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2315,
"after": 0.2152,
"delta": -0.0163,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2813,
"after": 0.2823,
"delta": 0.001,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6175,
"after": 0.626,
"delta": 0.0085,
"percent_delta": 0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1861,
"after": 0.1906,
"delta": 0.0045,
"percent_delta": 0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2746,
"after": 0.2846,
"delta": 0.01,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3305,
"after": 0.3374,
"delta": 0.0069,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5492,
"after": 0.5607,
"delta": 0.0115,
"percent_delta": 0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4401,
"after": 0.4226,
"delta": -0.0175,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3534,
"after": 1.3485,
"delta": -0.0049,
"percent_delta": -0.0036,
"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.2746,
"after": 0.2846,
"delta": 0.01,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4401,
"after": 0.4226,
"delta": -0.0175,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.91), rates preserved: AVG=0.215 HR/AB=0.066",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0272,
"after": 0.0,
"delta": -0.0272,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0022,
"after": 0.0,
"delta": -0.0022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9094,
"after": 3.0,
"delta": 0.0906,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2823,
"after": 0.0,
"delta": -0.2823,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.626,
"after": 1.0,
"delta": 0.374,
"percent_delta": 0.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1906,
"after": 0.0,
"delta": -0.1906,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5607,
"after": 1.0,
"delta": 0.4393,
"percent_delta": 0.7835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3485,
"after": 1.0,
"delta": -0.3485,
"percent_delta": -0.2584,
"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.5607,
"after": 1.0,
"delta": 0.4393,
"percent_delta": 0.7835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3485,
"after": 1.0,
"delta": -0.3485,
"percent_delta": -0.2584,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3374,
"after": 0.0,
"delta": -0.3374,
"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.3374,
"after": 0.0,
"delta": -0.3374,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2152,
"after": 0.333,
"delta": 0.1178,
"percent_delta": 0.5474,
"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.2846,
"after": 0.333,
"delta": 0.0484,
"percent_delta": 0.1701,
"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.4226,
"after": 0.333,
"delta": -0.0896,
"percent_delta": -0.212,
"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.2152,
"after": 0.333,
"delta": 0.1178,
"percent_delta": 0.5474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4226,
"after": 0.333,
"delta": -0.0896,
"percent_delta": -0.212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_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.2152,
"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.2846,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4226,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2152,
"delta": -0.1178,
"percent_delta": -0.3538,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2846,
"delta": -0.0484,
"percent_delta": -0.1454,
"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.4226,
"delta": 0.0896,
"percent_delta": 0.2691,
"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.4226,
"delta": 0.0896,
"percent_delta": 0.2691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2152,
"delta": -0.1178,
"percent_delta": -0.3538,
"direction": "deboost",
"projection_effect": "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.714,
"after": 4.0,
"delta": 1.286,
"percent_delta": 0.4738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2152,
"delta": -0.0278,
"percent_delta": -0.1144,
"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.59,
"after": 0.0,
"delta": -0.59,
"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.278,
"after": 0.2846,
"delta": 0.0066,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.286,
"after": 0.0,
"delta": -0.286,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4226,
"delta": -0.0104,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.429,
"after": 2.0,
"delta": 0.571,
"percent_delta": 0.3996,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.714,
"after": 4.0,
"delta": 1.286,
"percent_delta": 0.4738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.714 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.286 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.278 | - |
| predicted_R | 0.286 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.433 | - |
| predicted_SO | 1.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.027 | 0.027 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.909 | 0.195 |
| predicted_AVG | 0.232 | -0.011 |
| predicted_BB | 0.281 | -0.005 |
| predicted_H | 0.618 | 0.028 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.186 | 0.026 |
| predicted_OBP | 0.275 | -0.003 |
| predicted_R | 0.331 | 0.045 |
| predicted_RBI | 0.549 | 0.069 |
| predicted_SLG | 0.440 | 0.007 |
| predicted_SO | 1.353 | -0.076 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.027 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.909 | 0.000 |
| predicted_AVG | 0.215 | -0.016 |
| predicted_BB | 0.282 | 0.001 |
| predicted_H | 0.626 | 0.008 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.191 | 0.005 |
| predicted_OBP | 0.285 | 0.010 |
| predicted_R | 0.337 | 0.007 |
| predicted_RBI | 0.561 | 0.011 |
| predicted_SLG | 0.423 | -0.018 |
| predicted_SO | 1.349 | -0.005 |
AB rounded to 3 (raw=2.91), rates preserved: AVG=0.215 HR/AB=0.066
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.027 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.091 |
| predicted_AVG | 0.333 | 0.118 |
| predicted_BB | 0.000 | -0.282 |
| predicted_H | 1.000 | 0.374 |
| predicted_HR | 0.000 | -0.191 |
| predicted_OBP | 0.333 | 0.048 |
| predicted_R | 0.000 | -0.337 |
| predicted_RBI | 1.000 | 0.439 |
| predicted_SLG | 0.333 | -0.090 |
| predicted_SO | 1.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 | 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 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 1.000 | 7.000 | 0.1429 | 0.2000 | 0.5714 | 0.1429 | 0.1429 | 0.3571 | 0.0714 | 0.5000 |
| last_10 | 0.20 | 7 | - | 19.000 | 2.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 2.000 | 10.000 | 0.1053 | 0.1905 | 0.4211 | 0.1053 | 0.1053 | 0.2632 | 0.1053 | 0.5263 |
| season | 0.60 | 7 | - | 19.000 | 2.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 2.000 | 10.000 | 0.1053 | 0.1905 | 0.4211 | 0.1053 | 0.1053 | 0.2632 | 0.1053 | 0.5263 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.4170 |
| predicted_AVG | 0.2018 |
| predicted_BB | 0.2690 |
| predicted_H | 0.6890 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.2540 |
| predicted_OBP | 0.2657 |
| predicted_R | 0.4460 |
| predicted_RBI | 0.7290 |
| predicted_SLG | 0.4585 |
| predicted_SO | 1.1570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0980 | 0.0272 | model_form_blend |
| predicted_3B | 0.0000 | 0.0080 | 0.0022 | model_form_blend |
| predicted_AB | 2.7140 | 3.4170 | 2.9094 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2018 | 0.2315 | model_form_blend |
| predicted_BB | 0.2860 | 0.2690 | 0.2813 | model_form_blend |
| predicted_H | 0.5900 | 0.6890 | 0.6175 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1600 | 0.2540 | 0.1861 | model_form_blend |
| predicted_OBP | 0.2780 | 0.2657 | 0.2746 | model_form_blend |
| predicted_R | 0.2860 | 0.4460 | 0.3305 | model_form_blend |
| predicted_RBI | 0.4800 | 0.7290 | 0.5492 | model_form_blend |
| predicted_SLG | 0.4330 | 0.4585 | 0.4401 | model_form_blend |
| predicted_SO | 1.4290 | 1.1570 | 1.3534 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 7 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.105 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 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 | PH |
| gameID | 20260612_MIA@PIT |
| game_type | ph |
| mlbID | 699013 |
| note | Struck out for Callihan, T in the 9th. |
| playerID | 699013 |
| playerName | Esmerlyn Valdez |
| pos | OF |
| started | False |
| startingPosition | PH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-12 |
| sl_k_percent | 47.6 |
| sl_bb_percent | 9.5 |
| sl_woba | 0.263 |
| sl_xwoba | 0.283 |
| sl_xba | 0.146 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 44.4 |
| sl_barrel_batted_rate | 33.3 |
| sl_hard_hit_percent | 66.7 |
| sl_exit_velocity_avg | 94.9 |
| sl_launch_angle_avg | 17.8 |
| sl_whiff_percent | 41.0 |
| 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 | 1.667 | 1.000 | -1.667 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 2.333 | 2.000 | -1.333 | -1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.667 | 3.000 | 0.333 | 2.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 4.367 | 4.000 | -0.267 | 0.100 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 4.667 | 4.000 | -0.667 | 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: 4.6667 -> 4.1000 (deboost -0.5667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 4.6667 -> 4.1000 (deboost -0.5667, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683003",
"player_name": "Jared Jones",
"position": "Starter",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_SO": 4.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_R": 1.0,
"predicted_SO": 4.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.1,
"after": 4.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.667 | - |
| 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 | 0.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.100 | -0.567 |
| 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 | 3 | 13.100 | 7.000 | 14.000 | 5.000 | 14.000 | 2.000 | 4.7250 | 1.4250 | 0.5250 | 1.0500 | 0.3750 | 1.0500 | 0.1500 |
| last_10 | 0.35 | 3 | 13.100 | 7.000 | 14.000 | 5.000 | 14.000 | 2.000 | 4.7250 | 1.4250 | 0.5250 | 1.0500 | 0.3750 | 1.0500 | 0.1500 |
| season | 0.20 | 3 | 13.100 | 7.000 | 14.000 | 5.000 | 14.000 | 2.000 | 4.7250 | 1.4250 | 0.5250 | 1.0500 | 0.3750 | 1.0500 | 0.1500 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6630 |
| predicted_ER | 2.3030 |
| predicted_ERA | 4.5646 |
| predicted_H | 4.5480 |
| predicted_HR | 0.6680 |
| predicted_IP | 4.2000 |
| predicted_SO | 4.4390 |
| predicted_WHIP | 1.3676 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.6630 | 0.6418 | model_form_blend |
| predicted_ER | 1.0000 | 2.3030 | 1.5029 | model_form_blend |
| predicted_ERA | - | 4.5646 | 4.5646 | form_only |
| predicted_H | 5.0000 | 4.5480 | 4.8256 | model_form_blend |
| predicted_HR | 0.0000 | 0.6680 | 0.2578 | model_form_blend |
| predicted_IP | 4.2000 | 4.2000 | 4.2000 | model_form_blend |
| predicted_SO | 4.0000 | 4.4390 | 4.1694 | model_form_blend |
| predicted_WHIP | - | 1.3676 | 1.3676 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 3 |
| Season rows before report date | 3 |
| Report year | 2026 |
| Profile rows used | 3 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 4.1 |
| H | 5 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 4 |
| HR | 0 |
| BF | 19 |
| Pitches | 75 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 16 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.73 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 4 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.0 |
| Pitching_Pitches | 75 |
| Pitching_R | 2 |
| Pitching_SO | 4 |
| Pitching_Strikes | 45 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260610_LAD@PIT |
| game_type | full |
| mlbID | 683003 |
| playerID | 683003 |
| playerName | Jared Jones |
| pos | P |
| started | True |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-10 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.343 |
| sl_xwoba | 0.354 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 46.2 |
| sl_whiff_percent | 34.9 |
| sl_swing_percent | 48.2 |
| sl_avg_best_speed | 79.1579515 |
| sl_avg_hyper_speed | 94.640673333 |
| 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.769 | 3.000 | -0.769 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.154 | 4.000 | -2.154 | -4.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 5.000 | 3.000 | -5.000 | -3.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 4.623 | 3.200 | -3.523 | -2.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 4.000 | 3.000 | -2.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669387",
"player_name": "Carmen Mlodzinski",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.3333,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 22.200 | 8.000 | 20.000 | 10.000 | 11.000 | 3.000 | 3.1765 | 1.3235 | 0.3529 | 0.8823 | 0.4412 | 0.4853 | 0.1323 |
| last_10 | 0.35 | 10 | 48.100 | 24.000 | 48.000 | 17.000 | 37.000 | 5.000 | 4.4690 | 1.3448 | 0.4965 | 0.9931 | 0.3517 | 0.7655 | 0.1035 |
| season | 0.20 | 13 | 62.200 | 28.000 | 65.000 | 23.000 | 52.000 | 5.000 | 4.0213 | 1.4043 | 0.4468 | 1.0372 | 0.3670 | 0.8298 | 0.0798 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4420 |
| predicted_ER | 1.6560 |
| predicted_ERA | 3.9841 |
| predicted_H | 3.5820 |
| predicted_HR | 0.4530 |
| predicted_IP | 3.2000 |
| predicted_SO | 2.7320 |
| predicted_WHIP | 1.3432 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.4420 | 1.2354 | model_form_blend |
| predicted_ER | 0.0000 | 1.6560 | 0.8820 | model_form_blend |
| predicted_ERA | - | 3.9841 | 3.9841 | form_only |
| predicted_H | 0.0000 | 3.5820 | 1.9079 | model_form_blend |
| predicted_HR | 0.0000 | 0.4530 | 0.2413 | model_form_blend |
| predicted_IP | 1.1000 | 3.2000 | 2.2000 | model_form_blend |
| predicted_SO | 2.0000 | 2.7320 | 2.3899 | model_form_blend |
| predicted_WHIP | - | 1.3432 | 1.3432 | 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 | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 5 |
| Pitches | 29 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 17 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.02 |
| Pitching_Flyouts | 4 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.2 |
| Pitching_Pitches | 76 |
| Pitching_R | 4 |
| Pitching_SO | 3 |
| Pitching_Strikes | 44 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260610_LAD@PIT |
| game_type | full |
| mlbID | 669387 |
| playerID | 669387 |
| playerName | Carmen Mlodzinski |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-10 |
| sl_k_percent | 19.3 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.325 |
| sl_xwoba | 0.348 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 50.5 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 44.0 |
| sl_avg_best_speed | 81.99656375 |
| sl_avg_hyper_speed | 95.44649 |
| 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.533 | 0.000 | -0.533 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.900 | 0.000 | -0.900 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.863 | 1.000 | 0.137 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.733 | 0.000 | -0.733 | 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": "642701",
"player_name": "Dennis Santana",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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.100 | 2.000 | 4.000 | 3.000 | 5.000 | 0.000 | 4.1538 | 1.6154 | 0.4615 | 0.9231 | 0.6923 | 1.1539 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 6.000 | 9.000 | 7.000 | 12.000 | 1.000 | 5.5862 | 1.6552 | 0.6207 | 0.9310 | 0.7241 | 1.2414 | 0.1035 |
| season | 0.20 | 29 | 28.000 | 13.000 | 23.000 | 16.000 | 22.000 | 3.000 | 4.1786 | 1.3929 | 0.4643 | 0.8214 | 0.5714 | 0.7857 | 0.1071 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5280 |
| predicted_ER | 0.5080 |
| predicted_ERA | 4.5692 |
| predicted_H | 0.9370 |
| predicted_HR | 0.0990 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0270 |
| predicted_WHIP | 1.4655 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5280 | 0.2374 | model_form_blend |
| predicted_ER | 0.0000 | 0.5080 | 0.2284 | model_form_blend |
| predicted_ERA | - | 4.5692 | 4.5692 | form_only |
| predicted_H | 0.0000 | 0.9370 | 0.4213 | model_form_blend |
| predicted_HR | 0.0000 | 0.0990 | 0.0445 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0270 | 0.4618 | model_form_blend |
| predicted_WHIP | - | 1.4655 | 1.4655 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.82 |
| 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260611_LAD@PIT |
| game_type | full |
| mlbID | 642701 |
| playerID | 642701 |
| playerName | Dennis Santana |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-11 |
| sl_k_percent | 17.3 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.344 |
| sl_xwoba | 0.349 |
| sl_sweet_spot_percent | 40.2 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 40.2 |
| sl_whiff_percent | 23.6 |
| sl_swing_percent | 49.3 |
| sl_avg_best_speed | 78.393730227 |
| sl_avg_hyper_speed | 93.796921379 |
| 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 | 2.000 | 2.000 | 2.000 | Pitching_H | 0.885 | 1.000 | 1.115 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.938 | 1.000 | 0.162 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.385 | 0.000 | 0.615 | 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": "681895",
"player_name": "Evan Sisk",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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 | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 6.000 | 2.000 | 6.000 | 0.000 | 3.6000 | 1.6000 | 0.4000 | 1.2000 | 0.4000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 7.000 | 4.000 | 12.000 | 0.000 | 1.8000 | 1.1000 | 0.2000 | 0.7000 | 0.4000 | 1.2000 | 0.0000 |
| season | 0.20 | 26 | 30.000 | 6.000 | 23.000 | 11.000 | 36.000 | 1.000 | 1.8000 | 1.1333 | 0.2000 | 0.7667 | 0.3667 | 1.2000 | 0.0333 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3790 |
| predicted_ER | 0.3840 |
| predicted_ERA | 3.4593 |
| predicted_H | 0.9540 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0780 |
| predicted_WHIP | 1.3324 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3790 | 0.1732 | model_form_blend |
| predicted_ER | 0.0000 | 0.3840 | 0.1755 | model_form_blend |
| predicted_ERA | - | 3.4593 | 3.4593 | form_only |
| predicted_H | 2.0000 | 0.9540 | 1.5221 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0320 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0780 | 1.5787 | model_form_blend |
| predicted_WHIP | - | 1.3324 | 1.3324 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 26 |
| Season rows before report date | 26 |
| Report year | 2026 |
| Profile rows used | 26 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.80 |
| 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 | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260614_MIA@PIT |
| game_type | full |
| mlbID | 681895 |
| playerID | 681895 |
| playerName | Evan Sisk |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-14 |
| sl_k_percent | 30.3 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.286 |
| sl_xwoba | 0.248 |
| sl_sweet_spot_percent | 27.9 |
| sl_barrel_batted_rate | 2.9 |
| sl_hard_hit_percent | 29.4 |
| sl_whiff_percent | 25.8 |
| sl_swing_percent | 42.2 |
| sl_avg_best_speed | 74.706470882 |
| sl_avg_hyper_speed | 92.407635075 |
| 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.387 | 0.000 | 0.613 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.355 | 0.000 | 1.645 | 2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.516 | 1.000 | 0.484 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.926 | 1.000 | 0.074 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.129 | 1.000 | -0.129 | 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": "642397",
"player_name": "Gregory Soto",
"position": "Middle Reliever",
"team": "PIT",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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 | 2.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 2.000 | 3.000 | 1.000 | 4.000 | 1.000 | 3.6000 | 0.8000 | 0.4000 | 0.6000 | 0.2000 | 0.8000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 5.000 | 7.000 | 4.000 | 9.000 | 1.000 | 4.5000 | 1.1000 | 0.5000 | 0.7000 | 0.4000 | 0.9000 | 0.1000 |
| season | 0.20 | 30 | 30.100 | 8.000 | 13.000 | 11.000 | 35.000 | 2.000 | 2.3736 | 0.7912 | 0.2637 | 0.4286 | 0.3626 | 1.1539 | 0.0659 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3290 |
| predicted_ER | 0.4480 |
| predicted_ERA | 4.0325 |
| predicted_H | 0.7690 |
| predicted_HR | 0.1410 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9190 |
| predicted_WHIP | 1.0986 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3290 | 0.6926 | model_form_blend |
| predicted_ER | 2.0000 | 0.4480 | 1.2891 | model_form_blend |
| predicted_ERA | - | 4.0325 | 4.0325 | form_only |
| predicted_H | 1.0000 | 0.7690 | 0.8942 | model_form_blend |
| predicted_HR | 0.0000 | 0.1410 | 0.0646 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9190 | 0.9629 | model_form_blend |
| predicted_WHIP | - | 1.0986 | 1.0986 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 2 |
| ER | 2 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.26 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260613_MIA@PIT |
| game_type | full |
| mlbID | 642397 |
| playerID | 642397 |
| playerName | Gregory Soto |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-06-13 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.236 |
| sl_xwoba | 0.262 |
| sl_sweet_spot_percent | 25.4 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 36.6 |
| sl_whiff_percent | 27.3 |
| sl_swing_percent | 42.9 |
| sl_avg_best_speed | 72.526871714 |
| sl_avg_hyper_speed | 93.137878696 |
| Field | Value |
|---|---|
| Pitcher | J.T. Ginn |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1132 |
| ESPN Rank | 17 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1041 |
| Avg Velo | 91.5862 |
| Avg Spin | 2016.7389 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 3.1542 |
| Season WHIP | 1.1495 |
| Role Avg IP | 5.3610 |
| Recent Avg IP | 5.6000 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"opponent": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"edges": {
"quality_edge": -0.017,
"offense_edge": 0.0236,
"opponent_offense_edge": 0.0771,
"defense_strength": -0.143,
"opponent_defense_weakness": 0.0592,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9919,
"run_prevention": 1.0275,
"strikeout": 0.9933
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669372",
"profile": {
"available": true,
"pitcher_id": "669372",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 22.4,
"bb_percent": 10.3,
"woba": 0.289,
"xwoba": 0.307,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 37.7,
"avg_best_speed": 76.7999,
"avg_hyper_speed": 93.9306,
"whiff_percent": 27.2,
"swing_percent": 46.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.3083,
"command_and_miss": 0.0057,
"regression_edge": -0.5143,
"xwoba_edge": 0.2286,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.1286,
"whiff_edge": 0.2429,
"bb_edge": -0.3,
"pitch_design_score": 0.1041
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669372",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5862,
"release_spin_rate": 2016.7389,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1041,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7433,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1132,
"sample_weight": 0.864,
"run_prevention_factor": 0.9904,
"strikeout_factor": 1.0069,
"walk_factor": 1.0207,
"homer_factor": 0.9743,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669372",
"espn_id": 4414002,
"player_name": "J.T. Ginn",
"team": "ATH",
"role": "pitcher",
"espn_rank": 17,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 17,
"gp_value": 15.0,
"gp_rank": 222,
"gs_value": 12.0,
"gs_rank": 83,
"qs_value": 5.0,
"qs_rank": 45,
"era_value": 3.1542,
"era_rank": 19.0,
"w_value": 4.0,
"w_rank": 59,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 71.1,
"ip_rank": 66,
"h_value": 52.0,
"h_rank": 110,
"er_value": 25.0,
"er_rank": 105,
"hr_value": 8.0,
"hr_rank": 74,
"bb_value": 30.0,
"bb_rank": 22,
"k_value": 65.0,
"k_rank": 61,
"k_per_9_value": 8.200934,
"k_per_9_rank": 24,
"whip_value": 1.1495,
"whip_rank": 29.0,
"war_value": 2.18,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9917,
"adjusted": 2
},
"predicted_H": {
"original": 3.0,
"factor": 0.9917,
"adjusted": 3
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0179,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9778,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.006,
"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": 19,
"H": 43,
"BB": 23,
"SO": 54,
"HR": 6,
"ERA": 3.109090909090909,
"WHIP": 1.2,
"K9": 8.836363636363636,
"HR9": 0.9818181818181818,
"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-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "669372",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 91.58619528932947,
"release_spin_rate": 2016.7388784769335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5862,
"release_spin_rate": 2016.7389,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1041,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.7433,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"player_id": "669372",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 10.0,
"R": 11.0,
"H": 16.0,
"BB": 14.0,
"SO": 31.0,
"HR": 3.0,
"BF": 115.0,
"Pitches": 443.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0,
"R": 2.2,
"H": 3.2,
"BB": 2.8,
"SO": 6.2,
"HR": 0.6,
"BF": 23.0,
"Pitches": 88.6
},
"rates": {
"ERA": 3.2143,
"WHIP": 1.0714,
"ER_per_IP": 0.35714,
"H_per_IP": 0.57143,
"BB_per_IP": 0.5,
"SO_per_IP": 1.10714,
"HR_per_IP": 0.10714
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.0,
"ER": 19.0,
"R": 21.0,
"H": 43.0,
"BB": 23.0,
"SO": 54.0,
"HR": 6.0,
"BF": 227.0,
"Pitches": 860.0
},
"per_game": {
"IP": 5.1,
"ER": 1.9,
"R": 2.1,
"H": 4.3,
"BB": 2.3,
"SO": 5.4,
"HR": 0.6,
"BF": 22.7,
"Pitches": 86.0
},
"rates": {
"ERA": 3.1091,
"WHIP": 1.2,
"ER_per_IP": 0.34545,
"H_per_IP": 0.78182,
"BB_per_IP": 0.41818,
"SO_per_IP": 0.98182,
"HR_per_IP": 0.10909
}
},
"season": {
"games": 15,
"totals": {
"IP": 71.1,
"ER": 25.0,
"R": 27.0,
"H": 52.0,
"BB": 30.0,
"SO": 65.0,
"HR": 8.0,
"BF": 290.0,
"Pitches": 1110.0
},
"per_game": {
"IP": 4.2,
"ER": 1.6667,
"R": 1.8,
"H": 3.4667,
"BB": 2.0,
"SO": 4.3333,
"HR": 0.5333,
"BF": 19.3333,
"Pitches": 74.0
},
"rates": {
"ERA": 3.1542,
"WHIP": 1.1495,
"ER_per_IP": 0.35047,
"H_per_IP": 0.72897,
"BB_per_IP": 0.42056,
"SO_per_IP": 0.91121,
"HR_per_IP": 0.11215
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.106,
"predicted_H": 4.074,
"predicted_BB": 2.345,
"predicted_SO": 5.437,
"predicted_HR": 0.64,
"predicted_ERA": 3.4912,
"predicted_WHIP": 1.1823
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.106,
"final": 2.0577,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.074,
"final": 4.4959,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.345,
"final": 1.7322,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 5.437,
"final": 5.6935,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.64,
"final": 0.804,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4912,
"final": 3.4912,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1823,
"final": 1.1823,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Hogan Harris |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2485 |
| ESPN Rank | 55 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.6733 |
| Season WHIP | 1.4851 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"opponent": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"edges": {
"quality_edge": -0.017,
"offense_edge": 0.0236,
"opponent_offense_edge": 0.0771,
"defense_strength": -0.143,
"opponent_defense_weakness": 0.0592,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9919,
"run_prevention": 1.0275,
"strikeout": 0.9933
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663687",
"profile": {
"available": true,
"pitcher_id": "663687",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 114.0,
"k_percent": 25.8,
"bb_percent": 15.2,
"woba": 0.299,
"xwoba": 0.283,
"sweet_spot_percent": 25.3,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 26.4,
"avg_best_speed": 74.2224,
"avg_hyper_speed": 92.2682,
"whiff_percent": 25.5,
"swing_percent": 43.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.9407,
"command_and_miss": -0.1057,
"regression_edge": 0.4571,
"xwoba_edge": 0.9143,
"barrel_edge": 0.8667,
"hard_hit_edge": 1.7429,
"whiff_edge": 0.0,
"bb_edge": -1.525,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "663687",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.2485,
"sample_weight": 0.456,
"run_prevention_factor": 0.9789,
"strikeout_factor": 1.0081,
"walk_factor": 1.0556,
"homer_factor": 0.9241,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663687",
"espn_id": 41364,
"player_name": "Hogan Harris",
"team": "ATH",
"role": "pitcher",
"espn_rank": 55,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 55,
"gp_value": 36.0,
"gp_rank": 3,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.6732,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 6.0,
"sv_rank": 22,
"hld_value": 10.0,
"hld_rank": 21,
"ip_value": 33.2,
"ip_rank": 186,
"h_value": 27.0,
"h_rank": 236,
"er_value": 10.0,
"er_rank": 308,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 23.0,
"bb_rank": 72,
"k_value": 39.0,
"k_rank": 158,
"k_per_9_value": 10.425742,
"k_per_9_rank": 22,
"whip_value": 1.4851,
"whip_rank": null,
"war_value": 1.39,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9904,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9904,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0254,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9654,
"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.2,
"ER": 2,
"H": 6,
"BB": 4,
"SO": 13,
"HR": 0,
"ERA": 1.8620689655172415,
"WHIP": 1.0344827586206897,
"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-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "663687",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.667,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5714,
"prior_weight": 0.4286
},
"role": "pitcher",
"player_id": "663687",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 36,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 8.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 106.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 1.6,
"HR": 0.0,
"BF": 4.2,
"Pitches": 21.2
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.0588,
"ER_per_IP": 0.35294,
"H_per_IP": 0.88235,
"BB_per_IP": 0.17647,
"SO_per_IP": 1.41176,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 4.0,
"SO": 13.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 179.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.4,
"SO": 1.3,
"HR": 0.0,
"BF": 3.7,
"Pitches": 17.9
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.0345,
"ER_per_IP": 0.2069,
"H_per_IP": 0.62069,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.34483,
"HR_per_IP": 0.0
}
},
"season": {
"games": 36,
"totals": {
"IP": 33.2,
"ER": 10.0,
"R": 11.0,
"H": 27.0,
"BB": 23.0,
"SO": 39.0,
"HR": 2.0,
"BF": 151.0,
"Pitches": 640.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2778,
"R": 0.3056,
"H": 0.75,
"BB": 0.6389,
"SO": 1.0833,
"HR": 0.0556,
"BF": 4.1944,
"Pitches": 17.7778
},
"rates": {
"ERA": 2.6733,
"WHIP": 1.4851,
"ER_per_IP": 0.29703,
"H_per_IP": 0.80198,
"BB_per_IP": 0.68317,
"SO_per_IP": 1.15842,
"HR_per_IP": 0.05941
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.379,
"predicted_H": 0.859,
"predicted_BB": 0.361,
"predicted_SO": 1.165,
"predicted_HR": 0.069,
"predicted_ERA": 3.4098,
"predicted_WHIP": 1.2203
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5311,
"form_weight": 0.4689,
"form_reliability": 0.5714,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.667,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5714,
"prior_weight": 0.4286
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.379,
"final": 0.1777,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.859,
"final": 0.9339,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.361,
"final": 0.1693,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.165,
"final": 1.0774,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.069,
"final": 0.0324,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4098,
"final": 3.4098,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2203,
"final": 1.2203,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Mark Leiter Jr. |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0698 |
| ESPN Rank | 300 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 3 |
| Pre SO | 1 |
| Season ERA | 5.0233 |
| Season WHIP | 1.3953 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"opponent": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"edges": {
"quality_edge": -0.017,
"offense_edge": 0.0236,
"opponent_offense_edge": 0.0771,
"defense_strength": -0.143,
"opponent_defense_weakness": 0.0592,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9919,
"run_prevention": 1.0275,
"strikeout": 0.9933
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "643410",
"profile": {
"available": true,
"pitcher_id": "643410",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 25.2,
"bb_percent": 8.1,
"woba": 0.312,
"xwoba": 0.318,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 32.1,
"avg_best_speed": 76.5385,
"avg_hyper_speed": 92.8811,
"whiff_percent": 27.9,
"swing_percent": 46.4
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.1542,
"command_and_miss": 0.3307,
"regression_edge": -0.1714,
"xwoba_edge": -0.0857,
"barrel_edge": 0.8,
"hard_hit_edge": 0.9286,
"whiff_edge": 0.3429,
"bb_edge": 0.25,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "643410",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0698,
"sample_weight": 0.45,
"run_prevention_factor": 0.9941,
"strikeout_factor": 1.0126,
"walk_factor": 0.991,
"homer_factor": 0.9556,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643410",
"espn_id": 36202,
"player_name": "Mark Leiter Jr.",
"team": "ATH",
"role": "pitcher",
"espn_rank": 300,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 300,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.0232,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 4.0,
"sv_rank": 30,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 28.2,
"ip_rank": 263,
"h_value": 30.0,
"h_rank": 200,
"er_value": 16.0,
"er_rank": 190,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 10.0,
"bb_rank": 294,
"k_value": 31.0,
"k_rank": 225,
"k_per_9_value": 9.732558,
"k_per_9_rank": 23,
"whip_value": 1.3953,
"whip_rank": null,
"war_value": 0.14,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9973,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9973,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.98,
"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": 9.0,
"ER": 1,
"H": 4,
"BB": 4,
"SO": 9,
"HR": 0,
"ERA": 1.0,
"WHIP": 0.8888888888888888,
"K9": 9.0,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "643410",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.676,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5317,
"prior_weight": 0.4683
},
"role": "pitcher",
"player_id": "643410",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 72.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.0,
"BF": 3.0,
"Pitches": 14.4
},
"rates": {
"ERA": 2.25,
"WHIP": 1.0,
"ER_per_IP": 0.25,
"H_per_IP": 0.5,
"BB_per_IP": 0.5,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 4.0,
"SO": 9.0,
"HR": 0.0,
"BF": 32.0,
"Pitches": 134.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.4,
"SO": 0.9,
"HR": 0.0,
"BF": 3.2,
"Pitches": 13.4
},
"rates": {
"ERA": 1.0,
"WHIP": 0.8889,
"ER_per_IP": 0.11111,
"H_per_IP": 0.44444,
"BB_per_IP": 0.44444,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 31,
"totals": {
"IP": 28.2,
"ER": 16.0,
"R": 16.0,
"H": 30.0,
"BB": 10.0,
"SO": 31.0,
"HR": 2.0,
"BF": 123.0,
"Pitches": 472.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5161,
"R": 0.5161,
"H": 0.9677,
"BB": 0.3226,
"SO": 1.0,
"HR": 0.0645,
"BF": 3.9677,
"Pitches": 15.2258
},
"rates": {
"ERA": 5.0233,
"WHIP": 1.3953,
"ER_per_IP": 0.55814,
"H_per_IP": 1.04651,
"BB_per_IP": 0.34884,
"SO_per_IP": 1.0814,
"HR_per_IP": 0.06977
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.343,
"predicted_H": 0.708,
"predicted_BB": 0.376,
"predicted_SO": 1.01,
"predicted_HR": 0.069,
"predicted_ERA": 3.3511,
"predicted_WHIP": 1.1774
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5479,
"form_weight": 0.4521,
"form_reliability": 0.5317,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.676,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5317,
"prior_weight": 0.4683
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.343,
"final": 1.2508,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.708,
"final": 1.4158,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.376,
"final": 1.8136,
"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.069,
"final": 0.0312,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3511,
"final": 3.3511,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1774,
"final": 1.1774,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Scott Barlow |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0335 |
| ESPN Rank | 435 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 4.0213 |
| Season WHIP | 1.1489 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "OAK",
"games": 76,
"wins": 37,
"losses": 39,
"win_pct": 0.4868,
"runs_scored": 350.0,
"runs_allowed": 399.0,
"run_differential": -49.0,
"run_differential_per_game": -0.6447,
"avg_runs_scored": 4.6053,
"avg_runs_allowed": 5.25,
"offense_index": 1.0236,
"defense_index": 0.857,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 8.0,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.09
},
"opponent": {
"team": "PIT",
"games": 78,
"wins": 38,
"losses": 40,
"win_pct": 0.4872,
"runs_scored": 378.0,
"runs_allowed": 373.0,
"run_differential": 5.0,
"run_differential_per_game": 0.0641,
"avg_runs_scored": 4.8462,
"avg_runs_allowed": 4.7821,
"offense_index": 1.0771,
"defense_index": 0.9408,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.8,
"run_differential": -19.0
},
"available": true,
"quality_score": -0.073
},
"edges": {
"quality_edge": -0.017,
"offense_edge": 0.0236,
"opponent_offense_edge": 0.0771,
"defense_strength": -0.143,
"opponent_defense_weakness": 0.0592,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9919,
"run_prevention": 1.0275,
"strikeout": 0.9933
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "605130",
"profile": {
"available": true,
"pitcher_id": "605130",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 97.0,
"k_percent": 18.7,
"bb_percent": 13.4,
"woba": 0.3,
"xwoba": 0.328,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 32.6,
"avg_best_speed": 77.0416,
"avg_hyper_speed": 93.0203,
"whiff_percent": 33.8,
"swing_percent": 42.1
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0363,
"command_and_miss": -0.0571,
"regression_edge": -0.8,
"xwoba_edge": -0.3714,
"barrel_edge": -0.1778,
"hard_hit_edge": 0.8571,
"whiff_edge": 1.1857,
"bb_edge": -1.075,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "605130",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0335,
"sample_weight": 0.45,
"run_prevention_factor": 1.0029,
"strikeout_factor": 1.0111,
"walk_factor": 1.0387,
"homer_factor": 0.996,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605130",
"espn_id": 32156,
"player_name": "Scott Barlow",
"team": "ATH",
"role": "pitcher",
"espn_rank": 435,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 435,
"gp_value": 33.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.1702,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 10.0,
"hld_rank": 21,
"ip_value": 31.1,
"ip_rank": 214,
"h_value": 21.0,
"h_rank": 296,
"er_value": 18.0,
"er_rank": 167,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 19.0,
"bb_rank": 121,
"k_value": 26.0,
"k_rank": 281,
"k_per_9_value": 7.468085,
"k_per_9_rank": 35,
"whip_value": 1.2765,
"whip_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0013,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0013,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0174,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9982,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.005,
"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": 10,
"H": 10,
"BB": 10,
"SO": 5,
"HR": 4,
"ERA": 11.25,
"WHIP": 2.5,
"K9": 5.625,
"HR9": 4.5,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "605130",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.205,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5538,
"prior_weight": 0.4462
},
"role": "pitcher",
"player_id": "605130",
"report_date": "20260615_P",
"season_year": 2026,
"rows_used": 32,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 9.0,
"R": 10.0,
"H": 8.0,
"BB": 4.0,
"SO": 3.0,
"HR": 3.0,
"BF": 25.0,
"Pitches": 93.0
},
"per_game": {
"IP": 1.0,
"ER": 1.8,
"R": 2.0,
"H": 1.6,
"BB": 0.8,
"SO": 0.6,
"HR": 0.6,
"BF": 5.0,
"Pitches": 18.6
},
"rates": {
"ERA": 18.6923,
"WHIP": 2.7692,
"ER_per_IP": 2.07692,
"H_per_IP": 1.84615,
"BB_per_IP": 0.92308,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.69231
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.0,
"ER": 10.0,
"R": 11.0,
"H": 10.0,
"BB": 10.0,
"SO": 5.0,
"HR": 4.0,
"BF": 44.0,
"Pitches": 176.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.1,
"H": 1.0,
"BB": 1.0,
"SO": 0.5,
"HR": 0.4,
"BF": 4.4,
"Pitches": 17.6
},
"rates": {
"ERA": 11.25,
"WHIP": 2.5,
"ER_per_IP": 1.25,
"H_per_IP": 1.25,
"BB_per_IP": 1.25,
"SO_per_IP": 0.625,
"HR_per_IP": 0.5
}
},
"season": {
"games": 32,
"totals": {
"IP": 31.1,
"ER": 14.0,
"R": 16.0,
"H": 19.0,
"BB": 17.0,
"SO": 26.0,
"HR": 5.0,
"BF": 135.0,
"Pitches": 513.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4375,
"R": 0.5,
"H": 0.5938,
"BB": 0.5312,
"SO": 0.8125,
"HR": 0.1562,
"BF": 4.2188,
"Pitches": 16.0312
},
"rates": {
"ERA": 4.0213,
"WHIP": 1.1489,
"ER_per_IP": 0.44681,
"H_per_IP": 0.60638,
"BB_per_IP": 0.54255,
"SO_per_IP": 0.82979,
"HR_per_IP": 0.15957
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.964,
"predicted_H": 1.126,
"predicted_BB": 0.649,
"predicted_SO": 0.75,
"predicted_HR": 0.329,
"predicted_ERA": 9.2781,
"predicted_WHIP": 1.8968
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5385,
"form_weight": 0.4615,
"form_reliability": 0.5538,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.205,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5538,
"prior_weight": 0.4462
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.964,
"final": 0.4449,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.126,
"final": 0.5196,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.649,
"final": 0.2995,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.75,
"final": 0.3461,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.329,
"final": 0.1518,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 9.2781,
"final": 9.2781,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.8968,
"final": 1.8968,
"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.279 | 0.000 | 0.000 | Hitting_2B | 0.316 | 1.000 | -0.316 | -1.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.990 | 3.000 | 4.000 | Hitting_AB | 3.835 | 4.000 | -0.835 | -1.000 |
| predicted_AVG | 0.245 | 0.667 | 0.250 | Hitting_AVG | 0.222 | 0.500 | 0.444 | 0.167 |
| predicted_BB | 0.515 | 1.000 | 1.000 | Hitting_BB | 0.494 | 0.000 | 0.506 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.980 | 2.000 | 1.000 | Hitting_H | 0.852 | 2.000 | 1.148 | 0.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.135 | 1.000 | -0.135 | -1.000 |
| predicted_OBP | 0.346 | 0.750 | 0.400 | Hitting_OBP | 0.312 | 0.500 | 0.438 | 0.250 |
| predicted_R | 0.485 | 1.000 | 1.000 | Hitting_R | 0.515 | 2.000 | 0.485 | -1.000 |
| predicted_RBI | 0.730 | 0.000 | 1.000 | Hitting_RBI | 0.519 | 2.000 | -0.519 | -2.000 |
| predicted_SLG | 0.504 | 0.667 | 0.250 | Hitting_SLG | 0.426 | 1.500 | 0.241 | -0.833 |
| predicted_SO | 0.750 | 1.000 | 1.000 | Hitting_SO | 0.781 | 0.000 | 0.219 | 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_H: 0.9800 -> 2.0000 (boost 1.0200, 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 | 4 | 3 | 1 | 3 | 1 | predicted_SLG: 0.5040 -> 0.5401 (boost 0.0361, better) | predicted_AB: 3.9900 -> 3.8042 (deboost -0.1858, 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.3520 -> 0.3461 (deboost -0.0059, 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_BB: 0.5228 -> 1.0000 (boost 0.4772, better) | predicted_2B: 0.2790 -> 0.0000 (deboost -0.2790, worse) | AB rounded to 4 (raw=3.99), rates preserved: AVG=0.244 HR/AB=0.063 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5401 -> 1.0000 (boost 0.4599, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3461 -> 0.4000 (boost 0.0539, better) | predicted_SLG: 0.5417 -> 0.2500 (deboost -0.2917, 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_H: 1.0000 -> 2.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_SLG: 0.2500 -> 0.5417 (boost 0.2917, better) | predicted_OBP: 0.4000 -> 0.3461 (deboost -0.0539, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691016",
"player_name": "Tyler Soderstrom",
"position": "LF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.279,
"predicted_3B": 0.029,
"predicted_AB": 3.99,
"predicted_AVG": 0.245,
"predicted_BB": 0.515,
"predicted_H": 0.98,
"predicted_HR": 0.23,
"predicted_OBP": 0.346,
"predicted_R": 0.485,
"predicted_RBI": 0.73,
"predicted_SLG": 0.504,
"predicted_SO": 0.75
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.279,
"predicted_3B": 0.0239,
"predicted_AB": 3.8042,
"predicted_AVG": 0.2532,
"predicted_BB": 0.5226,
"predicted_H": 0.9627,
"predicted_HBP": 0.011,
"predicted_HR": 0.2511,
"predicted_OBP": 0.352,
"predicted_R": 0.5298,
"predicted_RBI": 0.741,
"predicted_SLG": 0.5401,
"predicted_SO": 0.7141
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.279,
"after": 0.279,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0239,
"delta": -0.0051,
"percent_delta": -0.1759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 3.8042,
"delta": -0.1858,
"percent_delta": -0.0466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2532,
"delta": 0.0082,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 0.5226,
"delta": 0.0076,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 0.9627,
"delta": -0.0173,
"percent_delta": -0.0177,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.2511,
"delta": 0.0211,
"percent_delta": 0.0917,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.352,
"delta": 0.006,
"percent_delta": 0.0173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 0.5298,
"delta": 0.0448,
"percent_delta": 0.0924,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.741,
"delta": 0.011,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.5401,
"delta": 0.0361,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.7141,
"delta": -0.0359,
"percent_delta": -0.0479,
"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_SLG",
"before": 0.504,
"after": 0.5401,
"delta": 0.0361,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.99,
"after": 3.8042,
"delta": -0.1858,
"percent_delta": -0.0466,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.279,
"predicted_3B": 0.0239,
"predicted_AB": 3.8042,
"predicted_AVG": 0.2562,
"predicted_BB": 0.5228,
"predicted_H": 0.9746,
"predicted_HBP": 0.011,
"predicted_HR": 0.2531,
"predicted_OBP": 0.3461,
"predicted_R": 0.5401,
"predicted_RBI": 0.7554,
"predicted_SLG": 0.5417,
"predicted_SO": 0.7138
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.279,
"after": 0.279,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0239,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8042,
"after": 3.8042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2532,
"after": 0.2562,
"delta": 0.003,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5226,
"after": 0.5228,
"delta": 0.0002,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9627,
"after": 0.9746,
"delta": 0.0119,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2511,
"after": 0.2531,
"delta": 0.002,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.352,
"after": 0.3461,
"delta": -0.0059,
"percent_delta": -0.0168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5298,
"after": 0.5401,
"delta": 0.0103,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.741,
"after": 0.7554,
"delta": 0.0144,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5401,
"after": 0.5417,
"delta": 0.0016,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7141,
"after": 0.7138,
"delta": -0.0003,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.352,
"after": 0.3461,
"delta": -0.0059,
"percent_delta": -0.0168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.99), rates preserved: AVG=0.244 HR/AB=0.063",
"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.279,
"after": 0.0,
"delta": -0.279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0,
"delta": -0.0239,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8042,
"after": 4.0,
"delta": 0.1958,
"percent_delta": 0.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5228,
"after": 1.0,
"delta": 0.4772,
"percent_delta": 0.9128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9746,
"after": 1.0,
"delta": 0.0254,
"percent_delta": 0.0261,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2531,
"after": 0.0,
"delta": -0.2531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7554,
"after": 1.0,
"delta": 0.2446,
"percent_delta": 0.3238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7138,
"after": 1.0,
"delta": 0.2862,
"percent_delta": 0.401,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5228,
"after": 1.0,
"delta": 0.4772,
"percent_delta": 0.9128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5401,
"after": 1.0,
"delta": 0.4599,
"percent_delta": 0.8515,
"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.5401,
"after": 1.0,
"delta": 0.4599,
"percent_delta": 0.8515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2562,
"after": 0.25,
"delta": -0.0062,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3461,
"after": 0.4,
"delta": 0.0539,
"percent_delta": 0.1557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5417,
"after": 0.25,
"delta": -0.2917,
"percent_delta": -0.5385,
"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.3461,
"after": 0.4,
"delta": 0.0539,
"percent_delta": 0.1557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5417,
"after": 0.25,
"delta": -0.2917,
"percent_delta": -0.5385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2562,
"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.3461,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5417,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2562,
"delta": 0.0062,
"percent_delta": 0.0248,
"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.4,
"after": 0.3461,
"delta": -0.0539,
"percent_delta": -0.1348,
"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.5417,
"delta": 0.2917,
"percent_delta": 1.1668,
"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.5417,
"delta": 0.2917,
"percent_delta": 1.1668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3461,
"delta": -0.0539,
"percent_delta": -0.1348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.279,
"after": 0.0,
"delta": -0.279,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"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.245,
"after": 0.2562,
"delta": 0.0112,
"percent_delta": 0.0457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 2.0,
"delta": 1.02,
"percent_delta": 1.0408,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.3461,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.485,
"after": 1.0,
"delta": 0.515,
"percent_delta": 1.0619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.73,
"after": 0.0,
"delta": -0.73,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.504,
"after": 0.5417,
"delta": 0.0377,
"percent_delta": 0.0748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 1.0,
"delta": 0.25,
"percent_delta": 0.3333,
"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_H",
"before": 0.98,
"after": 2.0,
"delta": 1.02,
"percent_delta": 1.0408,
"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": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.279 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.515 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.485 | - |
| predicted_RBI | 0.730 | - |
| predicted_SLG | 0.504 | - |
| predicted_SO | 0.750 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.279 | 0.000 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.804 | -0.186 |
| predicted_AVG | 0.253 | 0.008 |
| predicted_BB | 0.523 | 0.008 |
| predicted_H | 0.963 | -0.017 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.251 | 0.021 |
| predicted_OBP | 0.352 | 0.006 |
| predicted_R | 0.530 | 0.045 |
| predicted_RBI | 0.741 | 0.011 |
| predicted_SLG | 0.540 | 0.036 |
| predicted_SO | 0.714 | -0.036 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.279 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.804 | 0.000 |
| predicted_AVG | 0.256 | 0.003 |
| predicted_BB | 0.523 | 0.000 |
| predicted_H | 0.975 | 0.012 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.253 | 0.002 |
| predicted_OBP | 0.346 | -0.006 |
| predicted_R | 0.540 | 0.010 |
| predicted_RBI | 0.755 | 0.014 |
| predicted_SLG | 0.542 | 0.002 |
| predicted_SO | 0.714 | -0.000 |
AB rounded to 4 (raw=3.99), rates preserved: AVG=0.244 HR/AB=0.063
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.279 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.196 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 1.000 | 0.477 |
| predicted_H | 1.000 | 0.025 |
| predicted_HR | 0.000 | -0.253 |
| predicted_OBP | 0.400 | 0.054 |
| predicted_R | 1.000 | 0.460 |
| predicted_RBI | 1.000 | 0.245 |
| predicted_SLG | 0.250 | -0.292 |
| predicted_SO | 1.000 | 0.286 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 5.000 | 2.000 | 0.000 | 2.000 | 5.000 | 4.000 | 2.000 | 2.000 | 0.2941 | 0.3684 | 0.7647 | 0.2941 | 0.1177 | 0.2941 | 0.1177 | 0.1177 |
| last_10 | 0.20 | 10 | - | 32.000 | 10.000 | 2.000 | 0.000 | 5.000 | 11.000 | 7.000 | 8.000 | 6.000 | 0.3125 | 0.4500 | 0.8438 | 0.3125 | 0.1562 | 0.3438 | 0.2500 | 0.1875 |
| season | 0.60 | 68 | - | 249.000 | 60.000 | 19.000 | 2.000 | 12.000 | 39.000 | 33.000 | 35.000 | 51.000 | 0.2410 | 0.3357 | 0.4779 | 0.2410 | 0.0482 | 0.1566 | 0.1406 | 0.2048 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2790 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.5500 |
| predicted_AVG | 0.2645 |
| predicted_BB | 0.5330 |
| predicted_H | 0.9390 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.2800 |
| predicted_OBP | 0.3602 |
| predicted_R | 0.5910 |
| predicted_RBI | 0.7560 |
| predicted_SLG | 0.5896 |
| predicted_SO | 0.6650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2790 | 0.2790 | 0.2790 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0239 | model_form_blend |
| predicted_AB | 3.9900 | 3.5500 | 3.8042 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2645 | 0.2532 | model_form_blend |
| predicted_BB | 0.5150 | 0.5330 | 0.5226 | model_form_blend |
| predicted_H | 0.9800 | 0.9390 | 0.9627 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.2300 | 0.2800 | 0.2511 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3602 | 0.3520 | model_form_blend |
| predicted_R | 0.4850 | 0.5910 | 0.5298 | model_form_blend |
| predicted_RBI | 0.7300 | 0.7560 | 0.7410 | model_form_blend |
| predicted_SLG | 0.5040 | 0.5896 | 0.5401 | model_form_blend |
| predicted_SO | 0.7500 | 0.6650 | 0.7141 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.241 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| 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 | 20260614_COL@OAK |
| game_type | full |
| mlbID | 691016 |
| playerID | 691016 |
| playerName | Tyler Soderstrom |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-14 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.344 |
| sl_xwoba | 0.332 |
| sl_xba | 0.244 |
| sl_xslg | 0.42 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 44.6 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 21.0 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.195 | 0.000 | 0.000 | Hitting_2B | 0.187 | 0.000 | -0.187 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.360 | 3.000 | 4.000 | Hitting_AB | 4.228 | 4.000 | -1.228 | -1.000 |
| predicted_AVG | 0.244 | 0.333 | 0.250 | Hitting_AVG | 0.284 | 0.250 | 0.050 | 0.083 |
| predicted_BB | 0.146 | 0.000 | 0.000 | Hitting_BB | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.070 | 1.000 | 1.000 | Hitting_H | 1.199 | 1.000 | -0.199 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.082 | 0.000 | -0.082 | 0.000 |
| predicted_OBP | 0.313 | 0.500 | 0.250 | Hitting_OBP | 0.305 | 0.250 | 0.195 | 0.250 |
| predicted_R | 0.463 | 0.000 | 0.000 | Hitting_R | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.503 | 2.000 | -0.503 | -2.000 |
| predicted_SLG | 0.369 | 0.333 | 0.250 | Hitting_SLG | 0.386 | 0.250 | -0.053 | 0.083 |
| predicted_SO | 0.488 | 1.000 | 0.000 | Hitting_SO | 0.556 | 0.000 | 0.444 | 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.4880 -> 1.0000 (boost 0.5120, worse) |
| 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 | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2440 -> 0.2548 (boost 0.0108, better) | predicted_AB: 4.3600 -> 4.1564 (deboost -0.2036, 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.3137 -> 0.2900 (deboost -0.0237, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_RBI: 0.5655 -> 1.0000 (boost 0.4345, better) | predicted_SO: 0.5204 -> 0.0000 (deboost -0.5204, better) | AB rounded to 4 (raw=4.36), rates preserved: AVG=0.246 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4580 -> 0.0000 (deboost -0.4580, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3604 -> 0.2500 (deboost -0.1104, worse) | 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_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3604 (boost 0.1104, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805779",
"player_name": "Jacob Wilson",
"position": "SS",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.195,
"predicted_3B": 0.0,
"predicted_AB": 4.36,
"predicted_AVG": 0.244,
"predicted_BB": 0.146,
"predicted_H": 1.07,
"predicted_HR": 0.09,
"predicted_OBP": 0.313,
"predicted_R": 0.463,
"predicted_RBI": 0.56,
"predicted_SLG": 0.369,
"predicted_SO": 0.488
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1726,
"predicted_3B": 0.0008,
"predicted_AB": 4.1564,
"predicted_AVG": 0.2548,
"predicted_BB": 0.1867,
"predicted_H": 1.0594,
"predicted_HBP": 0.005,
"predicted_HR": 0.0831,
"predicted_OBP": 0.3137,
"predicted_R": 0.4492,
"predicted_RBI": 0.5547,
"predicted_SLG": 0.3672,
"predicted_SO": 0.5206
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.1726,
"delta": -0.0224,
"percent_delta": -0.1149,
"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": 4.36,
"after": 4.1564,
"delta": -0.2036,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2548,
"delta": 0.0108,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.146,
"after": 0.1867,
"delta": 0.0407,
"percent_delta": 0.2788,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0594,
"delta": -0.0106,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0831,
"delta": -0.0069,
"percent_delta": -0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3137,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.463,
"after": 0.4492,
"delta": -0.0138,
"percent_delta": -0.0298,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5547,
"delta": -0.0053,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3672,
"delta": -0.0018,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.488,
"after": 0.5206,
"delta": 0.0326,
"percent_delta": 0.0668,
"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.244,
"after": 0.2548,
"delta": 0.0108,
"percent_delta": 0.0443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.36,
"after": 4.1564,
"delta": -0.2036,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1726,
"predicted_3B": 0.0008,
"predicted_AB": 4.1564,
"predicted_AVG": 0.258,
"predicted_BB": 0.1868,
"predicted_H": 1.0725,
"predicted_HBP": 0.005,
"predicted_HR": 0.0838,
"predicted_OBP": 0.29,
"predicted_R": 0.458,
"predicted_RBI": 0.5655,
"predicted_SLG": 0.3604,
"predicted_SO": 0.5204
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1726,
"after": 0.1726,
"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.1564,
"after": 4.1564,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2548,
"after": 0.258,
"delta": 0.0032,
"percent_delta": 0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1867,
"after": 0.1868,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0594,
"after": 1.0725,
"delta": 0.0131,
"percent_delta": 0.0124,
"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.0831,
"after": 0.0838,
"delta": 0.0007,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3137,
"after": 0.29,
"delta": -0.0237,
"percent_delta": -0.0755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4492,
"after": 0.458,
"delta": 0.0088,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5547,
"after": 0.5655,
"delta": 0.0108,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3672,
"after": 0.3604,
"delta": -0.0068,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5206,
"after": 0.5204,
"delta": -0.0002,
"percent_delta": -0.0004,
"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.3137,
"after": 0.29,
"delta": -0.0237,
"percent_delta": -0.0755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.36), rates preserved: AVG=0.246 HR/AB=0.019",
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1726,
"after": 0.0,
"delta": -0.1726,
"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.1564,
"after": 4.0,
"delta": -0.1564,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1868,
"after": 0.0,
"delta": -0.1868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0725,
"after": 1.0,
"delta": -0.0725,
"percent_delta": -0.0676,
"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.0838,
"after": 0.0,
"delta": -0.0838,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5655,
"after": 1.0,
"delta": 0.4345,
"percent_delta": 0.7683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5204,
"after": 0.0,
"delta": -0.5204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5655,
"after": 1.0,
"delta": 0.4345,
"percent_delta": 0.7683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5204,
"after": 0.0,
"delta": -0.5204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.458,
"after": 0.0,
"delta": -0.458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.458,
"after": 0.0,
"delta": -0.458,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.25,
"delta": -0.008,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.25,
"delta": -0.04,
"percent_delta": -0.1379,
"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.3604,
"after": 0.25,
"delta": -0.1104,
"percent_delta": -0.3063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3604,
"after": 0.25,
"delta": -0.1104,
"percent_delta": -0.3063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 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": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"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_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.258,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.29,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3604,
"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.258,
"delta": 0.008,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.29,
"delta": 0.04,
"percent_delta": 0.1598,
"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.3604,
"delta": 0.1104,
"percent_delta": 0.4416,
"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.3604,
"delta": 0.1104,
"percent_delta": 0.4416,
"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.195,
"after": 0.0,
"delta": -0.195,
"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.36,
"after": 3.0,
"delta": -1.36,
"percent_delta": -0.3119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.258,
"delta": 0.014,
"percent_delta": 0.0574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"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.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.29,
"delta": -0.023,
"percent_delta": -0.0735,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.463,
"after": 0.0,
"delta": -0.463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3604,
"delta": -0.0086,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.488,
"after": 1.0,
"delta": 0.512,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.488,
"after": 1.0,
"delta": 0.512,
"percent_delta": 1.0492,
"direction": "boost",
"projection_effect": "worse",
"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.195 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.360 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.146 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.463 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.488 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | -0.022 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.156 | -0.204 |
| predicted_AVG | 0.255 | 0.011 |
| predicted_BB | 0.187 | 0.041 |
| predicted_H | 1.059 | -0.011 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.083 | -0.007 |
| predicted_OBP | 0.314 | 0.001 |
| predicted_R | 0.449 | -0.014 |
| predicted_RBI | 0.555 | -0.005 |
| predicted_SLG | 0.367 | -0.002 |
| predicted_SO | 0.521 | 0.033 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.173 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.156 | 0.000 |
| predicted_AVG | 0.258 | 0.003 |
| predicted_BB | 0.187 | 0.000 |
| predicted_H | 1.073 | 0.013 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.084 | 0.001 |
| predicted_OBP | 0.290 | -0.024 |
| predicted_R | 0.458 | 0.009 |
| predicted_RBI | 0.566 | 0.011 |
| predicted_SLG | 0.360 | -0.007 |
| predicted_SO | 0.520 | -0.000 |
AB rounded to 4 (raw=4.36), rates preserved: AVG=0.246 HR/AB=0.019
| 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 | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 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.173 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.156 |
| predicted_AVG | 0.250 | -0.008 |
| predicted_BB | 0.000 | -0.187 |
| predicted_H | 1.000 | -0.073 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.250 | -0.040 |
| predicted_R | 0.000 | -0.458 |
| predicted_RBI | 1.000 | 0.434 |
| predicted_SLG | 0.250 | -0.110 |
| predicted_SO | 0.000 | -0.520 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 3.000 | 0.2353 | 0.3158 | 0.2353 | 0.2353 | 0.0000 | 0.1765 | 0.1177 | 0.1765 |
| last_10 | 0.20 | 10 | - | 36.000 | 10.000 | 1.000 | 0.000 | 1.000 | 6.000 | 3.000 | 3.000 | 5.000 | 0.2778 | 0.3333 | 0.3889 | 0.2778 | 0.0278 | 0.1667 | 0.0833 | 0.1389 |
| season | 0.60 | 41 | - | 168.000 | 48.000 | 8.000 | 0.000 | 3.000 | 21.000 | 19.000 | 6.000 | 20.000 | 0.2857 | 0.3086 | 0.3869 | 0.2857 | 0.0179 | 0.1250 | 0.0357 | 0.1191 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1400 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.8600 |
| predicted_AVG | 0.2706 |
| predicted_BB | 0.2460 |
| predicted_H | 1.0440 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.3148 |
| predicted_R | 0.4290 |
| predicted_RBI | 0.5470 |
| predicted_SLG | 0.3647 |
| predicted_SO | 0.5680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1950 | 0.1400 | 0.1726 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.3600 | 3.8600 | 4.1564 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2706 | 0.2548 | model_form_blend |
| predicted_BB | 0.1460 | 0.2460 | 0.1867 | model_form_blend |
| predicted_H | 1.0700 | 1.0440 | 1.0594 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0900 | 0.0730 | 0.0831 | model_form_blend |
| predicted_OBP | 0.3130 | 0.3148 | 0.3137 | model_form_blend |
| predicted_R | 0.4630 | 0.4290 | 0.4492 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5470 | 0.5547 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3647 | 0.3672 | model_form_blend |
| predicted_SO | 0.4880 | 0.5680 | 0.5206 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 41 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 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 | 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 | 20260613_COL@OAK |
| game_type | full |
| mlbID | 805779 |
| playerID | 805779 |
| playerName | Jacob Wilson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-13 |
| sl_k_percent | 11.4 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.307 |
| sl_xwoba | 0.271 |
| sl_xba | 0.26 |
| sl_xslg | 0.33 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 2.0 |
| sl_hard_hit_percent | 28.7 |
| sl_exit_velocity_avg | 84.0 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 15.2 |
| sl_swing_percent | 57.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.234 | 0.000 | 0.000 | Hitting_2B | 0.236 | 1.000 | -0.236 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.650 | 5.000 | 5.000 | Hitting_AB | 4.174 | 4.000 | 0.826 | 1.000 |
| predicted_AVG | 0.245 | 0.000 | 0.200 | Hitting_AVG | 0.302 | 0.250 | -0.302 | -0.250 |
| predicted_BB | 0.344 | 0.000 | 0.000 | Hitting_BB | 0.417 | 1.000 | -0.417 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.140 | 0.000 | 1.000 | Hitting_H | 1.260 | 1.000 | -1.260 | -1.000 |
| predicted_HR | 0.260 | 0.000 | 0.000 | Hitting_HR | 0.264 | 0.000 | -0.264 | 0.000 |
| predicted_OBP | 0.317 | 0.000 | 0.200 | Hitting_OBP | 0.369 | 0.400 | -0.369 | -0.400 |
| predicted_R | 0.719 | 0.000 | 1.000 | Hitting_R | 0.731 | 1.000 | -0.731 | -1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.570 | 0.000 | -0.570 | 0.000 |
| predicted_SLG | 0.497 | 0.000 | 0.200 | Hitting_SLG | 0.549 | 0.500 | -0.549 | -0.500 |
| predicted_SO | 0.891 | 2.000 | 1.000 | Hitting_SO | 0.909 | 1.000 | 1.091 | 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.8910 -> 2.0000 (boost 1.1090, worse) |
| Biggest Deboost | predicted_H: 1.1400 -> 0.0000 (deboost -1.1400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.4970 -> 0.5162 (boost 0.0192, better) | predicted_AB: 4.6500 -> 4.5477 (deboost -0.1023, 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.5162 -> 0.5003 (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 | 3 | 4 | 2 | 5 | predicted_AB: 4.5477 -> 5.0000 (boost 0.4523, better) | predicted_BB: 0.3162 -> 0.0000 (deboost -0.3162, worse) | AB rounded to 5 (raw=4.65), rates preserved: AVG=0.254 HR/AB=0.061 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7576 -> 1.0000 (boost 0.2424, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5003 -> 0.2000 (deboost -0.3003, 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_H: 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.2000 -> 0.5003 (boost 0.3003, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669127",
"player_name": "Shea Langeliers",
"position": "C",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.234,
"predicted_3B": 0.0,
"predicted_AB": 4.65,
"predicted_AVG": 0.245,
"predicted_BB": 0.344,
"predicted_H": 1.14,
"predicted_HR": 0.26,
"predicted_OBP": 0.317,
"predicted_R": 0.719,
"predicted_RBI": 0.57,
"predicted_SLG": 0.497,
"predicted_SO": 0.891
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2488,
"predicted_3B": 0.0008,
"predicted_AB": 4.5477,
"predicted_AVG": 0.2565,
"predicted_BB": 0.3161,
"predicted_H": 1.1654,
"predicted_HBP": 0.04,
"predicted_HR": 0.2795,
"predicted_OBP": 0.3183,
"predicted_R": 0.7431,
"predicted_RBI": 0.5713,
"predicted_SLG": 0.5162,
"predicted_SO": 0.9341
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.2488,
"delta": 0.0148,
"percent_delta": 0.0632,
"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": 4.65,
"after": 4.5477,
"delta": -0.1023,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2565,
"delta": 0.0115,
"percent_delta": 0.0469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.344,
"after": 0.3161,
"delta": -0.0279,
"percent_delta": -0.0811,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.1654,
"delta": 0.0254,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.26,
"after": 0.2795,
"delta": 0.0195,
"percent_delta": 0.075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3183,
"delta": 0.0013,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.719,
"after": 0.7431,
"delta": 0.0241,
"percent_delta": 0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5713,
"delta": 0.0013,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.497,
"after": 0.5162,
"delta": 0.0192,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.891,
"after": 0.9341,
"delta": 0.0431,
"percent_delta": 0.0484,
"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.497,
"after": 0.5162,
"delta": 0.0192,
"percent_delta": 0.0386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.65,
"after": 4.5477,
"delta": -0.1023,
"percent_delta": -0.022,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 64
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2488,
"predicted_3B": 0.0008,
"predicted_AB": 4.5477,
"predicted_AVG": 0.2594,
"predicted_BB": 0.3162,
"predicted_H": 1.1799,
"predicted_HBP": 0.04,
"predicted_HR": 0.2817,
"predicted_OBP": 0.3076,
"predicted_R": 0.7576,
"predicted_RBI": 0.5824,
"predicted_SLG": 0.5003,
"predicted_SO": 0.9337
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2488,
"after": 0.2488,
"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.5477,
"after": 4.5477,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2565,
"after": 0.2594,
"delta": 0.0029,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3161,
"after": 0.3162,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1654,
"after": 1.1799,
"delta": 0.0145,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.04,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2795,
"after": 0.2817,
"delta": 0.0022,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3183,
"after": 0.3076,
"delta": -0.0107,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7431,
"after": 0.7576,
"delta": 0.0145,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5713,
"after": 0.5824,
"delta": 0.0111,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5162,
"after": 0.5003,
"delta": -0.0159,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9341,
"after": 0.9337,
"delta": -0.0004,
"percent_delta": -0.0004,
"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.5162,
"after": 0.5003,
"delta": -0.0159,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.65), rates preserved: AVG=0.254 HR/AB=0.061",
"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.2488,
"after": 0.0,
"delta": -0.2488,
"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.5477,
"after": 5.0,
"delta": 0.4523,
"percent_delta": 0.0995,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3162,
"after": 0.0,
"delta": -0.3162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1799,
"after": 1.0,
"delta": -0.1799,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2817,
"after": 0.0,
"delta": -0.2817,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5824,
"after": 1.0,
"delta": 0.4176,
"percent_delta": 0.717,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9337,
"after": 1.0,
"delta": 0.0663,
"percent_delta": 0.071,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.5477,
"after": 5.0,
"delta": 0.4523,
"percent_delta": 0.0995,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3162,
"after": 0.0,
"delta": -0.3162,
"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.7576,
"after": 1.0,
"delta": 0.2424,
"percent_delta": 0.32,
"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.7576,
"after": 1.0,
"delta": 0.2424,
"percent_delta": 0.32,
"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.2594,
"after": 0.2,
"delta": -0.0594,
"percent_delta": -0.229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3076,
"after": 0.2,
"delta": -0.1076,
"percent_delta": -0.3498,
"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.5003,
"after": 0.2,
"delta": -0.3003,
"percent_delta": -0.6002,
"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.5003,
"after": 0.2,
"delta": -0.3003,
"percent_delta": -0.6002,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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_CS",
"before": 0.0,
"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": 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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2594,
"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.3076,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5003,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2594,
"delta": 0.0594,
"percent_delta": 0.2972,
"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.3076,
"delta": 0.1076,
"percent_delta": 0.5379,
"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.5003,
"delta": 0.3003,
"percent_delta": 1.5017,
"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.5003,
"delta": 0.3003,
"percent_delta": 1.5017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.0,
"delta": -0.234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.65,
"after": 5.0,
"delta": 0.35,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2594,
"delta": 0.0144,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.344,
"after": 0.0,
"delta": -0.344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 0.0,
"delta": -1.14,
"percent_delta": -1.0,
"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.317,
"after": 0.3076,
"delta": -0.0094,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.719,
"after": 0.0,
"delta": -0.719,
"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.497,
"after": 0.5003,
"delta": 0.0033,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.891,
"after": 2.0,
"delta": 1.109,
"percent_delta": 1.2447,
"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.891,
"after": 2.0,
"delta": 1.109,
"percent_delta": 1.2447,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.14,
"after": 0.0,
"delta": -1.14,
"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.234 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.650 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.344 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.260 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.719 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.497 | - |
| predicted_SO | 0.891 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.249 | 0.015 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.548 | -0.102 |
| predicted_AVG | 0.257 | 0.012 |
| predicted_BB | 0.316 | -0.028 |
| predicted_H | 1.165 | 0.025 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.280 | 0.020 |
| predicted_OBP | 0.318 | 0.001 |
| predicted_R | 0.743 | 0.024 |
| predicted_RBI | 0.571 | 0.001 |
| predicted_SLG | 0.516 | 0.019 |
| predicted_SO | 0.934 | 0.043 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.249 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.548 | 0.000 |
| predicted_AVG | 0.259 | 0.003 |
| predicted_BB | 0.316 | 0.000 |
| predicted_H | 1.180 | 0.014 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.282 | 0.002 |
| predicted_OBP | 0.308 | -0.011 |
| predicted_R | 0.758 | 0.015 |
| predicted_RBI | 0.582 | 0.011 |
| predicted_SLG | 0.500 | -0.016 |
| predicted_SO | 0.934 | -0.000 |
AB rounded to 5 (raw=4.65), rates preserved: AVG=0.254 HR/AB=0.061
| 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.249 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.452 |
| predicted_AVG | 0.200 | -0.059 |
| predicted_BB | 0.000 | -0.316 |
| predicted_H | 1.000 | -0.180 |
| predicted_HR | 0.000 | -0.282 |
| predicted_OBP | 0.200 | -0.108 |
| predicted_R | 1.000 | 0.242 |
| predicted_RBI | 1.000 | 0.418 |
| predicted_SLG | 0.200 | -0.300 |
| predicted_SO | 1.000 | 0.066 |
Attached 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 | 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 | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 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 | - | 25.000 | 7.000 | 2.000 | 0.000 | 2.000 | 3.000 | 5.000 | 1.000 | 7.000 | 0.2800 | 0.3077 | 0.6000 | 0.2800 | 0.0800 | 0.1200 | 0.0400 | 0.2800 |
| last_10 | 0.20 | 10 | - | 48.000 | 12.000 | 3.000 | 0.000 | 4.000 | 6.000 | 9.000 | 1.000 | 10.000 | 0.2500 | 0.2653 | 0.5625 | 0.2500 | 0.0833 | 0.1250 | 0.0208 | 0.2083 |
| season | 0.60 | 64 | - | 267.000 | 75.000 | 15.000 | 0.000 | 18.000 | 36.000 | 46.000 | 22.000 | 57.000 | 0.2809 | 0.3435 | 0.5393 | 0.2809 | 0.0674 | 0.1348 | 0.0824 | 0.2135 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2690 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.4080 |
| predicted_AVG | 0.2723 |
| predicted_BB | 0.2780 |
| predicted_H | 1.2000 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.3060 |
| predicted_OBP | 0.3200 |
| predicted_R | 0.7760 |
| predicted_RBI | 0.5730 |
| predicted_SLG | 0.5425 |
| predicted_SO | 0.9930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 0.2690 | 0.2488 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.6500 | 4.4080 | 4.5477 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2723 | 0.2565 | model_form_blend |
| predicted_BB | 0.3440 | 0.2780 | 0.3161 | model_form_blend |
| predicted_H | 1.1400 | 1.2000 | 1.1654 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.2600 | 0.3060 | 0.2795 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3200 | 0.3183 | model_form_blend |
| predicted_R | 0.7190 | 0.7760 | 0.7431 | model_form_blend |
| predicted_RBI | 0.5700 | 0.5730 | 0.5713 | model_form_blend |
| predicted_SLG | 0.4970 | 0.5425 | 0.5162 | model_form_blend |
| predicted_SO | 0.8910 | 0.9930 | 0.9341 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.281 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 1 |
| 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260613_COL@OAK |
| game_type | full |
| mlbID | 669127 |
| playerID | 669127 |
| playerName | Shea Langeliers |
| pos | C |
| started | True |
| startingPosition | C |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-13 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.38 |
| sl_xwoba | 0.378 |
| sl_xba | 0.283 |
| sl_xslg | 0.542 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 15.2 |
| sl_hard_hit_percent | 44.5 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 21.4 |
| sl_whiff_percent | 25.6 |
| 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.186 | 0.000 | 0.000 | Hitting_2B | 0.209 | 1.000 | -0.209 | -1.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.090 | 4.000 | 4.000 | Hitting_AB | 3.635 | 3.000 | 0.365 | 1.000 |
| predicted_AVG | 0.253 | 0.000 | 0.250 | Hitting_AVG | 0.286 | 0.333 | -0.286 | -0.333 |
| predicted_BB | 0.943 | 1.000 | 1.000 | Hitting_BB | 0.958 | 1.000 | 0.042 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 1.040 | 0.000 | 1.000 | Hitting_H | 1.038 | 1.000 | -1.038 | -1.000 |
| predicted_HR | 0.270 | 0.000 | 0.000 | Hitting_HR | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_OBP | 0.397 | 0.200 | 0.400 | Hitting_OBP | 0.439 | 0.500 | -0.239 | -0.300 |
| predicted_R | 0.700 | 0.000 | 1.000 | Hitting_R | 0.669 | 1.000 | -0.669 | -1.000 |
| predicted_RBI | 0.740 | 0.000 | 1.000 | Hitting_RBI | 0.707 | 2.000 | -0.707 | -2.000 |
| predicted_SLG | 0.518 | 0.000 | 0.250 | Hitting_SLG | 0.498 | 0.667 | -0.498 | -0.667 |
| predicted_SO | 1.300 | 0.000 | 1.000 | Hitting_SO | 1.335 | 0.000 | -1.335 | 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.9430 -> 1.0000 (boost 0.0570, better) |
| Biggest Deboost | predicted_SO: 1.3000 -> 0.0000 (deboost -1.3000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_SLG: 0.5180 -> 0.5484 (boost 0.0304, better) | predicted_AB: 4.0900 -> 3.8992 (deboost -0.1908, 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.5484 -> 0.5433 (deboost -0.0051, 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.7644 -> 1.0000 (boost 0.2356, better) | predicted_HR: 0.2854 -> 0.0000 (deboost -0.2854, worse) | AB rounded to 4 (raw=4.09), rates preserved: AVG=0.259 HR/AB=0.070 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7306 -> 1.0000 (boost 0.2694, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5433 -> 0.2500 (deboost -0.2933, 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_H: 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.5433 (boost 0.2933, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701762",
"player_name": "Nick Kurtz",
"position": "1B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.186,
"predicted_3B": 0.014,
"predicted_AB": 4.09,
"predicted_AVG": 0.253,
"predicted_BB": 0.943,
"predicted_H": 1.04,
"predicted_HR": 0.27,
"predicted_OBP": 0.397,
"predicted_R": 0.7,
"predicted_RBI": 0.74,
"predicted_SLG": 0.518,
"predicted_SO": 1.3
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1805,
"predicted_3B": 0.0119,
"predicted_AB": 3.8992,
"predicted_AVG": 0.2681,
"predicted_BB": 0.9298,
"predicted_H": 1.0447,
"predicted_HBP": 0.019,
"predicted_HR": 0.2832,
"predicted_OBP": 0.4119,
"predicted_R": 0.7166,
"predicted_RBI": 0.7498,
"predicted_SLG": 0.5484,
"predicted_SO": 1.238
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.1805,
"delta": -0.0055,
"percent_delta": -0.0296,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.09,
"after": 3.8992,
"delta": -0.1908,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2681,
"delta": 0.0151,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.943,
"after": 0.9298,
"delta": -0.0132,
"percent_delta": -0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0447,
"delta": 0.0047,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.2832,
"delta": 0.0132,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.397,
"after": 0.4119,
"delta": 0.0149,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7,
"after": 0.7166,
"delta": 0.0166,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.7498,
"delta": 0.0098,
"percent_delta": 0.0132,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.5484,
"delta": 0.0304,
"percent_delta": 0.0587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3,
"after": 1.238,
"delta": -0.062,
"percent_delta": -0.0477,
"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_SLG",
"before": 0.518,
"after": 0.5484,
"delta": 0.0304,
"percent_delta": 0.0587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.09,
"after": 3.8992,
"delta": -0.1908,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 70
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1805,
"predicted_3B": 0.0119,
"predicted_AB": 3.8992,
"predicted_AVG": 0.2712,
"predicted_BB": 0.9302,
"predicted_H": 1.0577,
"predicted_HBP": 0.019,
"predicted_HR": 0.2854,
"predicted_OBP": 0.4116,
"predicted_R": 0.7306,
"predicted_RBI": 0.7644,
"predicted_SLG": 0.5433,
"predicted_SO": 1.2375
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1805,
"after": 0.1805,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8992,
"after": 3.8992,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2681,
"after": 0.2712,
"delta": 0.0031,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.9298,
"after": 0.9302,
"delta": 0.0004,
"percent_delta": 0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0447,
"after": 1.0577,
"delta": 0.013,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.019,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2832,
"after": 0.2854,
"delta": 0.0022,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4119,
"after": 0.4116,
"delta": -0.0003,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7166,
"after": 0.7306,
"delta": 0.014,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7498,
"after": 0.7644,
"delta": 0.0146,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5484,
"after": 0.5433,
"delta": -0.0051,
"percent_delta": -0.0093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.238,
"after": 1.2375,
"delta": -0.0005,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.5484,
"after": 0.5433,
"delta": -0.0051,
"percent_delta": -0.0093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.09), rates preserved: AVG=0.259 HR/AB=0.070",
"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.1805,
"after": 0.0,
"delta": -0.1805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8992,
"after": 4.0,
"delta": 0.1008,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9302,
"after": 1.0,
"delta": 0.0698,
"percent_delta": 0.075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0577,
"after": 1.0,
"delta": -0.0577,
"percent_delta": -0.0546,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2854,
"after": 0.0,
"delta": -0.2854,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7644,
"after": 1.0,
"delta": 0.2356,
"percent_delta": 0.3082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2375,
"after": 1.0,
"delta": -0.2375,
"percent_delta": -0.1919,
"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.7644,
"after": 1.0,
"delta": 0.2356,
"percent_delta": 0.3082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2854,
"after": 0.0,
"delta": -0.2854,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7306,
"after": 1.0,
"delta": 0.2694,
"percent_delta": 0.3687,
"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.7306,
"after": 1.0,
"delta": 0.2694,
"percent_delta": 0.3687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2712,
"after": 0.25,
"delta": -0.0212,
"percent_delta": -0.0782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4116,
"after": 0.4,
"delta": -0.0116,
"percent_delta": -0.0282,
"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.5433,
"after": 0.25,
"delta": -0.2933,
"percent_delta": -0.5398,
"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.5433,
"after": 0.25,
"delta": -0.2933,
"percent_delta": -0.5398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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_CS",
"before": 0.0,
"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": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 3,
"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.2712,
"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.4116,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5433,
"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.2712,
"delta": 0.0212,
"percent_delta": 0.085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.4116,
"delta": 0.0116,
"percent_delta": 0.029,
"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.5433,
"delta": 0.2933,
"percent_delta": 1.173,
"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.5433,
"delta": 0.2933,
"percent_delta": 1.173,
"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.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"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.253,
"after": 0.2712,
"delta": 0.0182,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.943,
"after": 1.0,
"delta": 0.057,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"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.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.397,
"after": 0.4116,
"delta": 0.0146,
"percent_delta": 0.0368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.5433,
"delta": 0.0253,
"percent_delta": 0.0488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3,
"after": 0.0,
"delta": -1.3,
"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.943,
"after": 1.0,
"delta": 0.057,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3,
"after": 0.0,
"delta": -1.3,
"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.186 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.090 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.943 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.270 | - |
| predicted_OBP | 0.397 | - |
| predicted_R | 0.700 | - |
| predicted_RBI | 0.740 | - |
| predicted_SLG | 0.518 | - |
| predicted_SO | 1.300 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.006 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.899 | -0.191 |
| predicted_AVG | 0.268 | 0.015 |
| predicted_BB | 0.930 | -0.013 |
| predicted_H | 1.045 | 0.005 |
| predicted_HBP | 0.019 | - |
| predicted_HR | 0.283 | 0.013 |
| predicted_OBP | 0.412 | 0.015 |
| predicted_R | 0.717 | 0.017 |
| predicted_RBI | 0.750 | 0.010 |
| predicted_SLG | 0.548 | 0.030 |
| predicted_SO | 1.238 | -0.062 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.180 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.899 | 0.000 |
| predicted_AVG | 0.271 | 0.003 |
| predicted_BB | 0.930 | 0.000 |
| predicted_H | 1.058 | 0.013 |
| predicted_HBP | 0.019 | 0.000 |
| predicted_HR | 0.285 | 0.002 |
| predicted_OBP | 0.412 | -0.000 |
| predicted_R | 0.731 | 0.014 |
| predicted_RBI | 0.764 | 0.015 |
| predicted_SLG | 0.543 | -0.005 |
| predicted_SO | 1.238 | -0.000 |
AB rounded to 4 (raw=4.09), rates preserved: AVG=0.259 HR/AB=0.070
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.180 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.101 |
| predicted_AVG | 0.250 | -0.021 |
| predicted_BB | 1.000 | 0.070 |
| predicted_H | 1.000 | -0.058 |
| predicted_HR | 0.000 | -0.285 |
| predicted_OBP | 0.400 | -0.012 |
| predicted_R | 1.000 | 0.269 |
| predicted_RBI | 1.000 | 0.236 |
| predicted_SLG | 0.250 | -0.293 |
| predicted_SO | 1.000 | -0.238 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 1.000 | 0.000 | 2.000 | 4.000 | 4.000 | 5.000 | 4.000 | 0.3333 | 0.4783 | 0.7222 | 0.3333 | 0.1111 | 0.2222 | 0.2778 | 0.2222 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 1.000 | 0.000 | 5.000 | 9.000 | 9.000 | 10.000 | 12.000 | 0.2703 | 0.4255 | 0.7027 | 0.2703 | 0.1351 | 0.2432 | 0.2703 | 0.3243 |
| season | 0.60 | 70 | - | 252.000 | 72.000 | 13.000 | 1.000 | 16.000 | 52.000 | 49.000 | 66.000 | 91.000 | 0.2857 | 0.4375 | 0.5357 | 0.2857 | 0.0635 | 0.2064 | 0.2619 | 0.3611 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1730 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.6410 |
| predicted_AVG | 0.2886 |
| predicted_BB | 0.9120 |
| predicted_H | 1.0510 |
| predicted_HBP | 0.0190 |
| predicted_HR | 0.3010 |
| predicted_OBP | 0.4321 |
| predicted_R | 0.7390 |
| predicted_RBI | 0.7630 |
| predicted_SLG | 0.5895 |
| predicted_SO | 1.1540 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.1730 | 0.1805 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 4.0900 | 3.6410 | 3.8992 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2886 | 0.2681 | model_form_blend |
| predicted_BB | 0.9430 | 0.9120 | 0.9298 | model_form_blend |
| predicted_H | 1.0400 | 1.0510 | 1.0447 | model_form_blend |
| predicted_HBP | - | 0.0190 | 0.0190 | form_only |
| predicted_HR | 0.2700 | 0.3010 | 0.2832 | model_form_blend |
| predicted_OBP | 0.3970 | 0.4321 | 0.4119 | model_form_blend |
| predicted_R | 0.7000 | 0.7390 | 0.7166 | model_form_blend |
| predicted_RBI | 0.7400 | 0.7630 | 0.7498 | model_form_blend |
| predicted_SLG | 0.5180 | 0.5895 | 0.5484 | model_form_blend |
| predicted_SO | 1.3000 | 1.1540 | 1.2380 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 263 |
| Season rows before report date | 263 |
| Report year | 2026 |
| Profile rows used | 70 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| 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 | 1 |
| Hitting_RBI | 2 |
| 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 | 20260614_COL@OAK |
| game_type | full |
| mlbID | 701762 |
| playerID | 701762 |
| playerName | Nick Kurtz |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-14 |
| sl_k_percent | 28.8 |
| sl_bb_percent | 20.6 |
| sl_woba | 0.418 |
| sl_xwoba | 0.396 |
| sl_xba | 0.255 |
| sl_xslg | 0.515 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 18.4 |
| sl_hard_hit_percent | 57.0 |
| sl_exit_velocity_avg | 94.1 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 35.1 |
| 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.176 | 1.000 | 0.000 | Hitting_2B | 0.137 | 1.000 | 0.863 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_AB | 3.627 | 4.000 | 4.000 | Hitting_AB | 3.641 | 4.000 | 0.359 | 0.000 |
| predicted_AVG | 0.265 | 0.500 | 0.250 | Hitting_AVG | 0.262 | 0.500 | 0.238 | 0.000 |
| predicted_BB | 0.216 | 0.000 | 0.000 | Hitting_BB | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.360 | 2.000 | 1.000 | Hitting_H | 0.954 | 2.000 | 1.046 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_OBP | 0.312 | 0.500 | 0.250 | Hitting_OBP | 0.314 | 0.600 | 0.186 | -0.100 |
| predicted_R | 0.569 | 1.000 | 1.000 | Hitting_R | 0.621 | 1.000 | 0.379 | 0.000 |
| predicted_RBI | 0.200 | 2.000 | 0.000 | Hitting_RBI | 0.503 | 0.000 | 1.497 | 2.000 |
| predicted_SLG | 0.480 | 0.750 | 0.250 | Hitting_SLG | 0.474 | 0.750 | 0.276 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 0.980 | 1.000 | 0.020 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.2000 -> 2.0000 (boost 1.8000, better) |
| Biggest Deboost | predicted_BB: 0.2160 -> 0.0000 (deboost -0.2160, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 8 | 0 | 8 | 0 | predicted_H: 0.3600 -> 0.6699 (boost 0.3099, better) | - | Final model input calibrated with local 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.5079 -> 0.3595 (deboost -0.1484, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 2 | 5 | predicted_H: 0.6782 -> 1.0000 (boost 0.3218, better) | predicted_RBI: 0.3352 -> 0.0000 (deboost -0.3352, worse) | AB rounded to 4 (raw=3.69), rates preserved: AVG=0.184 HR/AB=0.037 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6430 -> 1.0000 (boost 0.3570, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.1836 -> 0.2500 (boost 0.0664, better) | predicted_SLG: 0.3595 -> 0.2500 (deboost -0.1095, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3595 (boost 0.1095, better) | predicted_AVG: 0.2500 -> 0.1836 (deboost -0.0664, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680869",
"player_name": "Zack Gelof",
"position": "3B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.176,
"predicted_3B": 0.02,
"predicted_AB": 3.627,
"predicted_AVG": 0.265,
"predicted_BB": 0.216,
"predicted_H": 0.36,
"predicted_HR": 0.07,
"predicted_OBP": 0.312,
"predicted_R": 0.569,
"predicted_RBI": 0.2,
"predicted_SLG": 0.48,
"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.2073,
"predicted_3B": 0.0171,
"predicted_AB": 3.6933,
"predicted_AVG": 0.2769,
"predicted_BB": 0.2049,
"predicted_H": 0.6699,
"predicted_HBP": 0.075,
"predicted_HR": 0.135,
"predicted_OBP": 0.3237,
"predicted_R": 0.6307,
"predicted_RBI": 0.3288,
"predicted_SLG": 0.5079,
"predicted_SO": 1.0202
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.2073,
"delta": 0.0313,
"percent_delta": 0.1778,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0171,
"delta": -0.0029,
"percent_delta": -0.145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.627,
"after": 3.6933,
"delta": 0.0663,
"percent_delta": 0.0183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2769,
"delta": 0.0119,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.216,
"after": 0.2049,
"delta": -0.0111,
"percent_delta": -0.0514,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.36,
"after": 0.6699,
"delta": 0.3099,
"percent_delta": 0.8608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.135,
"delta": 0.065,
"percent_delta": 0.9286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3237,
"delta": 0.0117,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.569,
"after": 0.6307,
"delta": 0.0617,
"percent_delta": 0.1084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.3288,
"delta": 0.1288,
"percent_delta": 0.644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.5079,
"delta": 0.0279,
"percent_delta": 0.0581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0202,
"delta": 0.0202,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 8,
"deboosted_metrics": 0,
"better_metrics": 8,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.36,
"after": 0.6699,
"delta": 0.3099,
"percent_delta": 0.8608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2073,
"predicted_3B": 0.0171,
"predicted_AB": 3.6933,
"predicted_AVG": 0.1836,
"predicted_BB": 0.205,
"predicted_H": 0.6782,
"predicted_HBP": 0.075,
"predicted_HR": 0.1361,
"predicted_OBP": 0.2266,
"predicted_R": 0.643,
"predicted_RBI": 0.3352,
"predicted_SLG": 0.3595,
"predicted_SO": 1.0198
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2073,
"after": 0.2073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0171,
"after": 0.0171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6933,
"after": 3.6933,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2769,
"after": 0.1836,
"delta": -0.0933,
"percent_delta": -0.3369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2049,
"after": 0.205,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6699,
"after": 0.6782,
"delta": 0.0083,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.135,
"after": 0.1361,
"delta": 0.0011,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3237,
"after": 0.2266,
"delta": -0.0971,
"percent_delta": -0.3,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6307,
"after": 0.643,
"delta": 0.0123,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3288,
"after": 0.3352,
"delta": 0.0064,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5079,
"after": 0.3595,
"delta": -0.1484,
"percent_delta": -0.2922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0202,
"after": 1.0198,
"delta": -0.0004,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.5079,
"after": 0.3595,
"delta": -0.1484,
"percent_delta": -0.2922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.184 HR/AB=0.037",
"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.2073,
"after": 0.0,
"delta": -0.2073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0171,
"after": 0.0,
"delta": -0.0171,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6933,
"after": 4.0,
"delta": 0.3067,
"percent_delta": 0.083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6782,
"after": 1.0,
"delta": 0.3218,
"percent_delta": 0.4745,
"direction": "boost",
"projection_effect": "better",
"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.1361,
"after": 0.0,
"delta": -0.1361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3352,
"after": 0.0,
"delta": -0.3352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0198,
"after": 1.0,
"delta": -0.0198,
"percent_delta": -0.0194,
"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": 0.6782,
"after": 1.0,
"delta": 0.3218,
"percent_delta": 0.4745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3352,
"after": 0.0,
"delta": -0.3352,
"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.643,
"after": 1.0,
"delta": 0.357,
"percent_delta": 0.5552,
"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.643,
"after": 1.0,
"delta": 0.357,
"percent_delta": 0.5552,
"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.1836,
"after": 0.25,
"delta": 0.0664,
"percent_delta": 0.3617,
"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.2266,
"after": 0.25,
"delta": 0.0234,
"percent_delta": 0.1033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.3595,
"after": 0.25,
"delta": -0.1095,
"percent_delta": -0.3046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1836,
"after": 0.25,
"delta": 0.0664,
"percent_delta": 0.3617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3595,
"after": 0.25,
"delta": -0.1095,
"percent_delta": -0.3046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"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": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1836,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2266,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3595,
"predicted_SO": 1.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.1836,
"delta": -0.0664,
"percent_delta": -0.2655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.2266,
"delta": -0.0234,
"percent_delta": -0.0938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3595,
"delta": 0.1095,
"percent_delta": 0.4382,
"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.3595,
"delta": 0.1095,
"percent_delta": 0.4382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1836,
"delta": -0.0664,
"percent_delta": -0.2655,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.824,
"percent_delta": 4.6818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.627,
"after": 4.0,
"delta": 0.373,
"percent_delta": 0.1028,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.1836,
"delta": -0.0814,
"percent_delta": -0.3072,
"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.36,
"after": 2.0,
"delta": 1.64,
"percent_delta": 4.5556,
"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.2266,
"delta": -0.0854,
"percent_delta": -0.2737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.569,
"after": 1.0,
"delta": 0.431,
"percent_delta": 0.7575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 2.0,
"delta": 1.8,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.48,
"after": 0.3595,
"delta": -0.1205,
"percent_delta": -0.251,
"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": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.2,
"after": 2.0,
"delta": 1.8,
"percent_delta": 9.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.216,
"after": 0.0,
"delta": -0.216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}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.020 | - |
| predicted_AB | 3.627 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.216 | - |
| predicted_H | 0.360 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.569 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.480 | - |
| 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.207 | 0.031 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 3.693 | 0.066 |
| predicted_AVG | 0.277 | 0.012 |
| predicted_BB | 0.205 | -0.011 |
| predicted_H | 0.670 | 0.310 |
| predicted_HBP | 0.075 | - |
| predicted_HR | 0.135 | 0.065 |
| predicted_OBP | 0.324 | 0.012 |
| predicted_R | 0.631 | 0.062 |
| predicted_RBI | 0.329 | 0.129 |
| predicted_SLG | 0.508 | 0.028 |
| predicted_SO | 1.020 | 0.020 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.207 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 3.693 | 0.000 |
| predicted_AVG | 0.184 | -0.093 |
| predicted_BB | 0.205 | 0.000 |
| predicted_H | 0.678 | 0.008 |
| predicted_HBP | 0.075 | 0.000 |
| predicted_HR | 0.136 | 0.001 |
| predicted_OBP | 0.227 | -0.097 |
| predicted_R | 0.643 | 0.012 |
| predicted_RBI | 0.335 | 0.006 |
| predicted_SLG | 0.359 | -0.148 |
| predicted_SO | 1.020 | -0.000 |
AB rounded to 4 (raw=3.69), rates preserved: AVG=0.184 HR/AB=0.037
| 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.207 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 4.000 | 0.307 |
| predicted_AVG | 0.250 | 0.066 |
| predicted_BB | 0.000 | -0.205 |
| predicted_H | 1.000 | 0.322 |
| predicted_HR | 0.000 | -0.136 |
| predicted_OBP | 0.250 | 0.023 |
| predicted_R | 1.000 | 0.357 |
| predicted_RBI | 0.000 | -0.335 |
| predicted_SLG | 0.250 | -0.109 |
| predicted_SO | 1.000 | -0.020 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 7.000 | 2.000 | 0.000 | 2.000 | 3.000 | 6.000 | 0.000 | 6.000 | 0.3500 | 0.3810 | 0.7500 | 0.3500 | 0.1000 | 0.1500 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 40.000 | 13.000 | 4.000 | 0.000 | 3.000 | 5.000 | 9.000 | 2.000 | 12.000 | 0.3250 | 0.3721 | 0.6500 | 0.3250 | 0.0750 | 0.1250 | 0.0500 | 0.3000 |
| season | 0.60 | 51 | - | 185.000 | 51.000 | 9.000 | 1.000 | 9.000 | 25.000 | 29.000 | 11.000 | 51.000 | 0.2757 | 0.3232 | 0.4811 | 0.2757 | 0.0486 | 0.1351 | 0.0595 | 0.2757 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2520 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.7880 |
| predicted_AVG | 0.2939 |
| predicted_BB | 0.1890 |
| predicted_H | 1.1130 |
| predicted_HBP | 0.0750 |
| predicted_HR | 0.2280 |
| predicted_OBP | 0.3405 |
| predicted_R | 0.7190 |
| predicted_RBI | 0.5130 |
| predicted_SLG | 0.5477 |
| predicted_SO | 1.0490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.2520 | 0.2073 | model_form_blend |
| predicted_3B | 0.0200 | 0.0130 | 0.0171 | model_form_blend |
| predicted_AB | 3.6270 | 3.7880 | 3.6933 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2939 | 0.2769 | model_form_blend |
| predicted_BB | 0.2160 | 0.1890 | 0.2049 | model_form_blend |
| predicted_H | 0.3600 | 1.1130 | 0.6699 | model_form_blend |
| predicted_HBP | - | 0.0750 | 0.0750 | form_only |
| predicted_HR | 0.0700 | 0.2280 | 0.1350 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3405 | 0.3237 | model_form_blend |
| predicted_R | 0.5690 | 0.7190 | 0.6307 | model_form_blend |
| predicted_RBI | 0.2000 | 0.5130 | 0.3288 | model_form_blend |
| predicted_SLG | 0.4800 | 0.5477 | 0.5079 | model_form_blend |
| predicted_SO | 1.0000 | 1.0490 | 1.0202 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.276 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 1 |
| 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 | 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 | 20260614_COL@OAK |
| game_type | full |
| mlbID | 680869 |
| playerID | 680869 |
| playerName | Zack Gelof |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.345 |
| sl_xwoba | 0.288 |
| sl_xba | 0.222 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 41.4 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 28.4 |
| 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.154 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.385 | 4.000 | 3.000 | Hitting_AB | 3.339 | 1.000 | 0.661 | 3.000 |
| predicted_AVG | 0.289 | 0.250 | 0.333 | Hitting_AVG | 0.314 | 1.000 | -0.064 | -0.750 |
| predicted_BB | 0.231 | 0.000 | 0.000 | Hitting_BB | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_H | 0.810 | 1.000 | 1.000 | Hitting_H | 1.048 | 1.000 | -0.048 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_OBP | 0.368 | 0.250 | 0.333 | Hitting_OBP | 0.379 | 1.000 | -0.129 | -0.750 |
| predicted_R | 0.308 | 0.000 | 0.000 | Hitting_R | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 0.000 | Hitting_RBI | 0.306 | 0.000 | -0.306 | 0.000 |
| predicted_SLG | 0.430 | 0.250 | 0.333 | Hitting_SLG | 0.382 | 1.000 | -0.132 | -0.750 |
| predicted_SO | 1.115 | 3.000 | 1.000 | Hitting_SO | 0.952 | 0.000 | 2.048 | 3.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.1150 -> 3.0000 (boost 1.8850, worse) |
| Biggest Deboost | predicted_RBI: 0.3400 -> 0.0000 (deboost -0.3400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_H: 0.8100 -> 0.9242 (boost 0.1142, better) | - | Final model input calibrated with local 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.3782 -> 0.3194 (deboost -0.0588, 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: 0.9357 -> 1.0000 (boost 0.0643, better) | predicted_AB: 3.3827 -> 3.0000 (deboost -0.3827, worse) | AB rounded to 3 (raw=3.38), rates preserved: AVG=0.276 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3429 -> 0.0000 (deboost -0.3429, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2766 -> 0.3330 (boost 0.0564, better) | predicted_SLG: 0.4046 -> 0.3330 (deboost -0.0716, 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_SO: 1.0000 -> 3.0000 (boost 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.4046 (boost 0.0716, better) | predicted_AVG: 0.3330 -> 0.2766 (deboost -0.0564, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "703607",
"player_name": "Henry Bolte",
"position": "CF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0,
"predicted_AB": 3.385,
"predicted_AVG": 0.289,
"predicted_BB": 0.231,
"predicted_H": 0.81,
"predicted_HR": 0.09,
"predicted_OBP": 0.368,
"predicted_R": 0.308,
"predicted_RBI": 0.34,
"predicted_SLG": 0.43,
"predicted_SO": 1.115
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1494,
"predicted_3B": 0.0011,
"predicted_AB": 3.3827,
"predicted_AVG": 0.3039,
"predicted_BB": 0.2127,
"predicted_H": 0.9242,
"predicted_HBP": 0.201,
"predicted_HR": 0.0931,
"predicted_OBP": 0.3782,
"predicted_R": 0.3363,
"predicted_RBI": 0.3438,
"predicted_SLG": 0.4409,
"predicted_SO": 1.0741
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.1494,
"delta": -0.0046,
"percent_delta": -0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0011,
"delta": 0.0011,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.385,
"after": 3.3827,
"delta": -0.0023,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.3039,
"delta": 0.0149,
"percent_delta": 0.0516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.231,
"after": 0.2127,
"delta": -0.0183,
"percent_delta": -0.0792,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.9242,
"delta": 0.1142,
"percent_delta": 0.141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0931,
"delta": 0.0031,
"percent_delta": 0.0344,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3782,
"delta": 0.0102,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.3363,
"delta": 0.0283,
"percent_delta": 0.0919,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.3438,
"delta": 0.0038,
"percent_delta": 0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4409,
"delta": 0.0109,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.115,
"after": 1.0741,
"delta": -0.0409,
"percent_delta": -0.0367,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.81,
"after": 0.9242,
"delta": 0.1142,
"percent_delta": 0.141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1494,
"predicted_3B": 0.0011,
"predicted_AB": 3.3827,
"predicted_AVG": 0.2766,
"predicted_BB": 0.2128,
"predicted_H": 0.9357,
"predicted_HBP": 0.201,
"predicted_HR": 0.0938,
"predicted_OBP": 0.3194,
"predicted_R": 0.3429,
"predicted_RBI": 0.3505,
"predicted_SLG": 0.4046,
"predicted_SO": 1.0737
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1494,
"after": 0.1494,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3827,
"after": 3.3827,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3039,
"after": 0.2766,
"delta": -0.0273,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2127,
"after": 0.2128,
"delta": 0.0001,
"percent_delta": 0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9242,
"after": 0.9357,
"delta": 0.0115,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.201,
"after": 0.201,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0931,
"after": 0.0938,
"delta": 0.0007,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3782,
"after": 0.3194,
"delta": -0.0588,
"percent_delta": -0.1555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3363,
"after": 0.3429,
"delta": 0.0066,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3438,
"after": 0.3505,
"delta": 0.0067,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4409,
"after": 0.4046,
"delta": -0.0363,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0741,
"after": 1.0737,
"delta": -0.0004,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3782,
"after": 0.3194,
"delta": -0.0588,
"percent_delta": -0.1555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.38), rates preserved: AVG=0.276 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1494,
"after": 0.0,
"delta": -0.1494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0,
"delta": -0.0011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3827,
"after": 3.0,
"delta": -0.3827,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2128,
"after": 0.0,
"delta": -0.2128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9357,
"after": 1.0,
"delta": 0.0643,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.201,
"after": 0.0,
"delta": -0.201,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0938,
"after": 0.0,
"delta": -0.0938,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3505,
"after": 0.0,
"delta": -0.3505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0737,
"after": 1.0,
"delta": -0.0737,
"percent_delta": -0.0686,
"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": 0.9357,
"after": 1.0,
"delta": 0.0643,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.3827,
"after": 3.0,
"delta": -0.3827,
"percent_delta": -0.1131,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"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.3429,
"after": 0.0,
"delta": -0.3429,
"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.3429,
"after": 0.0,
"delta": -0.3429,
"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.2766,
"after": 0.333,
"delta": 0.0564,
"percent_delta": 0.2039,
"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.3194,
"after": 0.333,
"delta": 0.0136,
"percent_delta": 0.0426,
"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.4046,
"after": 0.333,
"delta": -0.0716,
"percent_delta": -0.177,
"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.2766,
"after": 0.333,
"delta": 0.0564,
"percent_delta": 0.2039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4046,
"after": 0.333,
"delta": -0.0716,
"percent_delta": -0.177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.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_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2766,
"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.3194,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4046,
"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.333,
"after": 0.2766,
"delta": -0.0564,
"percent_delta": -0.1694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3194,
"delta": -0.0136,
"percent_delta": -0.0408,
"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.4046,
"delta": 0.0716,
"percent_delta": 0.2151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4046,
"delta": 0.0716,
"percent_delta": 0.2151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2766,
"delta": -0.0564,
"percent_delta": -0.1694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"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": 4.0,
"delta": 0.615,
"percent_delta": 0.1817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2766,
"delta": -0.0124,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3194,
"delta": -0.0486,
"percent_delta": -0.1321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4046,
"delta": -0.0254,
"percent_delta": -0.0591,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.115,
"after": 3.0,
"delta": 1.885,
"percent_delta": 1.6906,
"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.115,
"after": 3.0,
"delta": 1.885,
"percent_delta": 1.6906,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.0,
"delta": -0.34,
"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.154 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.385 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.231 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.368 | - |
| predicted_R | 0.308 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 1.115 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | -0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.383 | -0.002 |
| predicted_AVG | 0.304 | 0.015 |
| predicted_BB | 0.213 | -0.018 |
| predicted_H | 0.924 | 0.114 |
| predicted_HBP | 0.201 | - |
| predicted_HR | 0.093 | 0.003 |
| predicted_OBP | 0.378 | 0.010 |
| predicted_R | 0.336 | 0.028 |
| predicted_RBI | 0.344 | 0.004 |
| predicted_SLG | 0.441 | 0.011 |
| predicted_SO | 1.074 | -0.041 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.383 | 0.000 |
| predicted_AVG | 0.277 | -0.027 |
| predicted_BB | 0.213 | 0.000 |
| predicted_H | 0.936 | 0.011 |
| predicted_HBP | 0.201 | 0.000 |
| predicted_HR | 0.094 | 0.001 |
| predicted_OBP | 0.319 | -0.059 |
| predicted_R | 0.343 | 0.007 |
| predicted_RBI | 0.350 | 0.007 |
| predicted_SLG | 0.405 | -0.036 |
| predicted_SO | 1.074 | -0.000 |
AB rounded to 3 (raw=3.38), rates preserved: AVG=0.276 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.149 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.383 |
| predicted_AVG | 0.333 | 0.056 |
| predicted_BB | 0.000 | -0.213 |
| predicted_H | 1.000 | 0.064 |
| predicted_HR | 0.000 | -0.094 |
| predicted_OBP | 0.333 | 0.014 |
| predicted_R | 0.000 | -0.343 |
| predicted_RBI | 0.000 | -0.350 |
| predicted_SLG | 0.333 | -0.072 |
| predicted_SO | 1.000 | -0.074 |
Attached 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 | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 3.000 | 0.4286 | 0.5000 | 0.6429 | 0.4286 | 0.0714 | 0.1429 | 0.0000 | 0.2143 |
| last_10 | 0.20 | 10 | - | 32.000 | 12.000 | 2.000 | 0.000 | 1.000 | 3.000 | 4.000 | 1.000 | 13.000 | 0.3750 | 0.4444 | 0.5312 | 0.3750 | 0.0312 | 0.0938 | 0.0312 | 0.4062 |
| season | 0.60 | 26 | - | 88.000 | 28.000 | 4.000 | 0.000 | 1.000 | 7.000 | 8.000 | 6.000 | 29.000 | 0.3182 | 0.3838 | 0.3977 | 0.3182 | 0.0114 | 0.0795 | 0.0682 | 0.3296 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1420 |
| predicted_3B | 0.0030 |
| predicted_AB | 3.3790 |
| predicted_AVG | 0.3281 |
| predicted_BB | 0.1830 |
| predicted_H | 1.1090 |
| predicted_HBP | 0.2010 |
| predicted_HR | 0.0980 |
| predicted_OBP | 0.3946 |
| predicted_R | 0.3820 |
| predicted_RBI | 0.3500 |
| predicted_SLG | 0.4586 |
| predicted_SO | 1.0080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.1420 | 0.1494 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 3.3850 | 3.3790 | 3.3827 | model_form_blend |
| predicted_AVG | 0.2890 | 0.3281 | 0.3039 | model_form_blend |
| predicted_BB | 0.2310 | 0.1830 | 0.2127 | model_form_blend |
| predicted_H | 0.8100 | 1.1090 | 0.9242 | model_form_blend |
| predicted_HBP | - | 0.2010 | 0.2010 | form_only |
| predicted_HR | 0.0900 | 0.0980 | 0.0931 | model_form_blend |
| predicted_OBP | 0.3680 | 0.3946 | 0.3782 | model_form_blend |
| predicted_R | 0.3080 | 0.3820 | 0.3363 | model_form_blend |
| predicted_RBI | 0.3400 | 0.3500 | 0.3438 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4586 | 0.4409 | model_form_blend |
| predicted_SO | 1.1150 | 1.0080 | 1.0741 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 62 |
| Season rows before report date | 62 |
| Report year | 2026 |
| Profile rows used | 26 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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 | 3 |
| 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 | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| 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 | 20260614_COL@OAK |
| game_type | short |
| mlbID | 703607 |
| playerID | 703607 |
| playerName | Henry Bolte |
| pos | RF |
| started | False |
| startingPosition | CF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-14 |
| sl_k_percent | 29.0 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.354 |
| sl_xwoba | 0.29 |
| sl_xba | 0.224 |
| sl_xslg | 0.316 |
| sl_sweet_spot_percent | 20.3 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 53.4 |
| sl_exit_velocity_avg | 92.6 |
| sl_launch_angle_avg | 1.5 |
| sl_whiff_percent | 33.7 |
| sl_swing_percent | 51.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.158 | 0.000 | 0.000 | Hitting_2B | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 2.895 | 4.000 | 3.000 | Hitting_AB | 3.302 | 5.000 | 0.698 | -1.000 |
| predicted_AVG | 0.263 | 0.250 | 0.333 | Hitting_AVG | 0.342 | 0.200 | -0.092 | 0.050 |
| predicted_BB | 0.368 | 0.000 | 0.000 | Hitting_BB | 0.463 | 0.000 | -0.463 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.310 | 1.000 | 1.000 | Hitting_H | 1.130 | 1.000 | -0.130 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | -0.154 | 0.000 |
| predicted_OBP | 0.305 | 0.250 | 0.333 | Hitting_OBP | 0.425 | 0.200 | -0.175 | 0.050 |
| predicted_R | 0.298 | 0.000 | 0.000 | Hitting_R | 0.389 | 1.000 | -0.389 | -1.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.488 | 2.000 | -0.488 | -2.000 |
| predicted_SLG | 0.413 | 0.250 | 0.333 | Hitting_SLG | 0.546 | 0.200 | -0.296 | 0.050 |
| predicted_SO | 0.298 | 0.000 | 0.000 | Hitting_SO | 0.352 | 0.000 | -0.352 | 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: 2.8950 -> 4.0000 (boost 1.1050, better) |
| Biggest Deboost | predicted_BB: 0.3680 -> 0.0000 (deboost -0.3680, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 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.3100 -> 0.4839 (boost 0.1739, better) | predicted_AVG: 0.2630 -> 0.2580 (deboost -0.0050, 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.4180 -> 0.3172 (deboost -0.1008, 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: 0.4899 -> 1.0000 (boost 0.5101, better) | predicted_RBI: 0.3355 -> 0.0000 (deboost -0.3355, worse) | AB rounded to 3 (raw=2.91), rates preserved: AVG=0.169 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3239 -> 0.0000 (deboost -0.3239, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1685 -> 0.3330 (boost 0.1645, 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.1685 (deboost -0.1645, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666126",
"player_name": "Carlos Cortes",
"position": "DH",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.158,
"predicted_3B": 0.018,
"predicted_AB": 2.895,
"predicted_AVG": 0.263,
"predicted_BB": 0.368,
"predicted_H": 0.31,
"predicted_HR": 0.06,
"predicted_OBP": 0.305,
"predicted_R": 0.298,
"predicted_RBI": 0.22,
"predicted_SLG": 0.413,
"predicted_SO": 0.298
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.135,
"predicted_3B": 0.0151,
"predicted_AB": 2.9073,
"predicted_AVG": 0.258,
"predicted_BB": 0.3237,
"predicted_H": 0.4839,
"predicted_HBP": 0.091,
"predicted_HR": 0.0883,
"predicted_OBP": 0.3148,
"predicted_R": 0.3177,
"predicted_RBI": 0.3291,
"predicted_SLG": 0.418,
"predicted_SO": 0.2832
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.135,
"delta": -0.023,
"percent_delta": -0.1456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0151,
"delta": -0.0029,
"percent_delta": -0.1611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.895,
"after": 2.9073,
"delta": 0.0123,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.258,
"delta": -0.005,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.368,
"after": 0.3237,
"delta": -0.0443,
"percent_delta": -0.1204,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 0.4839,
"delta": 0.1739,
"percent_delta": 0.561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0883,
"delta": 0.0283,
"percent_delta": 0.4717,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.305,
"after": 0.3148,
"delta": 0.0098,
"percent_delta": 0.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.298,
"after": 0.3177,
"delta": 0.0197,
"percent_delta": 0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.3291,
"delta": 0.1091,
"percent_delta": 0.4959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.418,
"delta": 0.005,
"percent_delta": 0.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.298,
"after": 0.2832,
"delta": -0.0148,
"percent_delta": -0.0497,
"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.31,
"after": 0.4839,
"delta": 0.1739,
"percent_delta": 0.561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.258,
"delta": -0.005,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"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.135,
"predicted_3B": 0.0151,
"predicted_AB": 2.9073,
"predicted_AVG": 0.1685,
"predicted_BB": 0.3238,
"predicted_H": 0.4899,
"predicted_HBP": 0.091,
"predicted_HR": 0.089,
"predicted_OBP": 0.2518,
"predicted_R": 0.3239,
"predicted_RBI": 0.3355,
"predicted_SLG": 0.3172,
"predicted_SO": 0.2831
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.135,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0151,
"after": 0.0151,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9073,
"after": 2.9073,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.258,
"after": 0.1685,
"delta": -0.0895,
"percent_delta": -0.3469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3237,
"after": 0.3238,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4839,
"after": 0.4899,
"delta": 0.006,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.091,
"after": 0.091,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0883,
"after": 0.089,
"delta": 0.0007,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3148,
"after": 0.2518,
"delta": -0.063,
"percent_delta": -0.2001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3177,
"after": 0.3239,
"delta": 0.0062,
"percent_delta": 0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3291,
"after": 0.3355,
"delta": 0.0064,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.418,
"after": 0.3172,
"delta": -0.1008,
"percent_delta": -0.2411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2832,
"after": 0.2831,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.418,
"after": 0.3172,
"delta": -0.1008,
"percent_delta": -0.2411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.91), rates preserved: AVG=0.169 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0151,
"after": 0.0,
"delta": -0.0151,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9073,
"after": 3.0,
"delta": 0.0927,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3238,
"after": 0.0,
"delta": -0.3238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4899,
"after": 1.0,
"delta": 0.5101,
"percent_delta": 1.0412,
"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.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3355,
"after": 0.0,
"delta": -0.3355,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2831,
"after": 0.0,
"delta": -0.2831,
"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_H",
"before": 0.4899,
"after": 1.0,
"delta": 0.5101,
"percent_delta": 1.0412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3355,
"after": 0.0,
"delta": -0.3355,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3239,
"after": 0.0,
"delta": -0.3239,
"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.3239,
"after": 0.0,
"delta": -0.3239,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1685,
"after": 0.333,
"delta": 0.1645,
"percent_delta": 0.9763,
"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.2518,
"after": 0.333,
"delta": 0.0812,
"percent_delta": 0.3225,
"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.3172,
"after": 0.333,
"delta": 0.0158,
"percent_delta": 0.0498,
"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.1685,
"after": 0.333,
"delta": 0.1645,
"percent_delta": 0.9763,
"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": 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": 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_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.1685,
"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.2518,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3172,
"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.1685,
"delta": -0.1645,
"percent_delta": -0.494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2518,
"delta": -0.0812,
"percent_delta": -0.2437,
"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.3172,
"delta": -0.0158,
"percent_delta": -0.0476,
"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.1685,
"delta": -0.1645,
"percent_delta": -0.494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.0,
"delta": -0.158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.895,
"after": 4.0,
"delta": 1.105,
"percent_delta": 0.3817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.1685,
"delta": -0.0945,
"percent_delta": -0.3593,
"direction": "deboost",
"projection_effect": "worse",
"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.31,
"after": 1.0,
"delta": 0.69,
"percent_delta": 2.2258,
"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.305,
"after": 0.2518,
"delta": -0.0532,
"percent_delta": -0.1744,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.3172,
"delta": -0.0958,
"percent_delta": -0.232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"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": 2.895,
"after": 4.0,
"delta": 1.105,
"percent_delta": 0.3817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.368,
"after": 0.0,
"delta": -0.368,
"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.158 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 2.895 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.368 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.305 | - |
| predicted_R | 0.298 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.298 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | -0.023 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 2.907 | 0.012 |
| predicted_AVG | 0.258 | -0.005 |
| predicted_BB | 0.324 | -0.044 |
| predicted_H | 0.484 | 0.174 |
| predicted_HBP | 0.091 | - |
| predicted_HR | 0.088 | 0.028 |
| predicted_OBP | 0.315 | 0.010 |
| predicted_R | 0.318 | 0.020 |
| predicted_RBI | 0.329 | 0.109 |
| predicted_SLG | 0.418 | 0.005 |
| predicted_SO | 0.283 | -0.015 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.135 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 2.907 | 0.000 |
| predicted_AVG | 0.169 | -0.089 |
| predicted_BB | 0.324 | 0.000 |
| predicted_H | 0.490 | 0.006 |
| predicted_HBP | 0.091 | 0.000 |
| predicted_HR | 0.089 | 0.001 |
| predicted_OBP | 0.252 | -0.063 |
| predicted_R | 0.324 | 0.006 |
| predicted_RBI | 0.336 | 0.006 |
| predicted_SLG | 0.317 | -0.101 |
| predicted_SO | 0.283 | -0.000 |
AB rounded to 3 (raw=2.91), rates preserved: AVG=0.169 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.135 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 3.000 | 0.093 |
| predicted_AVG | 0.333 | 0.165 |
| predicted_BB | 0.000 | -0.324 |
| predicted_H | 1.000 | 0.510 |
| predicted_HR | 0.000 | -0.089 |
| predicted_OBP | 0.333 | 0.081 |
| predicted_R | 0.000 | -0.324 |
| predicted_RBI | 0.000 | -0.336 |
| predicted_SLG | 0.333 | 0.016 |
| predicted_SO | 0.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 | 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 | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.1667 | 0.2308 | 0.4167 | 0.1667 | 0.0833 | 0.3333 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 10 | - | 28.000 | 5.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 2.000 | 1.000 | 0.1786 | 0.2581 | 0.2857 | 0.1786 | 0.0357 | 0.1429 | 0.0714 | 0.0357 |
| season | 0.60 | 57 | - | 165.000 | 50.000 | 9.000 | 1.000 | 6.000 | 21.000 | 17.000 | 21.000 | 17.000 | 0.3030 | 0.3895 | 0.4788 | 0.3030 | 0.0364 | 0.1273 | 0.1273 | 0.1030 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0110 |
| predicted_AB | 2.9250 |
| predicted_AVG | 0.2508 |
| predicted_BB | 0.2600 |
| predicted_H | 0.7340 |
| predicted_HBP | 0.0910 |
| predicted_HR | 0.1290 |
| predicted_OBP | 0.3290 |
| predicted_R | 0.3460 |
| predicted_RBI | 0.4860 |
| predicted_SLG | 0.4253 |
| predicted_SO | 0.2620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1580 | 0.1020 | 0.1350 | model_form_blend |
| predicted_3B | 0.0180 | 0.0110 | 0.0151 | model_form_blend |
| predicted_AB | 2.8950 | 2.9250 | 2.9073 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2508 | 0.2580 | model_form_blend |
| predicted_BB | 0.3680 | 0.2600 | 0.3237 | model_form_blend |
| predicted_H | 0.3100 | 0.7340 | 0.4839 | model_form_blend |
| predicted_HBP | - | 0.0910 | 0.0910 | form_only |
| predicted_HR | 0.0600 | 0.1290 | 0.0883 | model_form_blend |
| predicted_OBP | 0.3050 | 0.3290 | 0.3148 | model_form_blend |
| predicted_R | 0.2980 | 0.3460 | 0.3177 | model_form_blend |
| predicted_RBI | 0.2200 | 0.4860 | 0.3291 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4253 | 0.4180 | model_form_blend |
| predicted_SO | 0.2980 | 0.2620 | 0.2832 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 162 |
| Season rows before report date | 162 |
| Report year | 2026 |
| Profile rows used | 57 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.303 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 9 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.45 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 29 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | RF-P |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 666126 |
| playerID | 666126 |
| playerName | Carlos Cortes |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-14 |
| sl_k_percent | 9.2 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.388 |
| sl_xwoba | 0.379 |
| sl_xba | 0.299 |
| sl_xslg | 0.473 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 41.3 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 8.8 |
| sl_whiff_percent | 18.7 |
| sl_swing_percent | 42.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.068 | 0.000 | 0.000 | Hitting_2B | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.915 | 4.000 | 3.000 | Hitting_AB | 3.253 | 5.000 | 0.747 | -1.000 |
| predicted_AVG | 0.269 | 0.000 | 0.333 | Hitting_AVG | 0.183 | 0.600 | -0.183 | -0.600 |
| predicted_BB | 0.339 | 0.000 | 0.000 | Hitting_BB | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.710 | 0.000 | 1.000 | Hitting_H | 0.596 | 3.000 | -0.596 | -3.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_OBP | 0.318 | 0.000 | 0.333 | Hitting_OBP | 0.280 | 0.600 | -0.280 | -0.600 |
| predicted_R | 0.322 | 0.000 | 0.000 | Hitting_R | 0.410 | 1.000 | -0.410 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 0.000 | Hitting_RBI | 0.331 | 0.000 | -0.331 | 0.000 |
| predicted_SLG | 0.395 | 0.000 | 0.333 | Hitting_SLG | 0.283 | 0.600 | -0.283 | -0.600 |
| predicted_SO | 0.847 | 1.000 | 1.000 | Hitting_SO | 0.933 | 1.000 | 0.067 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.9150 -> 4.0000 (boost 1.0850, 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 | 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2644 -> 0.2525 (deboost -0.0119, 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_H: 0.7417 -> 1.0000 (boost 0.2583, better) | predicted_RBI: 0.3849 -> 0.0000 (deboost -0.3849, worse) | AB rounded to 3 (raw=2.94), rates preserved: AVG=0.253 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3571 -> 0.0000 (deboost -0.3571, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2525 -> 0.3330 (boost 0.0805, better) | predicted_SLG: 0.3879 -> 0.3330 (deboost -0.0549, 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3879 (boost 0.0549, better) | predicted_AVG: 0.3330 -> 0.2525 (deboost -0.0805, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671732",
"player_name": "Lawrence Butler",
"position": "RF",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.068,
"predicted_3B": 0.0,
"predicted_AB": 2.915,
"predicted_AVG": 0.269,
"predicted_BB": 0.339,
"predicted_H": 0.71,
"predicted_HR": 0.1,
"predicted_OBP": 0.318,
"predicted_R": 0.322,
"predicted_RBI": 0.38,
"predicted_SLG": 0.395,
"predicted_SO": 0.847
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0861,
"predicted_3B": 0.0008,
"predicted_AB": 2.9372,
"predicted_AVG": 0.2644,
"predicted_BB": 0.309,
"predicted_H": 0.7326,
"predicted_HBP": 0.004,
"predicted_HR": 0.1025,
"predicted_OBP": 0.3194,
"predicted_R": 0.3503,
"predicted_RBI": 0.3775,
"predicted_SLG": 0.3985,
"predicted_SO": 0.8216
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.068,
"after": 0.0861,
"delta": 0.0181,
"percent_delta": 0.2662,
"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.915,
"after": 2.9372,
"delta": 0.0222,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2644,
"delta": -0.0046,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 0.309,
"delta": -0.03,
"percent_delta": -0.0885,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.7326,
"delta": 0.0226,
"percent_delta": 0.0318,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1025,
"delta": 0.0025,
"percent_delta": 0.025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3194,
"delta": 0.0014,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.322,
"after": 0.3503,
"delta": 0.0283,
"percent_delta": 0.0879,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.3775,
"delta": -0.0025,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3985,
"delta": 0.0035,
"percent_delta": 0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.847,
"after": 0.8216,
"delta": -0.0254,
"percent_delta": -0.03,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 5,
"last_10": 10,
"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.0861,
"predicted_3B": 0.0008,
"predicted_AB": 2.9372,
"predicted_AVG": 0.2525,
"predicted_BB": 0.3091,
"predicted_H": 0.7417,
"predicted_HBP": 0.004,
"predicted_HR": 0.1033,
"predicted_OBP": 0.3237,
"predicted_R": 0.3571,
"predicted_RBI": 0.3849,
"predicted_SLG": 0.3879,
"predicted_SO": 0.8213
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0861,
"after": 0.0861,
"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": 2.9372,
"after": 2.9372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2644,
"after": 0.2525,
"delta": -0.0119,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.309,
"after": 0.3091,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7326,
"after": 0.7417,
"delta": 0.0091,
"percent_delta": 0.0124,
"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.1025,
"after": 0.1033,
"delta": 0.0008,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3194,
"after": 0.3237,
"delta": 0.0043,
"percent_delta": 0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3503,
"after": 0.3571,
"delta": 0.0068,
"percent_delta": 0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3775,
"after": 0.3849,
"delta": 0.0074,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3985,
"after": 0.3879,
"delta": -0.0106,
"percent_delta": -0.0266,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8216,
"after": 0.8213,
"delta": -0.0003,
"percent_delta": -0.0004,
"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.2644,
"after": 0.2525,
"delta": -0.0119,
"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 3 (raw=2.94), rates preserved: AVG=0.253 HR/AB=0.035",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0861,
"after": 0.0,
"delta": -0.0861,
"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": 2.9372,
"after": 3.0,
"delta": 0.0628,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3091,
"after": 0.0,
"delta": -0.3091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7417,
"after": 1.0,
"delta": 0.2583,
"percent_delta": 0.3483,
"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.1033,
"after": 0.0,
"delta": -0.1033,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3849,
"after": 0.0,
"delta": -0.3849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8213,
"after": 1.0,
"delta": 0.1787,
"percent_delta": 0.2176,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7417,
"after": 1.0,
"delta": 0.2583,
"percent_delta": 0.3483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3849,
"after": 0.0,
"delta": -0.3849,
"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.3571,
"after": 0.0,
"delta": -0.3571,
"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.3571,
"after": 0.0,
"delta": -0.3571,
"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.2525,
"after": 0.333,
"delta": 0.0805,
"percent_delta": 0.3188,
"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.3237,
"after": 0.333,
"delta": 0.0093,
"percent_delta": 0.0287,
"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.3879,
"after": 0.333,
"delta": -0.0549,
"percent_delta": -0.1415,
"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.2525,
"after": 0.333,
"delta": 0.0805,
"percent_delta": 0.3188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3879,
"after": 0.333,
"delta": -0.0549,
"percent_delta": -0.1415,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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_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.2525,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3237,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3879,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2525,
"delta": -0.0805,
"percent_delta": -0.2417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3237,
"delta": -0.0093,
"percent_delta": -0.028,
"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.3879,
"delta": 0.0549,
"percent_delta": 0.1648,
"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.3879,
"delta": 0.0549,
"percent_delta": 0.1648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2525,
"delta": -0.0805,
"percent_delta": -0.2417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.068,
"after": 0.0,
"delta": -0.068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.915,
"after": 4.0,
"delta": 1.085,
"percent_delta": 0.3722,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2525,
"delta": -0.0165,
"percent_delta": -0.0613,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 0.0,
"delta": -0.71,
"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.318,
"after": 0.3237,
"delta": 0.0057,
"percent_delta": 0.0179,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.322,
"after": 0.0,
"delta": -0.322,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.3879,
"delta": -0.0071,
"percent_delta": -0.018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.847,
"after": 1.0,
"delta": 0.153,
"percent_delta": 0.1806,
"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": 2.915,
"after": 4.0,
"delta": 1.085,
"percent_delta": 0.3722,
"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.068 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.915 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.339 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.322 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 0.847 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.086 | 0.018 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.937 | 0.022 |
| predicted_AVG | 0.264 | -0.005 |
| predicted_BB | 0.309 | -0.030 |
| predicted_H | 0.733 | 0.023 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.102 | 0.002 |
| predicted_OBP | 0.319 | 0.001 |
| predicted_R | 0.350 | 0.028 |
| predicted_RBI | 0.378 | -0.003 |
| predicted_SLG | 0.399 | 0.004 |
| predicted_SO | 0.822 | -0.025 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.086 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.937 | 0.000 |
| predicted_AVG | 0.253 | -0.012 |
| predicted_BB | 0.309 | 0.000 |
| predicted_H | 0.742 | 0.009 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.103 | 0.001 |
| predicted_OBP | 0.324 | 0.004 |
| predicted_R | 0.357 | 0.007 |
| predicted_RBI | 0.385 | 0.007 |
| predicted_SLG | 0.388 | -0.011 |
| predicted_SO | 0.821 | -0.000 |
AB rounded to 3 (raw=2.94), rates preserved: AVG=0.253 HR/AB=0.035
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.086 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.063 |
| predicted_AVG | 0.333 | 0.081 |
| predicted_BB | 0.000 | -0.309 |
| predicted_H | 1.000 | 0.258 |
| predicted_HR | 0.000 | -0.103 |
| predicted_OBP | 0.333 | 0.009 |
| predicted_R | 0.000 | -0.357 |
| predicted_RBI | 0.000 | -0.385 |
| predicted_SLG | 0.333 | -0.055 |
| 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 | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 3.000 | 0.4286 | 0.4667 | 0.7143 | 0.4286 | 0.0714 | 0.2143 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 26.000 | 8.000 | 1.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 7.000 | 0.3077 | 0.3333 | 0.4615 | 0.3077 | 0.0385 | 0.1154 | 0.0385 | 0.2692 |
| season | 0.60 | 59 | - | 172.000 | 32.000 | 4.000 | 0.000 | 4.000 | 17.000 | 19.000 | 20.000 | 50.000 | 0.1860 | 0.2708 | 0.2791 | 0.1860 | 0.0233 | 0.0988 | 0.1163 | 0.2907 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1120 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.9690 |
| predicted_AVG | 0.2577 |
| predicted_BB | 0.2660 |
| predicted_H | 0.7650 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.1060 |
| predicted_OBP | 0.3213 |
| predicted_R | 0.3910 |
| predicted_RBI | 0.3740 |
| predicted_SLG | 0.4036 |
| predicted_SO | 0.7850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0680 | 0.1120 | 0.0861 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.9150 | 2.9690 | 2.9372 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2577 | 0.2644 | model_form_blend |
| predicted_BB | 0.3390 | 0.2660 | 0.3090 | model_form_blend |
| predicted_H | 0.7100 | 0.7650 | 0.7326 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1000 | 0.1060 | 0.1025 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3213 | 0.3194 | model_form_blend |
| predicted_R | 0.3220 | 0.3910 | 0.3503 | model_form_blend |
| predicted_RBI | 0.3800 | 0.3740 | 0.3775 | model_form_blend |
| predicted_SLG | 0.3950 | 0.4036 | 0.3985 | model_form_blend |
| predicted_SO | 0.8470 | 0.7850 | 0.8216 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 178 |
| Season rows before report date | 178 |
| Report year | 2026 |
| Profile rows used | 59 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.186 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 671732 |
| playerID | 671732 |
| playerName | Lawrence Butler |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-14 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.244 |
| sl_xwoba | 0.306 |
| sl_xba | 0.242 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 5.6 |
| sl_whiff_percent | 29.5 |
| 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.143 | 0.000 | 0.000 | Hitting_2B | 0.175 | 0.000 | -0.175 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.270 | 4.000 | 3.000 | Hitting_AB | 3.465 | 3.000 | 0.535 | 1.000 |
| predicted_AVG | 0.224 | 0.250 | 0.333 | Hitting_AVG | 0.260 | 0.000 | -0.010 | 0.250 |
| predicted_BB | 0.317 | 0.000 | 0.000 | Hitting_BB | 0.340 | 1.000 | -0.340 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_H | 0.640 | 1.000 | 1.000 | Hitting_H | 0.900 | 0.000 | 0.100 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_OBP | 0.273 | 0.250 | 0.333 | Hitting_OBP | 0.331 | 0.250 | -0.081 | 0.000 |
| predicted_R | 0.254 | 1.000 | 0.000 | Hitting_R | 0.310 | 1.000 | 0.690 | 0.000 |
| predicted_RBI | 0.250 | 1.000 | 0.000 | Hitting_RBI | 0.290 | 0.000 | 0.710 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_SLG | 0.285 | 0.250 | 0.333 | Hitting_SLG | 0.336 | 0.000 | -0.086 | 0.250 |
| predicted_SO | 0.508 | 0.000 | 0.000 | Hitting_SO | 0.505 | 0.000 | -0.505 | 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_RBI: 0.2500 -> 1.0000 (boost 0.7500, better) |
| Biggest Deboost | predicted_SO: 0.5080 -> 0.0000 (deboost -0.5080, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2850 -> 0.2594 (deboost -0.0256, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2001 -> 0.1860 (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 | 6 | 1 | 5 | 2 | 4 | predicted_H: 0.6033 -> 1.0000 (boost 0.3967, better) | predicted_SO: 0.5136 -> 0.0000 (deboost -0.5136, better) | AB rounded to 3 (raw=3.27), rates preserved: AVG=0.184 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2534 -> 0.0000 (deboost -0.2534, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1860 -> 0.3330 (boost 0.1470, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 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.1860 (deboost -0.1470, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643446",
"player_name": "Jeff McNeil",
"position": "2B",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.0,
"predicted_AB": 3.27,
"predicted_AVG": 0.224,
"predicted_BB": 0.317,
"predicted_H": 0.64,
"predicted_HR": 0.05,
"predicted_OBP": 0.273,
"predicted_R": 0.254,
"predicted_RBI": 0.25,
"predicted_SLG": 0.285,
"predicted_SO": 0.508
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1218,
"predicted_3B": 0.0004,
"predicted_AB": 3.2442,
"predicted_AVG": 0.2001,
"predicted_BB": 0.3424,
"predicted_H": 0.5959,
"predicted_HBP": 0.02,
"predicted_HR": 0.0413,
"predicted_OBP": 0.2671,
"predicted_R": 0.2486,
"predicted_RBI": 0.2179,
"predicted_SLG": 0.2594,
"predicted_SO": 0.5138
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1218,
"delta": -0.0212,
"percent_delta": -0.1483,
"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.27,
"after": 3.2442,
"delta": -0.0258,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2001,
"delta": -0.0239,
"percent_delta": -0.1067,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.317,
"after": 0.3424,
"delta": 0.0254,
"percent_delta": 0.0801,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.5959,
"delta": -0.0441,
"percent_delta": -0.0689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0413,
"delta": -0.0087,
"percent_delta": -0.174,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2671,
"delta": -0.0059,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.254,
"after": 0.2486,
"delta": -0.0054,
"percent_delta": -0.0213,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2179,
"delta": -0.0321,
"percent_delta": -0.1284,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.285,
"after": 0.2594,
"delta": -0.0256,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.508,
"after": 0.5138,
"delta": 0.0058,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.285,
"after": 0.2594,
"delta": -0.0256,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1218,
"predicted_3B": 0.0004,
"predicted_AB": 3.2442,
"predicted_AVG": 0.186,
"predicted_BB": 0.3425,
"predicted_H": 0.6033,
"predicted_HBP": 0.02,
"predicted_HR": 0.0416,
"predicted_OBP": 0.2637,
"predicted_R": 0.2534,
"predicted_RBI": 0.2221,
"predicted_SLG": 0.2622,
"predicted_SO": 0.5136
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1218,
"after": 0.1218,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2442,
"after": 3.2442,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2001,
"after": 0.186,
"delta": -0.0141,
"percent_delta": -0.0705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3424,
"after": 0.3425,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5959,
"after": 0.6033,
"delta": 0.0074,
"percent_delta": 0.0124,
"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.0413,
"after": 0.0416,
"delta": 0.0003,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2671,
"after": 0.2637,
"delta": -0.0034,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2486,
"after": 0.2534,
"delta": 0.0048,
"percent_delta": 0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2179,
"after": 0.2221,
"delta": 0.0042,
"percent_delta": 0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2594,
"after": 0.2622,
"delta": 0.0028,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5138,
"after": 0.5136,
"delta": -0.0002,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2001,
"after": 0.186,
"delta": -0.0141,
"percent_delta": -0.0705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.27), rates preserved: AVG=0.184 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1218,
"after": 0.0,
"delta": -0.1218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2442,
"after": 3.0,
"delta": -0.2442,
"percent_delta": -0.0753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3425,
"after": 0.0,
"delta": -0.3425,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6033,
"after": 1.0,
"delta": 0.3967,
"percent_delta": 0.6576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.0416,
"after": 0.0,
"delta": -0.0416,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2221,
"after": 0.0,
"delta": -0.2221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5136,
"after": 0.0,
"delta": -0.5136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6033,
"after": 1.0,
"delta": 0.3967,
"percent_delta": 0.6576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5136,
"after": 0.0,
"delta": -0.5136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2534,
"after": 0.0,
"delta": -0.2534,
"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.2534,
"after": 0.0,
"delta": -0.2534,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.186,
"after": 0.333,
"delta": 0.147,
"percent_delta": 0.7903,
"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.2637,
"after": 0.333,
"delta": 0.0693,
"percent_delta": 0.2628,
"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.2622,
"after": 0.333,
"delta": 0.0708,
"percent_delta": 0.27,
"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.186,
"after": 0.333,
"delta": 0.147,
"percent_delta": 0.7903,
"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": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 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_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.186,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2637,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2622,
"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.186,
"delta": -0.147,
"percent_delta": -0.4416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2637,
"delta": -0.0693,
"percent_delta": -0.2081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2622,
"delta": -0.0708,
"percent_delta": -0.2125,
"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.186,
"delta": -0.147,
"percent_delta": -0.4416,
"direction": "deboost",
"projection_effect": "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.27,
"after": 4.0,
"delta": 0.73,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.186,
"delta": -0.038,
"percent_delta": -0.1696,
"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.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"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.273,
"after": 0.2637,
"delta": -0.0093,
"percent_delta": -0.0341,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.254,
"after": 1.0,
"delta": 0.746,
"percent_delta": 2.937,
"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.285,
"after": 0.2622,
"delta": -0.0228,
"percent_delta": -0.08,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.508,
"after": 0.0,
"delta": -0.508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.508,
"after": 0.0,
"delta": -0.508,
"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.270 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.317 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.254 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.285 | - |
| predicted_SO | 0.508 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | -0.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.244 | -0.026 |
| predicted_AVG | 0.200 | -0.024 |
| predicted_BB | 0.342 | 0.025 |
| predicted_H | 0.596 | -0.044 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.041 | -0.009 |
| predicted_OBP | 0.267 | -0.006 |
| predicted_R | 0.249 | -0.005 |
| predicted_RBI | 0.218 | -0.032 |
| predicted_SLG | 0.259 | -0.026 |
| predicted_SO | 0.514 | 0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.244 | 0.000 |
| predicted_AVG | 0.186 | -0.014 |
| predicted_BB | 0.343 | 0.000 |
| predicted_H | 0.603 | 0.007 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.042 | 0.000 |
| predicted_OBP | 0.264 | -0.003 |
| predicted_R | 0.253 | 0.005 |
| predicted_RBI | 0.222 | 0.004 |
| predicted_SLG | 0.262 | 0.003 |
| predicted_SO | 0.514 | -0.000 |
AB rounded to 3 (raw=3.27), rates preserved: AVG=0.184 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.244 |
| predicted_AVG | 0.333 | 0.147 |
| predicted_BB | 0.000 | -0.343 |
| predicted_H | 1.000 | 0.397 |
| predicted_HR | 0.000 | -0.042 |
| predicted_OBP | 0.333 | 0.069 |
| predicted_R | 0.000 | -0.253 |
| predicted_RBI | 0.000 | -0.222 |
| predicted_SLG | 0.333 | 0.071 |
| predicted_SO | 0.000 | -0.514 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.0000 | 0.1875 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2308 | 0.1538 |
| last_10 | 0.20 | 10 | - | 32.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 5.000 | 0.0938 | 0.1714 | 0.0938 | 0.0938 | 0.0000 | 0.0000 | 0.0938 | 0.1562 |
| season | 0.60 | 63 | - | 206.000 | 47.000 | 9.000 | 0.000 | 2.000 | 15.000 | 16.000 | 20.000 | 32.000 | 0.2282 | 0.3000 | 0.3010 | 0.2282 | 0.0097 | 0.0728 | 0.0971 | 0.1553 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0920 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2080 |
| predicted_AVG | 0.1666 |
| predicted_BB | 0.3780 |
| predicted_H | 0.5340 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0290 |
| predicted_OBP | 0.2589 |
| predicted_R | 0.2410 |
| predicted_RBI | 0.1730 |
| predicted_SLG | 0.2236 |
| predicted_SO | 0.5220 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.0920 | 0.1218 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.2700 | 3.2080 | 3.2442 | model_form_blend |
| predicted_AVG | 0.2240 | 0.1666 | 0.2001 | model_form_blend |
| predicted_BB | 0.3170 | 0.3780 | 0.3424 | model_form_blend |
| predicted_H | 0.6400 | 0.5340 | 0.5959 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0500 | 0.0290 | 0.0413 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2589 | 0.2671 | model_form_blend |
| predicted_R | 0.2540 | 0.2410 | 0.2486 | model_form_blend |
| predicted_RBI | 0.2500 | 0.1730 | 0.2179 | model_form_blend |
| predicted_SLG | 0.2850 | 0.2236 | 0.2594 | model_form_blend |
| predicted_SO | 0.5080 | 0.5220 | 0.5138 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 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 | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.228 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 1B |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 643446 |
| playerID | 643446 |
| playerName | Jeff McNeil |
| pos | 2B |
| started | True |
| startingPosition | 1B |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-14 |
| sl_k_percent | 14.0 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.277 |
| sl_xwoba | 0.304 |
| sl_xba | 0.267 |
| sl_xslg | 0.343 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 1.1 |
| sl_hard_hit_percent | 30.5 |
| sl_exit_velocity_avg | 86.3 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 17.2 |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 2.000 | 3.000 | -1.000 | -2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.667 | 5.000 | 0.333 | -3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 3.467 | 8.000 | 1.533 | -3.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 4.600 | 5.200 | 0.600 | 0.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.333 | 5.000 | 1.667 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669372",
"player_name": "J.T. Ginn",
"position": "Starter",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 2.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"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": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.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": 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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.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 | 1.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.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 | 28.000 | 10.000 | 16.000 | 14.000 | 31.000 | 3.000 | 3.2143 | 1.0714 | 0.3571 | 0.5714 | 0.5000 | 1.1071 | 0.1071 |
| last_10 | 0.35 | 10 | 55.000 | 19.000 | 43.000 | 23.000 | 54.000 | 6.000 | 3.1091 | 1.2000 | 0.3454 | 0.7818 | 0.4182 | 0.9818 | 0.1091 |
| season | 0.20 | 15 | 71.100 | 25.000 | 52.000 | 30.000 | 65.000 | 8.000 | 3.1542 | 1.1495 | 0.3505 | 0.7290 | 0.4206 | 0.9112 | 0.1121 |
| Metric | Value |
|---|---|
| predicted_BB | 2.3450 |
| predicted_ER | 2.1060 |
| predicted_ERA | 3.4912 |
| predicted_H | 4.0740 |
| predicted_HR | 0.6400 |
| predicted_IP | 5.1000 |
| predicted_SO | 5.4370 |
| predicted_WHIP | 1.1823 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 2.3450 | 1.7322 | model_form_blend |
| predicted_ER | 2.0000 | 2.1060 | 2.0577 | model_form_blend |
| predicted_ERA | - | 3.4912 | 3.4912 | form_only |
| predicted_H | 5.0000 | 4.0740 | 4.4959 | model_form_blend |
| predicted_HR | 1.0000 | 0.6400 | 0.8040 | model_form_blend |
| predicted_IP | 5.2000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 6.0000 | 5.4370 | 5.6935 | model_form_blend |
| predicted_WHIP | - | 1.1823 | 1.1823 | 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 | 5.2 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 6 |
| HR | 1 |
| BF | 23 |
| Pitches | 102 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 28 |
| Pitching_ER | 5 |
| Pitching_ERA | 3.15 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 7 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 97 |
| Pitching_R | 5 |
| Pitching_SO | 5 |
| Pitching_Strikes | 58 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_MIL@OAK |
| game_type | full |
| mlbID | 669372 |
| playerID | 669372 |
| playerName | J.T. Ginn |
| pos | P |
| started | True |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-09 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.289 |
| sl_xwoba | 0.307 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 37.7 |
| sl_whiff_percent | 27.2 |
| sl_swing_percent | 46.0 |
| sl_avg_best_speed | 76.799901895 |
| sl_avg_hyper_speed | 93.930596349 |
| 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.639 | 0.000 | -0.639 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.278 | 0.000 | -0.278 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.750 | 0.000 | 0.250 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.728 | 1.100 | 0.372 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.083 | 2.000 | -0.083 | -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": "663687",
"player_name": "Hogan Harris",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 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.200 | 2.000 | 5.000 | 1.000 | 8.000 | 0.000 | 3.1765 | 1.0588 | 0.3529 | 0.8823 | 0.1765 | 1.4118 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 6.000 | 4.000 | 13.000 | 0.000 | 1.8621 | 1.0345 | 0.2069 | 0.6207 | 0.4138 | 1.3448 | 0.0000 |
| season | 0.20 | 36 | 33.200 | 10.000 | 27.000 | 23.000 | 39.000 | 2.000 | 2.6733 | 1.4851 | 0.2970 | 0.8020 | 0.6832 | 1.1584 | 0.0594 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3610 |
| predicted_ER | 0.3790 |
| predicted_ERA | 3.4098 |
| predicted_H | 0.8590 |
| predicted_HR | 0.0690 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1650 |
| predicted_WHIP | 1.2203 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3610 | 0.1693 | model_form_blend |
| predicted_ER | 0.0000 | 0.3790 | 0.1777 | model_form_blend |
| predicted_ERA | - | 3.4098 | 3.4098 | form_only |
| predicted_H | 1.0000 | 0.8590 | 0.9339 | model_form_blend |
| predicted_HR | 0.0000 | 0.0690 | 0.0324 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1650 | 1.0774 | model_form_blend |
| predicted_WHIP | - | 1.2203 | 1.2203 | 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 | 36 |
| Season rows before report date | 36 |
| Report year | 2026 |
| Profile rows used | 36 |
| 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 | 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.67 |
| Pitching_Flyouts | 0 |
| 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 | 21 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260612_COL@OAK |
| game_type | full |
| mlbID | 663687 |
| playerID | 663687 |
| playerName | Hogan Harris |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-12 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.299 |
| sl_xwoba | 0.283 |
| sl_sweet_spot_percent | 25.3 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 26.4 |
| sl_whiff_percent | 25.5 |
| sl_swing_percent | 43.0 |
| sl_avg_best_speed | 74.222426279 |
| sl_avg_hyper_speed | 92.26817686 |
| 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.323 | 0.000 | 2.677 | 3.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.516 | 0.000 | 1.484 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.968 | 1.000 | 1.032 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.819 | 1.000 | 0.181 | 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": "643410",
"player_name": "Mark Leiter Jr.",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.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": 3.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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 | 3.000 | - |
| predicted_ER | 2.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.000 | 1.000 | 2.000 | 2.000 | 6.000 | 0.000 | 2.2500 | 1.0000 | 0.2500 | 0.5000 | 0.5000 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 1.000 | 4.000 | 4.000 | 9.000 | 0.000 | 1.0000 | 0.8889 | 0.1111 | 0.4444 | 0.4444 | 1.0000 | 0.0000 |
| season | 0.20 | 31 | 28.200 | 16.000 | 30.000 | 10.000 | 31.000 | 2.000 | 5.0233 | 1.3953 | 0.5581 | 1.0465 | 0.3488 | 1.0814 | 0.0698 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3760 |
| predicted_ER | 0.3430 |
| predicted_ERA | 3.3511 |
| predicted_H | 0.7080 |
| predicted_HR | 0.0690 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0100 |
| predicted_WHIP | 1.1774 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.3760 | 1.8136 | model_form_blend |
| predicted_ER | 2.0000 | 0.3430 | 1.2508 | model_form_blend |
| predicted_ERA | - | 3.3511 | 3.3511 | form_only |
| predicted_H | 2.0000 | 0.7080 | 1.4158 | model_form_blend |
| predicted_HR | 0.0000 | 0.0690 | 0.0312 | 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.1774 | 1.1774 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 1 |
| HR | 0 |
| BF | 8 |
| Pitches | 31 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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.02 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260613_COL@OAK |
| game_type | full |
| mlbID | 643410 |
| playerID | 643410 |
| playerName | Mark Leiter Jr. |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-13 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.312 |
| sl_xwoba | 0.318 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 32.1 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 46.4 |
| sl_avg_best_speed | 76.538488537 |
| sl_avg_hyper_speed | 92.881130741 |
| 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.576 | 2.000 | -0.576 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.545 | 4.000 | -0.545 | -4.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.636 | 2.000 | -0.636 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.794 | 0.200 | 0.206 | 0.800 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.788 | 1.000 | -0.788 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "605130",
"player_name": "Scott Barlow",
"position": "Middle Reliever",
"team": "OAK",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 9.000 | 8.000 | 4.000 | 3.000 | 3.000 | 18.6923 | 2.7692 | 2.0769 | 1.8461 | 0.9231 | 0.6923 | 0.6923 |
| last_10 | 0.35 | 10 | 8.000 | 10.000 | 10.000 | 10.000 | 5.000 | 4.000 | 11.2500 | 2.5000 | 1.2500 | 1.2500 | 1.2500 | 0.6250 | 0.5000 |
| season | 0.20 | 32 | 31.100 | 14.000 | 19.000 | 17.000 | 26.000 | 5.000 | 4.0213 | 1.1489 | 0.4468 | 0.6064 | 0.5425 | 0.8298 | 0.1596 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6490 |
| predicted_ER | 0.9640 |
| predicted_ERA | 9.2781 |
| predicted_H | 1.1260 |
| predicted_HR | 0.3290 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7500 |
| predicted_WHIP | 1.8968 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6490 | 0.2995 | model_form_blend |
| predicted_ER | 0.0000 | 0.9640 | 0.4449 | model_form_blend |
| predicted_ERA | - | 9.2781 | 9.2781 | form_only |
| predicted_H | 0.0000 | 1.1260 | 0.5196 | model_form_blend |
| predicted_HR | 0.0000 | 0.3290 | 0.1518 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.7500 | 0.3461 | model_form_blend |
| predicted_WHIP | - | 1.8968 | 1.8968 | 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 | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 32 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 3 |
| Pitches | 18 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 4 |
| Pitching_ERA | 5.17 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 30 |
| Pitching_R | 4 |
| Pitching_SO | 1 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260614_COL@OAK |
| game_type | full |
| mlbID | 605130 |
| playerID | 605130 |
| playerName | Scott Barlow |
| pos | P |
| started | False |
| startingPosition | P |
| team | OAK |
| teamID | 20 |
| game_date | 2026-06-14 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.3 |
| sl_xwoba | 0.328 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 32.6 |
| sl_whiff_percent | 33.8 |
| sl_swing_percent | 42.1 |
| sl_avg_best_speed | 77.041565581 |
| sl_avg_hyper_speed | 93.020268372 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | SD 2 - 1 STL | SD | 0.551 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | SD 3 - 2 STL | SD | - | 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.5513 |
| 9. Simulation reconciliation | Keeps final shipped score and simulation box score auditable side by side. | simulation_reconciliation | advisory_box_score_draw |
| 10. Score evolution rendered | 6 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 6.009 | 1.573 | - | Base ML historical model prediction |
| 2 | variance_applied | 6 | 2 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 1 | 0.5513 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 1 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 1 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 3 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5845340703862661,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.1690834266094421,
"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": 3,
"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": 158,
"near_bucket_sample_size": 158,
"medium_bucket_sample_size": 214,
"wide_bucket_sample_size": 214,
"global_sample_size": 214,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5443,
"bayesian_hit_rate": 0.5398,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8977,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5827,
"calibrated_pick_probability": 0.5513,
"predicted_side": "away"
}{
"applied": false,
"home": {
"team": "STL",
"games": 69,
"wins": 38,
"losses": 31,
"win_pct": 0.5507246376811594,
"runs_scored": 319,
"runs_allowed": 307,
"run_differential": 12,
"run_differential_per_game": 0.17391304347826086,
"available": true
},
"away": {
"team": "SD",
"games": 70,
"wins": 37,
"losses": 33,
"win_pct": 0.5285714285714286,
"runs_scored": 272,
"runs_allowed": 282,
"run_differential": -10,
"run_differential_per_game": -0.14285714285714285,
"available": true
},
"run_differential_edge_per_game": 0.3168,
"win_pct_edge": 0.0222,
"quality_edge": 0.35,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "SD",
"guardrail_predicted_team": "SD",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "SD",
"output_opponent_team": "STL",
"final_score_winner": "SD",
"pre_simulation_winner": "SD",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 1,
"score_text": "SD 2 - 1 STL",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "SD 3 - 2 STL",
"winner": "SD"
},
"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": "STL",
"games": 69,
"wins": 38,
"losses": 31,
"win_pct": 0.5507246376811594,
"runs_scored": 319,
"runs_allowed": 307,
"run_differential": 12,
"run_differential_per_game": 0.17391304347826086,
"available": true
},
"away": {
"team": "SD",
"games": 70,
"wins": 37,
"losses": 33,
"win_pct": 0.5285714285714286,
"runs_scored": 272,
"runs_allowed": 282,
"run_differential": -10,
"run_differential_per_game": -0.14285714285714285,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.9961,
"final_margin": -0.9961,
"margin_cap": 1.5,
"season_quality_edge": 0.35,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.551266,
"final_confidence": 0.551266,
"confidence_cap": 0.66,
"score_gap": 0.9961,
"calibration_sample_size": 158,
"calibration_empirical_hit_rate": 0.5443,
"calibration_bayesian_hit_rate": 0.5398,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.35,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 1,
"score_text": "SD 2 - 1 STL",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "SD 3 - 2 STL",
"winner": "SD"
},
"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": 2,
"home_runs": 1,
"confidence": 0.551266,
"home_win_probability": 0.44873399999999997,
"away_win_probability": 0.551266,
"predicted_score_text": "SD 2 - 1 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": "SD",
"original_runs": 2,
"run_delta": 0.075,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.19512479120163886,
"contact": 0.20279296203026312,
"power": 0.17814496507613775,
"discipline": 0.26202201067184094,
"xwoba": 0.33612903225806456,
"recent_xwoba": 0.33612903225806456,
"barrel": 9.229032258064517,
"ab_hard_contact": 0.03032172855808106,
"ab_bat_speed": 70.68438636438927,
"ab_strikeout_rate": 0.23701344086021509,
"available_players": 8,
"top_players": [
{
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"weight": 4.0,
"quality": 0.719163225878776,
"contact": 0.9737627705865206,
"power": 0.6490172972461872,
"discipline": -0.1112602660497397,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 10.8,
"ab_hard_contact": 0.8016792782570725,
"ab_bat_speed": 72.76390277777777,
"ab_strikeout_rate": 0.22403846153846155,
"available": 1.0
},
{
"player_id": "701538",
"player_name": "Jackson Merrill",
"position": "CF",
"weight": 4.0,
"quality": 0.33308804789028856,
"contact": 0.1910027387916489,
"power": 0.5761988262785435,
"discipline": -0.2736503759398494,
"xwoba": 0.318,
"recent_xwoba": 0.318,
"barrel": 10.3,
"ab_hard_contact": 0.6108336684280147,
"ab_bat_speed": 71.57640972222222,
"ab_strikeout_rate": 0.253,
"available": 1.0
},
{
"player_id": "660710",
"player_name": "Rodolfo Durán",
"position": "C",
"weight": 3.0,
"quality": 0.0719684144146778,
"contact": 0.21751463688688824,
"power": 1.0579516016952113,
"discipline": 0.9933734335839599,
"xwoba": 0.374,
"recent_xwoba": 0.374,
"barrel": 19.0,
"ab_hard_contact": -0.3301108232386525,
"ab_bat_speed": 72.5484375,
"ab_strikeout_rate": 0.3333333333333333,
"available": 1.0
},
{
"player_id": "695238",
"player_name": "Will Wagner",
"position": "3B",
"weight": 3.0,
"quality": -0.0,
"contact": 0.6877142857142857,
"power": -1.2485238095238098,
"discipline": 1.7028571428571428,
"xwoba": 0.441,
"recent_xwoba": 0.441,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.2222222222222222,
"available": 0.0
},
{
"player_id": "664034",
"player_name": "Ty France",
"position": "1B",
"weight": 3.0,
"quality": 0.13272176886564882,
"contact": 0.28498384879164945,
"power": 0.7682072298545511,
"discipline": -0.7592932330827067,
"xwoba": 0.318,
"recent_xwoba": 0.318,
"barrel": 11.6,
"ab_hard_contact": 0.01023983518625566,
"ab_bat_speed": 69.51782840722495,
"ab_strikeout_rate": 0.3,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "669160",
"player_name": "Dustin May",
"quality": -0.04591890377400899,
"contact": -0.18322588170246032,
"command": -0.07871428571428588,
"movement": 0.629079179331576,
"xwoba": 0.301,
"whiff": 21.2,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "STL",
"original_runs": 1,
"run_delta": 0.2931,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 35.0,
"quality": 0.3257825522169292,
"contact": 0.8455548080109401,
"power": 0.843133336847923,
"discipline": 0.15394656551697689,
"xwoba": 0.3631714285714286,
"recent_xwoba": 0.3631714285714286,
"barrel": 11.022857142857143,
"ab_hard_contact": -0.30574686848371574,
"ab_bat_speed": 70.96732966665161,
"ab_strikeout_rate": 0.20756097714921246,
"available_players": 6,
"top_players": [
{
"player_id": "676475",
"player_name": "Alec Burleson",
"position": "1B",
"weight": 4.0,
"quality": 1.2468713514958014,
"contact": 1.4336497958504726,
"power": 1.389144412620604,
"discipline": 0.3509028453486659,
"xwoba": 0.387,
"recent_xwoba": 0.387,
"barrel": 11.4,
"ab_hard_contact": 1.4442215857454077,
"ab_bat_speed": 71.2597854030501,
"ab_strikeout_rate": 0.15980392156862747,
"available": 1.0
},
{
"player_id": "691023",
"player_name": "Jordan Walker",
"position": "RF",
"weight": 4.0,
"quality": 1.1492223730723736,
"contact": 1.3496907972510326,
"power": 1.6677641661015286,
"discipline": -0.526472037937982,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 13.9,
"ab_hard_contact": 1.2021404648877079,
"ab_bat_speed": 77.65222766884531,
"ab_strikeout_rate": 0.25653594771241833,
"available": 1.0
},
{
"player_id": "671056",
"player_name": "Iván Herrera",
"position": "DH",
"weight": 4.0,
"quality": 0.68150276772885,
"contact": 0.9939939599804605,
"power": 0.33470526718127624,
"discipline": 0.857832141542668,
"xwoba": 0.372,
"recent_xwoba": 0.372,
"barrel": 7.4,
"ab_hard_contact": 1.1299148674350528,
"ab_bat_speed": 72.79067895299146,
"ab_strikeout_rate": 0.1825174825174825,
"available": 1.0
},
{
"player_id": "691026",
"player_name": "Masyn Winn",
"position": "SS",
"weight": 4.0,
"quality": -0.40175302219704767,
"contact": -0.3090459189332187,
"power": -0.8759315610252483,
"discipline": 0.09361681982734633,
"xwoba": 0.3,
"recent_xwoba": 0.3,
"barrel": 3.4,
"ab_hard_contact": -0.7174883633621095,
"ab_bat_speed": 68.20100000000001,
"ab_strikeout_rate": 0.1985185185185185,
"available": 1.0
},
{
"player_id": "663457",
"player_name": "Lars Nootbaar",
"position": "LF",
"weight": 4.0,
"quality": 0.0,
"contact": 1.8119142857142863,
"power": 2.0,
"discipline": 1.3599999999999999,
"xwoba": 0.437,
"recent_xwoba": 0.437,
"barrel": 19.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.26065568475452,
"ab_strikeout_rate": 0.2222222222222222,
"available": 0.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "593974",
"player_name": "Wandy Peralta",
"quality": -0.11061844377367322,
"contact": -0.28320753131658744,
"command": -0.4944285714285716,
"movement": 0.32877652379855554,
"xwoba": 0.328,
"whiff": 23.7,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 2,
"home_runs": 1,
"predicted_score_text": "SD 2 - 1 STL",
"confidence": 0.551266,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 1,
"score_text": "SD 2 - 1 STL",
"winner": "SD"
},
"final_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "SD 3 - 2 STL",
"winner": "SD"
},
"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 SD | True | 1.0272 | 1.0272 | 1 | 9 | 0 |
| Home STL | True | 1.0544 | 1.0544 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Manny Machado | 514 | 1.0191 | 0.2551 | positive_batter_regression | 0.3060 | 0.2280 | 0.3970 | 8.90 | 41.90 | 89.70 | 10.80 | 25.20 | 21.90 | 9.70 | 0.9714 |
| CF | Jackson Merrill | 257 | 1.0463 | 0.6168 | positive_batter_regression | 0.3180 | 0.2390 | 0.4300 | 10.30 | 47.30 | 90 | 14.40 | 28 | 24.20 | 8.30 | 1.2857 |
| RF | Fernando Tatis Jr. | 136 | 1.0752 | 1.0029 | positive_batter_regression | 0.3490 | 0.2860 | 0.4160 | 10.80 | 52 | 90.90 | 3.60 | 29.20 | 21.30 | 9.10 | 1.0571 |
| LF | Gavin Sheets | 203 | 1.0220 | 0.2935 | neutral | 0.3270 | 0.2390 | 0.4140 | 8.80 | 45.30 | 89.10 | 16.20 | 21.80 | 23 | 10.60 | -0.4286 |
| SS | Xander Bogaerts | 156 | 1.0228 | 0.3040 | neutral | 0.3240 | 0.2530 | 0.3990 | 7.10 | 37.50 | 88.20 | 8 | 22.40 | 18.20 | 9.70 | 0.6857 |
| 3B | Will Wagner | 236 | 1.0140 | 0.1868 | negative_batter_regression | 0.4410 | 0.3370 | 0.3790 | 0 | 0 | 80.70 | 12.70 | 21.10 | 16.70 | 33.30 | -2 |
| 1B | Ty France | 107 | 1.0149 | 0.1985 | neutral | 0.3180 | 0.2460 | 0.4370 | 11.60 | 50 | 91.40 | 6.80 | 30.20 | 25.20 | 5.60 | -0.4571 |
| 2B | Sung-Mun Song | 442 | 0.9862 | -0.1844 | positive_batter_regression | 0.2840 | 0.2080 | 0.3130 | 6.50 | 25.80 | 85.70 | 12.40 | 24.70 | 22.90 | 12.50 | 1.1143 |
| C | Rodolfo Durán | 185 | 1.0440 | 0.5865 | positive_batter_regression | 0.3740 | 0.2140 | 0.4610 | 19 | 38.10 | 88.90 | 14.10 | 25.90 | 23.70 | 18.40 | 1.7143 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Alec Burleson | 65 | 1.1189 | 1.5855 | neutral | 0.3870 | 0.2920 | 0.5510 | 11.40 | 47.50 | 91.40 | 12.20 | 21 | 15.30 | 8.80 | 0.6286 |
| DH | Iván Herrera | 37 | 1.0665 | 0.8865 | neutral | 0.3720 | 0.2730 | 0.4330 | 7.40 | 42.60 | 89.80 | 5.80 | 19.90 | 16.10 | 12.90 | 0 |
| 2B | JJ Wetherholt | 12 | 1.0595 | 0.7939 | neutral | 0.3520 | 0.2510 | 0.4360 | 7.10 | 46.50 | 90.60 | 16 | 21.70 | 16.60 | 11 | 0.4286 |
| RF | Jordan Walker | 9 | 1.1075 | 1.4333 | neutral | 0.3770 | 0.2880 | 0.5310 | 13.90 | 52.10 | 94.50 | 13.30 | 31.10 | 24.90 | 7.30 | -0.4857 |
| SS | Masyn Winn | 135 | 0.9848 | -0.2033 | neutral | 0.3000 | 0.2490 | 0.3210 | 3.40 | 33.50 | 87 | 12.50 | 23.40 | 20.60 | 8.80 | 0.4857 |
| LF | Lars Nootbaar | 272 | 1.0744 | 0.9921 | positive_batter_regression | 0.4370 | 0.3050 | 0.6530 | 19 | 57.10 | 94.50 | 9.50 | 14.60 | 21.20 | 15.20 | 1.6286 |
| C | Jimmy Crooks | 370 | 1.0576 | 0.7682 | positive_batter_regression | 0.3850 | 0.2890 | 0.5270 | 11.80 | 47.10 | 90.50 | 16.40 | 31.90 | 28.60 | 10.70 | 2 |
| 3B | Blaze Jordan | 234 | 1.0418 | 0.5575 | negative_batter_regression | 0.3860 | 0.2700 | 0.6570 | 16.70 | 83.30 | 99.30 | 3.10 | 15 | 25 | 0 | -2 |
| CF | Nathan Church | 126 | 0.9787 | -0.2844 | neutral | 0.2780 | 0.2330 | 0.3750 | 8.70 | 31.70 | 85.90 | 10 | 24.10 | 23 | 3.40 | -0.4571 |
{
"home": {
"applied": true,
"offense_factor": 1.0544,
"raw_average_factor": 1.0544,
"team_espn_average_rank": 140.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "676475",
"player_name": "Alec Burleson",
"offense_factor": 1.1189,
"quality_score": 1.5855,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676475",
"espn_id": 4345070,
"player_name": "Alec Burleson",
"team": "STL",
"role": "batter",
"espn_rank": 65,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 65,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 268.0,
"ab_rank": 26,
"r_value": 39.0,
"r_rank": 49,
"h_value": 77.0,
"h_rank": 11,
"avg_value": 0.2873134,
"avg_rank": 23.0,
"2b_value": 17.0,
"2b_rank": 11,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 13.0,
"hr_rank": 35,
"rbi_value": 51.0,
"rbi_rank": 7,
"tb_value": 133.0,
"tb_rank": 507,
"bb_value": 26.0,
"bb_rank": 77,
"so_value": 47.0,
"so_rank": 139,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3523489,
"obp_rank": "47",
"slg_value": 0.4962686,
"slg_rank": "29",
"ops_value": 0.8486175,
"ops_rank": 76.0,
"war_value": 1.78,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 15.3,
"bb_percent": 8.8,
"woba": 0.365,
"xwoba": 0.387,
"xba": 0.292,
"xslg": 0.551,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 47.5,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 12.2,
"whiff_percent": 21.0,
"swing_percent": 49.4
},
"components": {
"expected_quality": 1.7413,
"regression_edge": 0.6286,
"xwoba_edge": 2.3429,
"xba_edge": 1.5429,
"xslg_edge": 2.5,
"barrel_edge": 1.0,
"hard_hit_edge": 1.2714,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": 0.1833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "671056",
"player_name": "Iván Herrera",
"offense_factor": 1.0665,
"quality_score": 0.8865,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671056",
"espn_id": 41889,
"player_name": "Ivan Herrera",
"team": "STL",
"role": "batter",
"espn_rank": 37,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 37,
"gp_value": 69.0,
"gp_rank": 44,
"ab_value": 255.0,
"ab_rank": 54,
"r_value": 46.0,
"r_rank": 13,
"h_value": 68.0,
"h_rank": 48,
"avg_value": 0.2666666,
"avg_rank": 56.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 9.0,
"hr_rank": 75,
"rbi_value": 31.0,
"rbi_rank": 97,
"tb_value": 110.0,
"tb_rank": 458,
"bb_value": 41.0,
"bb_rank": 16,
"so_value": 50.0,
"so_rank": 128,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.3980891,
"obp_rank": "7",
"slg_value": 0.4313725,
"slg_rank": "73",
"ops_value": 0.8294616,
"ops_rank": 80.0,
"war_value": 2.26,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 236.0,
"k_percent": 16.1,
"bb_percent": 12.9,
"woba": 0.372,
"xwoba": 0.372,
"xba": 0.273,
"xslg": 0.433,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 42.6,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 5.8,
"whiff_percent": 19.9,
"swing_percent": 43.2
},
"components": {
"expected_quality": 1.0308,
"regression_edge": 0.0,
"xwoba_edge": 1.9143,
"xba_edge": 1.0,
"xslg_edge": 0.8286,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.5714,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "802139",
"player_name": "JJ Wetherholt",
"offense_factor": 1.0595,
"quality_score": 0.7939,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "802139",
"espn_id": 4941056,
"player_name": "JJ Wetherholt",
"team": "STL",
"role": "batter",
"espn_rank": 12,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 12,
"gp_value": 65.0,
"gp_rank": 120,
"ab_value": 251.0,
"ab_rank": 69,
"r_value": 45.0,
"r_rank": 21,
"h_value": 64.0,
"h_rank": 68,
"avg_value": 0.25498,
"avg_rank": 77.0,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 10.0,
"hr_rank": 60,
"rbi_value": 31.0,
"rbi_rank": 97,
"tb_value": 101.0,
"tb_rank": 830,
"bb_value": 32.0,
"bb_rank": 42,
"so_value": 49.0,
"so_rank": 134,
"sb_value": 7.0,
"sb_rank": 58,
"obp_value": 0.359322,
"obp_rank": "42",
"slg_value": 0.4023904,
"slg_rank": "100",
"ops_value": 0.7617124,
"ops_rank": 58.0,
"war_value": 3.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 237.0,
"k_percent": 16.6,
"bb_percent": 11.0,
"woba": 0.337,
"xwoba": 0.352,
"xba": 0.251,
"xslg": 0.436,
"sweet_spot_percent": 34.5,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 46.5,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 16.0,
"whiff_percent": 21.7,
"swing_percent": 44.0
},
"components": {
"expected_quality": 0.8534,
"regression_edge": 0.4286,
"xwoba_edge": 1.3429,
"xba_edge": 0.3714,
"xslg_edge": 0.8714,
"barrel_edge": 0.0444,
"hard_hit_edge": 1.1286,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 0.2,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "691023",
"player_name": "Jordan Walker",
"offense_factor": 1.1075,
"quality_score": 1.4333,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691023",
"espn_id": 4684778,
"player_name": "Jordan Walker",
"team": "STL",
"role": "batter",
"espn_rank": 9,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 9,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 269.0,
"ab_rank": 24,
"r_value": 46.0,
"r_rank": 13,
"h_value": 79.0,
"h_rank": 8,
"avg_value": 0.2936802,
"avg_rank": 18.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 18.0,
"hr_rank": 9,
"rbi_value": 56.0,
"rbi_rank": 1,
"tb_value": 149.0,
"tb_rank": 429,
"bb_value": 21.0,
"bb_rank": 133,
"so_value": 75.0,
"so_rank": 26,
"sb_value": 10.0,
"sb_rank": 34,
"obp_value": 0.3481228,
"obp_rank": "57",
"slg_value": 0.5539033,
"slg_rank": "9",
"ops_value": 0.9020261,
"ops_rank": 66.0,
"war_value": 3.29,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 24.9,
"bb_percent": 7.3,
"woba": 0.394,
"xwoba": 0.377,
"xba": 0.288,
"xslg": 0.531,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 13.9,
"hard_hit_percent": 52.1,
"exit_velocity_avg": 94.5,
"launch_angle_avg": 13.3,
"whiff_percent": 31.1,
"swing_percent": 52.2
},
"components": {
"expected_quality": 1.7457,
"regression_edge": -0.4857,
"xwoba_edge": 2.0571,
"xba_edge": 1.4286,
"xslg_edge": 2.2286,
"barrel_edge": 1.5556,
"hard_hit_edge": 1.9286,
"exit_velocity_edge": 2.28,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "691026",
"player_name": "Masyn Winn",
"offense_factor": 0.9848,
"quality_score": -0.2033,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691026",
"espn_id": 4683365,
"player_name": "Masyn Winn",
"team": "STL",
"role": "batter",
"espn_rank": 135,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 135,
"gp_value": 62.0,
"gp_rank": 150,
"ab_value": 229.0,
"ab_rank": 113,
"r_value": 26.0,
"r_rank": 149,
"h_value": 52.0,
"h_rank": 124,
"avg_value": 0.2270742,
"avg_rank": 128.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 26.0,
"rbi_rank": 137,
"tb_value": 71.0,
"tb_rank": 1178,
"bb_value": 23.0,
"bb_rank": 98,
"so_value": 55.0,
"so_rank": 99,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.3079847,
"obp_rank": "118",
"slg_value": 0.3100436,
"slg_rank": "155",
"ops_value": 0.6180283,
"ops_rank": 273.0,
"war_value": 0.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 197.0,
"k_percent": 20.6,
"bb_percent": 8.8,
"woba": 0.283,
"xwoba": 0.3,
"xba": 0.249,
"xslg": 0.321,
"sweet_spot_percent": 32.4,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 33.5,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 12.5,
"whiff_percent": 23.4,
"swing_percent": 41.7
},
"components": {
"expected_quality": -0.3431,
"regression_edge": 0.4857,
"xwoba_edge": -0.1429,
"xba_edge": 0.3143,
"xslg_edge": -0.7714,
"barrel_edge": -0.7778,
"hard_hit_edge": -0.7286,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": -0.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "663457",
"player_name": "Lars Nootbaar",
"offense_factor": 1.0744,
"quality_score": 0.9921,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663457",
"espn_id": 4448736,
"player_name": "Lars Nootbaar",
"team": "STL",
"role": "batter",
"espn_rank": 272,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 272,
"gp_value": 9.0,
"gp_rank": 488,
"ab_value": 32.0,
"ab_rank": 449,
"r_value": 5.0,
"r_rank": 411,
"h_value": 7.0,
"h_rank": 441,
"avg_value": 0.21875,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 384,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 5.0,
"rbi_rank": 396,
"tb_value": 15.0,
"tb_rank": 2084,
"bb_value": 5.0,
"bb_rank": 377,
"so_value": 9.0,
"so_rank": 445,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3243243,
"obp_rank": "-",
"slg_value": 0.46875,
"slg_rank": "-",
"ops_value": 0.7930743,
"ops_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 21.2,
"bb_percent": 15.2,
"woba": 0.38,
"xwoba": 0.437,
"xba": 0.305,
"xslg": 0.653,
"sweet_spot_percent": 42.9,
"barrel_batted_rate": 19.0,
"hard_hit_percent": 57.1,
"exit_velocity_avg": 94.5,
"launch_angle_avg": 9.5,
"whiff_percent": 14.6,
"swing_percent": 30.8
},
"components": {
"expected_quality": 2.2984,
"regression_edge": 1.6286,
"xwoba_edge": 2.5,
"xba_edge": 1.9143,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.28,
"sweet_spot_edge": 1.6,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "699625",
"player_name": "Jimmy Crooks",
"offense_factor": 1.0576,
"quality_score": 0.7682,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "699625",
"espn_id": 4749675,
"player_name": "Jimmy Crooks",
"team": "STL",
"role": "batter",
"espn_rank": 370,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 370,
"gp_value": 8.0,
"gp_rank": 498,
"ab_value": 25.0,
"ab_rank": 474,
"r_value": 2.0,
"r_rank": 467,
"h_value": 5.0,
"h_rank": 466,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 4.0,
"rbi_rank": 424,
"tb_value": 9.0,
"tb_rank": 2347,
"bb_value": 3.0,
"bb_rank": 418,
"so_value": 8.0,
"so_rank": 453,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2857142,
"obp_rank": "-",
"slg_value": 0.36,
"slg_rank": "-",
"ops_value": 0.6457142,
"ops_rank": null,
"war_value": -0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 28.6,
"bb_percent": 10.7,
"woba": 0.29,
"xwoba": 0.385,
"xba": 0.289,
"xslg": 0.527,
"sweet_spot_percent": 41.2,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 47.1,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 16.4,
"whiff_percent": 31.9,
"swing_percent": 42.0
},
"components": {
"expected_quality": 1.6593,
"regression_edge": 2.0,
"xwoba_edge": 2.2857,
"xba_edge": 1.4571,
"xslg_edge": 2.1714,
"barrel_edge": 1.0889,
"hard_hit_edge": 1.2143,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 1.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691458",
"player_name": "Blaze Jordan",
"offense_factor": 1.0418,
"quality_score": 0.5575,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "691458",
"espn_id": 4722953,
"player_name": "Blaze Jordan",
"team": "STL",
"role": "batter",
"espn_rank": 234,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 234,
"gp_value": 3.0,
"gp_rank": 537,
"ab_value": 12.0,
"ab_rank": 516,
"r_value": 2.0,
"r_rank": 467,
"h_value": 5.0,
"h_rank": 466,
"avg_value": 0.4166666,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 482,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 4.0,
"rbi_rank": 424,
"tb_value": 10.0,
"tb_rank": 2159,
"bb_value": 0.0,
"bb_rank": 517,
"so_value": 2.0,
"so_rank": 531,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.4166666,
"obp_rank": "-",
"slg_value": 0.8333333,
"slg_rank": "-",
"ops_value": 1.2499999,
"ops_rank": null,
"war_value": 0.32,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 25.0,
"bb_percent": 0.0,
"woba": 0.682,
"xwoba": 0.386,
"xba": 0.27,
"xslg": 0.657,
"sweet_spot_percent": 16.7,
"barrel_batted_rate": 16.7,
"hard_hit_percent": 83.3,
"exit_velocity_avg": 99.3,
"launch_angle_avg": 3.1,
"whiff_percent": 15.0,
"swing_percent": 57.1
},
"components": {
"expected_quality": 1.7661,
"regression_edge": -2.0,
"xwoba_edge": 2.3143,
"xba_edge": 0.9143,
"xslg_edge": 2.5,
"barrel_edge": 2.1778,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "701675",
"player_name": "Nathan Church",
"offense_factor": 0.9787,
"quality_score": -0.2844,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701675",
"espn_id": 4843048,
"player_name": "Nathan Church",
"team": "STL",
"role": "batter",
"espn_rank": 126,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 126,
"gp_value": 51.0,
"gp_rank": 219,
"ab_value": 167.0,
"ab_rank": 202,
"r_value": 20.0,
"r_rank": 207,
"h_value": 43.0,
"h_rank": 181,
"avg_value": 0.257485,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 183,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 18.0,
"rbi_rank": 222,
"tb_value": 66.0,
"tb_rank": 1272,
"bb_value": 7.0,
"bb_rank": 327,
"so_value": 41.0,
"so_rank": 180,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.2921348,
"obp_rank": "-",
"slg_value": 0.3952095,
"slg_rank": "-",
"ops_value": 0.6873443,
"ops_rank": null,
"war_value": 0.95,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 23.0,
"bb_percent": 3.4,
"woba": 0.294,
"xwoba": 0.278,
"xba": 0.233,
"xslg": 0.375,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 31.7,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 10.0,
"whiff_percent": 24.1,
"swing_percent": 57.6
},
"components": {
"expected_quality": -0.4106,
"regression_edge": -0.4571,
"xwoba_edge": -0.7714,
"xba_edge": -0.1429,
"xslg_edge": 0.0,
"barrel_edge": 0.4,
"hard_hit_edge": -0.9857,
"exit_velocity_edge": -1.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.0272,
"raw_average_factor": 1.0272,
"team_espn_average_rank": 248.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "592518",
"player_name": "Manny Machado",
"offense_factor": 1.0191,
"quality_score": 0.2551,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "592518",
"espn_id": 31097,
"player_name": "Manny Machado",
"team": "SD",
"role": "batter",
"espn_rank": 514,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 514,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 251.0,
"ab_rank": 69,
"r_value": 32.0,
"r_rank": 86,
"h_value": 44.0,
"h_rank": 175,
"avg_value": 0.1752988,
"avg_rank": 162.0,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 12.0,
"hr_rank": 42,
"rbi_value": 35.0,
"rbi_rank": 58,
"tb_value": 90.0,
"tb_rank": 799,
"bb_value": 28.0,
"bb_rank": 63,
"so_value": 63.0,
"so_rank": 62,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.2544169,
"obp_rank": "161",
"slg_value": 0.3585657,
"slg_rank": "126",
"ops_value": 0.6129826,
"ops_rank": 35.0,
"war_value": -0.46,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 21.9,
"bb_percent": 9.7,
"woba": 0.272,
"xwoba": 0.306,
"xba": 0.228,
"xslg": 0.397,
"sweet_spot_percent": 29.8,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 41.9,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 10.8,
"whiff_percent": 25.2,
"swing_percent": 48.8
},
"components": {
"expected_quality": 0.1483,
"regression_edge": 0.9714,
"xwoba_edge": 0.0286,
"xba_edge": -0.2857,
"xslg_edge": 0.3143,
"barrel_edge": 0.4444,
"hard_hit_edge": 0.4714,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -0.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "701538",
"player_name": "Jackson Merrill",
"offense_factor": 1.0463,
"quality_score": 0.6168,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701538",
"espn_id": 4872691,
"player_name": "Jackson Merrill",
"team": "SD",
"role": "batter",
"espn_rank": 257,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 257,
"gp_value": 67.0,
"gp_rank": 78,
"ab_value": 256.0,
"ab_rank": 49,
"r_value": 31.0,
"r_rank": 98,
"h_value": 53.0,
"h_rank": 118,
"avg_value": 0.2070312,
"avg_rank": 150.0,
"2b_value": 12.0,
"2b_rank": 76,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 27.0,
"rbi_rank": 130,
"tb_value": 88.0,
"tb_rank": 670,
"bb_value": 23.0,
"bb_rank": 98,
"so_value": 67.0,
"so_rank": 46,
"sb_value": 11.0,
"sb_rank": 27,
"obp_value": 0.275,
"obp_rank": "151",
"slg_value": 0.34375,
"slg_rank": "139",
"ops_value": 0.61875,
"ops_rank": 290.0,
"war_value": 0.22,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 210.0,
"k_percent": 24.2,
"bb_percent": 8.3,
"woba": 0.273,
"xwoba": 0.318,
"xba": 0.239,
"xslg": 0.43,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 47.3,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 14.4,
"whiff_percent": 28.0,
"swing_percent": 54.6
},
"components": {
"expected_quality": 0.542,
"regression_edge": 1.2857,
"xwoba_edge": 0.3714,
"xba_edge": 0.0286,
"xslg_edge": 0.7857,
"barrel_edge": 0.7556,
"hard_hit_edge": 1.2429,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.9,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"offense_factor": 1.0752,
"quality_score": 1.0029,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665487",
"espn_id": 35983,
"player_name": "Fernando Tatis Jr.",
"team": "SD",
"role": "batter",
"espn_rank": 136,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 136,
"gp_value": 69.0,
"gp_rank": 44,
"ab_value": 266.0,
"ab_rank": 29,
"r_value": 27.0,
"r_rank": 141,
"h_value": 75.0,
"h_rank": 18,
"avg_value": 0.2819548,
"avg_rank": 27.0,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 2.0,
"hr_rank": 293,
"rbi_value": 24.0,
"rbi_rank": 163,
"tb_value": 93.0,
"tb_rank": 1149,
"bb_value": 27.0,
"bb_rank": 69,
"so_value": 63.0,
"so_rank": 62,
"sb_value": 17.0,
"sb_rank": 7,
"obp_value": 0.3466666,
"obp_rank": "59",
"slg_value": 0.349624,
"slg_rank": "135",
"ops_value": 0.6962906,
"ops_rank": 76.0,
"war_value": 0.9,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 21.3,
"bb_percent": 9.1,
"woba": 0.312,
"xwoba": 0.349,
"xba": 0.286,
"xslg": 0.416,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 10.8,
"hard_hit_percent": 52.0,
"exit_velocity_avg": 90.9,
"launch_angle_avg": 3.6,
"whiff_percent": 29.2,
"swing_percent": 47.8
},
"components": {
"expected_quality": 0.994,
"regression_edge": 1.0571,
"xwoba_edge": 1.2571,
"xba_edge": 1.3714,
"xslg_edge": 0.5857,
"barrel_edge": 0.8667,
"hard_hit_edge": 1.9143,
"exit_velocity_edge": 0.84,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "657757",
"player_name": "Gavin Sheets",
"offense_factor": 1.022,
"quality_score": 0.2935,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657757",
"espn_id": 40700,
"player_name": "Gavin Sheets",
"team": "SD",
"role": "batter",
"espn_rank": 203,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 203,
"gp_value": 64.0,
"gp_rank": 132,
"ab_value": 203.0,
"ab_rank": 144,
"r_value": 27.0,
"r_rank": 141,
"h_value": 47.0,
"h_rank": 160,
"avg_value": 0.231527,
"avg_rank": 116.0,
"2b_value": 13.0,
"2b_rank": 51,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 11.0,
"hr_rank": 51,
"rbi_value": 30.0,
"rbi_rank": 105,
"tb_value": 93.0,
"tb_rank": 744,
"bb_value": 25.0,
"bb_rank": 83,
"so_value": 53.0,
"so_rank": 111,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3217391,
"obp_rank": "99",
"slg_value": 0.458128,
"slg_rank": "49",
"ops_value": 0.7798671,
"ops_rank": 50.0,
"war_value": 0.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 165.0,
"k_percent": 23.0,
"bb_percent": 10.6,
"woba": 0.342,
"xwoba": 0.327,
"xba": 0.239,
"xslg": 0.414,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 16.2,
"whiff_percent": 21.8,
"swing_percent": 43.7
},
"components": {
"expected_quality": 0.5248,
"regression_edge": -0.4286,
"xwoba_edge": 0.6286,
"xba_edge": 0.0286,
"xslg_edge": 0.5571,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.9571,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.75,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"offense_factor": 1.0228,
"quality_score": 0.304,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "593428",
"espn_id": 31606,
"player_name": "Xander Bogaerts",
"team": "SD",
"role": "batter",
"espn_rank": 156,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 156,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 232.0,
"ab_rank": 107,
"r_value": 29.0,
"r_rank": 121,
"h_value": 53.0,
"h_rank": 118,
"avg_value": 0.2284482,
"avg_rank": 125.0,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 27.0,
"rbi_rank": 130,
"tb_value": 81.0,
"tb_rank": 1072,
"bb_value": 26.0,
"bb_rank": 77,
"so_value": 47.0,
"so_rank": 139,
"sb_value": 9.0,
"sb_rank": 44,
"obp_value": 0.3091603,
"obp_rank": "116",
"slg_value": 0.3491379,
"slg_rank": "137",
"ops_value": 0.6582982,
"ops_rank": 21.0,
"war_value": 0.77,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 18.2,
"bb_percent": 9.7,
"woba": 0.3,
"xwoba": 0.324,
"xba": 0.253,
"xslg": 0.399,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 8.0,
"whiff_percent": 22.4,
"swing_percent": 43.6
},
"components": {
"expected_quality": 0.2677,
"regression_edge": 0.6857,
"xwoba_edge": 0.5429,
"xba_edge": 0.4286,
"xslg_edge": 0.3429,
"barrel_edge": 0.0444,
"hard_hit_edge": -0.1571,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": -0.5667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "695238",
"player_name": "Will Wagner",
"offense_factor": 1.014,
"quality_score": 0.1868,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "695238",
"espn_id": 4413898,
"player_name": "Will Wagner",
"team": "SD",
"role": "batter",
"espn_rank": 236,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 236,
"gp_value": 5.0,
"gp_rank": 524,
"ab_value": 9.0,
"ab_rank": 528,
"r_value": 2.0,
"r_rank": 467,
"h_value": 4.0,
"h_rank": 481,
"avg_value": 0.4444444,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 0.0,
"rbi_rank": 515,
"tb_value": 5.0,
"tb_rank": 2596,
"bb_value": 5.0,
"bb_rank": 377,
"so_value": 2.0,
"so_rank": 531,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.6428571,
"obp_rank": "-",
"slg_value": 0.5555555,
"slg_rank": "-",
"ops_value": 1.1984127,
"ops_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 16.7,
"bb_percent": 33.3,
"woba": 0.563,
"xwoba": 0.441,
"xba": 0.337,
"xslg": 0.379,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 0.0,
"exit_velocity_avg": 80.7,
"launch_angle_avg": 12.7,
"whiff_percent": 21.1,
"swing_percent": 34.5
},
"components": {
"expected_quality": 0.8082,
"regression_edge": -2.0,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 0.0571,
"barrel_edge": -1.5333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "664034",
"player_name": "Ty France",
"offense_factor": 1.0149,
"quality_score": 0.1985,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664034",
"espn_id": 35591,
"player_name": "Ty France",
"team": "SD",
"role": "batter",
"espn_rank": 107,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 107,
"gp_value": 48.0,
"gp_rank": 237,
"ab_value": 132.0,
"ab_rank": 258,
"r_value": 15.0,
"r_rank": 259,
"h_value": 34.0,
"h_rank": 232,
"avg_value": 0.2575757,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 18.0,
"rbi_rank": 222,
"tb_value": 61.0,
"tb_rank": 959,
"bb_value": 8.0,
"bb_rank": 307,
"so_value": 36.0,
"so_rank": 215,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3098591,
"obp_rank": "-",
"slg_value": 0.4621212,
"slg_rank": "-",
"ops_value": 0.7719803,
"ops_rank": null,
"war_value": 1.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 98.0,
"k_percent": 25.2,
"bb_percent": 5.6,
"woba": 0.334,
"xwoba": 0.318,
"xba": 0.246,
"xslg": 0.437,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 6.8,
"whiff_percent": 30.2,
"swing_percent": 53.3
},
"components": {
"expected_quality": 0.5875,
"regression_edge": -0.4571,
"xwoba_edge": 0.3714,
"xba_edge": 0.2286,
"xslg_edge": 0.8857,
"barrel_edge": 1.0444,
"hard_hit_edge": 1.6286,
"exit_velocity_edge": 1.04,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "823550",
"player_name": "Sung-Mun Song",
"offense_factor": 0.9862,
"quality_score": -0.1844,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "823550",
"espn_id": 5329585,
"player_name": "Sung-Mun Song",
"team": "SD",
"role": "batter",
"espn_rank": 442,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 442,
"gp_value": 23.0,
"gp_rank": 392,
"ab_value": 42.0,
"ab_rank": 423,
"r_value": 5.0,
"r_rank": 411,
"h_value": 8.0,
"h_rank": 429,
"avg_value": 0.1904761,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 424,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 4.0,
"rbi_rank": 424,
"tb_value": 9.0,
"tb_rank": 2544,
"bb_value": 6.0,
"bb_rank": 350,
"so_value": 11.0,
"so_rank": 426,
"sb_value": 4.0,
"sb_rank": 121,
"obp_value": 0.2916666,
"obp_rank": "-",
"slg_value": 0.2142857,
"slg_rank": "-",
"ops_value": 0.5059523,
"ops_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 24.0,
"k_percent": 22.9,
"bb_percent": 12.5,
"woba": 0.245,
"xwoba": 0.284,
"xba": 0.208,
"xslg": 0.313,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 25.8,
"exit_velocity_avg": 85.7,
"launch_angle_avg": 12.4,
"whiff_percent": 24.7,
"swing_percent": 44.9
},
"components": {
"expected_quality": -0.6579,
"regression_edge": 1.1143,
"xwoba_edge": -0.6,
"xba_edge": -0.8571,
"xslg_edge": -0.8857,
"barrel_edge": -0.0889,
"hard_hit_edge": -1.8286,
"exit_velocity_edge": -1.24,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "660710",
"player_name": "Rodolfo Durán",
"offense_factor": 1.044,
"quality_score": 0.5865,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "660710",
"espn_id": 40577,
"player_name": "Rodolfo Duran",
"team": "SD",
"role": "batter",
"espn_rank": 185,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 185,
"gp_value": 18.0,
"gp_rank": 420,
"ab_value": 34.0,
"ab_rank": 444,
"r_value": 6.0,
"r_rank": 391,
"h_value": 6.0,
"h_rank": 451,
"avg_value": 0.1764705,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 384,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 6.0,
"rbi_rank": 379,
"tb_value": 17.0,
"tb_rank": 1911,
"bb_value": 7.0,
"bb_rank": 327,
"so_value": 9.0,
"so_rank": 445,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.8333333,
"ops_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 23.0,
"k_percent": 23.7,
"bb_percent": 18.4,
"woba": 0.314,
"xwoba": 0.374,
"xba": 0.214,
"xslg": 0.461,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 19.0,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 14.1,
"whiff_percent": 25.9,
"swing_percent": 39.7
},
"components": {
"expected_quality": 1.2364,
"regression_edge": 1.7143,
"xwoba_edge": 1.9714,
"xba_edge": -0.6857,
"xslg_edge": 1.2286,
"barrel_edge": 2.5,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": 0.8,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SD | True | 116 | -0.1081 | 0.4500 | 1.0092 | 0.9792 | 1.0270 | 0.9720 | neutral | 0.3280 | 0.3260 | 16.40 | 12.10 | 23.70 | 4.10 | 35.70 | |
| Home STL | True | 184 | -0.0015 | 1 | 1.0001 | 0.9709 | 0.9500 | 1.0276 | neutral | 0.3010 | 0.3130 | 21.90 | 6.60 | 21.20 | 6.70 | 47.40 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away SD | False | - | - | - | - | - | - | - | - | - | - | - | - | - | |
| Home STL | True | None | 91 | 92.34 | 2528 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1464 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0001 |
| home_runs_vs_away_pitcher | 1.0041 |
| home_pitcher_quality_edge | 0.1066 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "669160",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 254.0,
"k_percent": 21.9,
"bb_percent": 6.6,
"woba": 0.313,
"xwoba": 0.301,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 47.4,
"avg_best_speed": 79.5114,
"avg_hyper_speed": 94.854,
"whiff_percent": 21.2,
"swing_percent": 47.5
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0192,
"command_and_miss": -0.1414,
"regression_edge": 0.3429,
"xwoba_edge": 0.4,
"barrel_edge": 0.1333,
"hard_hit_edge": -1.2571,
"whiff_edge": -0.6143,
"bb_edge": 0.625,
"pitch_design_score": 0.1464
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669160",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.34165422170996,
"release_spin_rate": 2527.700517734745,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.34165422170996,
"release_spin_rate": 2527.700517734745,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3417,
"release_spin_rate": 2527.7005,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1464,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0455,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0015,
"sample_weight": 1.0,
"run_prevention_factor": 1.0001,
"strikeout_factor": 0.9709,
"walk_factor": 0.95,
"homer_factor": 1.0276,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669160",
"espn_id": 40937,
"player_name": "Dustin May",
"team": "STL",
"role": "pitcher",
"espn_rank": 184,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 184,
"gp_value": 13.0,
"gp_rank": 308,
"gs_value": 13.0,
"gs_rank": 58,
"qs_value": 8.0,
"qs_rank": 13,
"era_value": 4.211,
"era_rank": 48.0,
"w_value": 4.0,
"w_rank": 59,
"l_value": 6.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 72.2,
"ip_rank": 60,
"h_value": 71.0,
"h_rank": 40,
"er_value": 34.0,
"er_rank": 52,
"hr_value": 5.0,
"hr_rank": 150,
"bb_value": 20.0,
"bb_rank": 110,
"k_value": 66.0,
"k_rank": 57,
"k_per_9_value": 8.174313,
"k_per_9_rank": 25,
"whip_value": 1.2522,
"whip_rank": 42.0,
"war_value": 0.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "593974",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 101.0,
"k_percent": 16.4,
"bb_percent": 12.1,
"woba": 0.326,
"xwoba": 0.328,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 35.7,
"avg_best_speed": 78.0311,
"avg_hyper_speed": 93.5293,
"whiff_percent": 23.7,
"swing_percent": 50.4
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.1192,
"command_and_miss": -0.645,
"regression_edge": -0.0571,
"xwoba_edge": -0.3714,
"barrel_edge": 0.7111,
"hard_hit_edge": 0.4143,
"whiff_edge": -0.2571,
"bb_edge": -0.75,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "593974",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1081,
"sample_weight": 0.45,
"run_prevention_factor": 1.0092,
"strikeout_factor": 0.9792,
"walk_factor": 1.027,
"homer_factor": 0.972,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "593974",
"espn_id": 36036,
"player_name": "Wandy Peralta",
"team": "SD",
"role": "pitcher",
"espn_rank": 116,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 116,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.1818,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 33.0,
"ip_rank": 193,
"h_value": 30.0,
"h_rank": 200,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 17.0,
"bb_rank": 151,
"k_value": 23.0,
"k_rank": 312,
"k_per_9_value": 6.272727,
"k_per_9_rank": 43,
"whip_value": 1.4242,
"whip_rank": null,
"war_value": 0.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0001,
"home_runs_vs_away_pitcher": 1.0041,
"home_pitcher_quality_edge": 0.1066
},
"score_before": {
"away_runs": 2.0,
"home_runs": 1.0
},
"score_after": {
"away_runs": 2.0002,
"home_runs": 1.0041,
"home_win_probability": 0.4173
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away SD | 14-48 | 0.226 | 1 | 3.20 | -140 | cold | strong | |
| Home STL | 10-50 | 0.167 | 1.30 | 2.80 | -86 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away SD | 37-33 | 0.529 | -10 | -0.143 | True |
| Home STL | 38-31 | 0.551 | 12 | 0.174 | True |
| Signal | - | - | 0.317 | 0.350 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target SD | - | - | 2 | - | - | - | - |
| Game target STL | - | - | 1 | - | - | - | - |
| Player finalized SD | 31 | 9 | 1 | 0 | 0 | 2 | 9 |
| Player finalized STL | 35 | 9 | 6 | 0 | 4 | 2 | 9 |
| Player model fractional SD | 30.55 | 6.69 | 3.77 | 0.97 | 3.31 | 4.15 | 7.23 |
| Player model fractional STL | 34.77 | 8.70 | 5.19 | 1.49 | 5.16 | 3.20 | 7.70 |
| Simulation box SD | 36 | 9 | 3 | 1 | 3 | 5 | 5 |
| Simulation box STL | 31 | 5 | 2 | 0 | 2 | 3 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away SD | Starter | Wandy Peralta | 4.20 | 1 | 4 | 3 | 3 | 2.47 | 1.37 | True |
| Away SD | Middle Reliever | Adrian Morejon | 1 | 1 | 0 | 2 | 0 | 2.89 | 0.96 | True |
| Away SD | Middle Reliever | Bradgley Rodriguez | 1 | 0 | 0 | 0 | 0 | 4.39 | 1.62 | True |
| Away SD | Middle Reliever | Jason Adam | 1 | 0 | 1 | 0 | 0 | 3.49 | 1.55 | True |
| Away SD | Middle Reliever | Mason Miller | 1.10 | 0 | 1 | 0 | 0 | 2.75 | 1.05 | True |
| Home STL | Starter | Dustin May | 5.20 | 2 | 4 | 7 | 3 | 3.69 | 1.16 | True |
| Home STL | Middle Reliever | George Soriano | 1 | 1 | 0 | 1 | 1 | 3.46 | 1.19 | True |
| Home STL | Middle Reliever | JoJo Romero | 1 | 0 | 0 | 1 | 1 | 5.38 | 1.50 | True |
| Home STL | Middle Reliever | Riley O'Brien | 1 | 0 | 1 | 0 | 0 | 5.38 | 1.66 | True |
| Home STL | Middle Reliever | Ryne Stanek | 0.10 | 0 | 0 | 0 | 0 | 4.31 | 1.15 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | SD | batter | RF | Fernando Tatis Jr. | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -2.4000 | deboost | worse |
| away | SD | batter | CF | Jackson Merrill | neutral | 10 | 5 | 5 | 5 | 5 | predicted_H | 2.0300 | boost | better |
| away | SD | batter | LF | Gavin Sheets | better | 9 | 5 | 4 | 6 | 3 | predicted_AB | 1.6300 | boost | better |
| away | SD | batter | 3B | Will Wagner | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 1.5000 | boost | better |
| away | SD | batter | 2B | Sung-Mun Song | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | 1.5000 | boost | better |
| away | SD | batter | C | Rodolfo Durán | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.3380 | boost | worse |
| away | SD | batter | SS | Xander Bogaerts | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 1.3100 | boost | better |
| home | STL | batter | 2B | JJ Wetherholt | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.2380 | boost | worse |
| home | STL | batter | RF | Jordan Walker | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_AB | -1.1700 | deboost | worse |
| home | STL | batter | 3B | Blaze Jordan | worse | 9 | 2 | 7 | 3 | 6 | predicted_AB | -1.0000 | deboost | worse |
| away | SD | batter | 1B | Ty France | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 0.9300 | boost | better |
| away | SD | batter | DH | Manny Machado | better | 9 | 4 | 5 | 5 | 4 | predicted_SO | -0.9260 | deboost | better |
| home | STL | batter | LF | Lars Nootbaar | worse | 8 | 2 | 6 | 2 | 6 | predicted_H | -0.8900 | deboost | worse |
| home | STL | batter | SS | Masyn Winn | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -0.8830 | deboost | better |
| home | STL | batter | CF | Nathan Church | worse | 11 | 0 | 11 | 1 | 10 | predicted_SO | -0.8720 | deboost | better |
| away | SD | pitcher | Starter | Wandy Peralta | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.8000 | deboost | worse |
| home | STL | batter | 1B | Alec Burleson | worse | 11 | 3 | 8 | 2 | 9 | predicted_RBI | -0.7800 | deboost | worse |
| home | STL | batter | DH | Iván Herrera | worse | 9 | 3 | 6 | 4 | 5 | predicted_SO | -0.7350 | deboost | better |
| home | STL | batter | C | Jimmy Crooks | worse | 10 | 4 | 6 | 4 | 6 | predicted_BB | 0.6250 | boost | better |
| home | STL | pitcher | Starter | Dustin May | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | STL | pitcher | Middle Reliever | Ryne Stanek | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | SD | pitcher | Middle Reliever | Mason Miller | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Wandy Peralta |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1081 |
| ESPN Rank | 116 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 4.2000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 3 |
| Pre SO | 4 |
| Season ERA | 2.1818 |
| Season WHIP | 1.4242 |
| Role Avg IP | 1.1790 |
| Recent Avg IP | 1.3330 |
| Last Start IP | 0 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"opponent": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"edges": {
"quality_edge": -0.1816,
"offense_edge": -0.1117,
"opponent_offense_edge": -0.0145,
"defense_strength": 0.0626,
"opponent_defense_weakness": -0.094,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9952,
"run_prevention": 1.0005,
"strikeout": 0.9957
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "593974",
"profile": {
"available": true,
"pitcher_id": "593974",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 101.0,
"k_percent": 16.4,
"bb_percent": 12.1,
"woba": 0.326,
"xwoba": 0.328,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 4.1,
"hard_hit_percent": 35.7,
"avg_best_speed": 78.0311,
"avg_hyper_speed": 93.5293,
"whiff_percent": 23.7,
"swing_percent": 50.4
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.1192,
"command_and_miss": -0.645,
"regression_edge": -0.0571,
"xwoba_edge": -0.3714,
"barrel_edge": 0.7111,
"hard_hit_edge": 0.4143,
"whiff_edge": -0.2571,
"bb_edge": -0.75,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "593974",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1081,
"sample_weight": 0.45,
"run_prevention_factor": 1.0092,
"strikeout_factor": 0.9792,
"walk_factor": 1.027,
"homer_factor": 0.972,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "593974",
"espn_id": 36036,
"player_name": "Wandy Peralta",
"team": "SD",
"role": "pitcher",
"espn_rank": 116,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 116,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.1818,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 2.0,
"hld_rank": 163,
"ip_value": 33.0,
"ip_rank": 193,
"h_value": 30.0,
"h_rank": 200,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 17.0,
"bb_rank": 151,
"k_value": 23.0,
"k_rank": 312,
"k_per_9_value": 6.272727,
"k_per_9_rank": 43,
"whip_value": 1.4242,
"whip_rank": null,
"war_value": 0.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0041,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 1.0041,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0121,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9874,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9906,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.2,
"ER": 2,
"H": 9,
"BB": 9,
"SO": 7,
"HR": 0,
"ERA": 1.4210526315789473,
"WHIP": 1.4210526315789473,
"K9": 4.973684210526316,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-12T00:00:00"
}{
"available": false,
"pitcher_id": "593974",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.535,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"role": "pitcher",
"player_id": "593974",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 4.0,
"SO": 4.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.8,
"SO": 0.8,
"HR": 0.0,
"BF": 5.4,
"Pitches": 20.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.35,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.6,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.2,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 9.0,
"SO": 7.0,
"HR": 0.0,
"BF": 54.0,
"Pitches": 205.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.9,
"SO": 0.7,
"HR": 0.0,
"BF": 5.4,
"Pitches": 20.5
},
"rates": {
"ERA": 1.4211,
"WHIP": 1.4211,
"ER_per_IP": 0.15789,
"H_per_IP": 0.71053,
"BB_per_IP": 0.71053,
"SO_per_IP": 0.55263,
"HR_per_IP": 0.0
}
},
"season": {
"games": 28,
"totals": {
"IP": 33.0,
"ER": 8.0,
"R": 8.0,
"H": 30.0,
"BB": 17.0,
"SO": 23.0,
"HR": 3.0,
"BF": 140.0,
"Pitches": 544.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2857,
"R": 0.2857,
"H": 1.0714,
"BB": 0.6071,
"SO": 0.8214,
"HR": 0.1071,
"BF": 5.0,
"Pitches": 19.4286
},
"rates": {
"ERA": 2.1818,
"WHIP": 1.4242,
"ER_per_IP": 0.24242,
"H_per_IP": 0.90909,
"BB_per_IP": 0.51515,
"SO_per_IP": 0.69697,
"HR_per_IP": 0.09091
}
}
},
"weighted_prediction": {
"predicted_IP": 3.0,
"predicted_ER": 0.801,
"predicted_H": 2.503,
"predicted_BB": 1.487,
"predicted_SO": 2.181,
"predicted_HR": 0.214,
"predicted_ERA": 2.466,
"predicted_WHIP": 1.3652
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5332,
"form_weight": 0.4668,
"form_reliability": 0.5665,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.535,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5665,
"prior_weight": 0.4335
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 3.0,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.801,
"final": 0.9071,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 2.503,
"final": 2.768,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.487,
"final": 2.2937,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 2.181,
"final": 3.1508,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.214,
"final": 0.0999,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.466,
"final": 2.466,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3652,
"final": 1.3652,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Adrian Morejon |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4588 |
| ESPN Rank | 339 |
| 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 | 0 |
| Pre SO | 0 |
| Season ERA | 4 |
| Season WHIP | 1.0556 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"opponent": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"edges": {
"quality_edge": -0.1816,
"offense_edge": -0.1117,
"opponent_offense_edge": -0.0145,
"defense_strength": 0.0626,
"opponent_defense_weakness": -0.094,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9952,
"run_prevention": 1.0005,
"strikeout": 0.9957
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670970",
"profile": {
"available": true,
"pitcher_id": "670970",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 113.0,
"k_percent": 28.9,
"bb_percent": 4.9,
"woba": 0.258,
"xwoba": 0.256,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 2.2,
"hard_hit_percent": 32.3,
"avg_best_speed": 74.1041,
"avg_hyper_speed": 93.2719,
"whiff_percent": 34.7,
"swing_percent": 52.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.3062,
"command_and_miss": 1.0686,
"regression_edge": 0.0571,
"xwoba_edge": 1.6857,
"barrel_edge": 1.1333,
"hard_hit_edge": 0.9,
"whiff_edge": 1.3143,
"bb_edge": 1.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "670970",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4588,
"sample_weight": 0.452,
"run_prevention_factor": 0.961,
"strikeout_factor": 1.0398,
"walk_factor": 0.962,
"homer_factor": 0.9199,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670970",
"espn_id": 40917,
"player_name": "Adrian Morejon",
"team": "SD",
"role": "pitcher",
"espn_rank": 339,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 339,
"gp_value": 33.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 4.0,
"era_rank": null,
"w_value": 5.0,
"w_rank": 34,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 12.0,
"hld_rank": 8,
"ip_value": 36.0,
"ip_rank": 176,
"h_value": 31.0,
"h_rank": 193,
"er_value": 16.0,
"er_rank": 190,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 7.0,
"bb_rank": 386,
"k_value": 41.0,
"k_rank": 146,
"k_per_9_value": 10.25,
"k_per_9_rank": 22,
"whip_value": 1.0555,
"whip_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9828,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9638,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.018,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 3,
"H": 8,
"BB": 1,
"SO": 9,
"HR": 0,
"ERA": 2.793103448275862,
"WHIP": 0.9310344827586208,
"K9": 8.379310344827587,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "670970",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.129,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5878,
"prior_weight": 0.4122
},
"role": "pitcher",
"player_id": "670970",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.6,
"Pitches": 15.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.3529,
"ER_per_IP": 0.0,
"H_per_IP": 0.35294,
"BB_per_IP": 0.0,
"SO_per_IP": 1.05882,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 1.0,
"SO": 9.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 151.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.8,
"BB": 0.1,
"SO": 0.9,
"HR": 0.0,
"BF": 3.7,
"Pitches": 15.1
},
"rates": {
"ERA": 2.7931,
"WHIP": 0.931,
"ER_per_IP": 0.31034,
"H_per_IP": 0.82759,
"BB_per_IP": 0.10345,
"SO_per_IP": 0.93103,
"HR_per_IP": 0.0
}
},
"season": {
"games": 33,
"totals": {
"IP": 36.0,
"ER": 16.0,
"R": 17.0,
"H": 31.0,
"BB": 7.0,
"SO": 41.0,
"HR": 2.0,
"BF": 146.0,
"Pitches": 577.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4848,
"R": 0.5152,
"H": 0.9394,
"BB": 0.2121,
"SO": 1.2424,
"HR": 0.0606,
"BF": 4.4242,
"Pitches": 17.4848
},
"rates": {
"ERA": 4.0,
"WHIP": 1.0556,
"ER_per_IP": 0.44444,
"H_per_IP": 0.86111,
"BB_per_IP": 0.19444,
"SO_per_IP": 1.13889,
"HR_per_IP": 0.05556
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.321,
"predicted_H": 0.766,
"predicted_BB": 0.193,
"predicted_SO": 0.99,
"predicted_HR": 0.066,
"predicted_ERA": 2.8867,
"predicted_WHIP": 0.9585
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5242,
"form_weight": 0.4758,
"form_reliability": 0.5878,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.129,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5878,
"prior_weight": 0.4122
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.321,
"final": 0.6769,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.766,
"final": 1.4128,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.193,
"final": 0.0918,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.99,
"final": 0.4711,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0314,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8867,
"final": 2.8867,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9585,
"final": 0.9585,
"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 | Bradgley Rodriguez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3970 |
| ESPN Rank | 139 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.1600 |
| Season WHIP | 1.2000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"opponent": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"edges": {
"quality_edge": -0.1816,
"offense_edge": -0.1117,
"opponent_offense_edge": -0.0145,
"defense_strength": 0.0626,
"opponent_defense_weakness": -0.094,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9952,
"run_prevention": 1.0005,
"strikeout": 0.9957
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "699134",
"profile": {
"available": true,
"pitcher_id": "699134",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 101.0,
"k_percent": 21.5,
"bb_percent": 8.1,
"woba": 0.265,
"xwoba": 0.246,
"sweet_spot_percent": 21.1,
"barrel_batted_rate": 3.2,
"hard_hit_percent": 32.6,
"avg_best_speed": 76.7138,
"avg_hyper_speed": 92.9812,
"whiff_percent": 29.1,
"swing_percent": 51.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.4075,
"command_and_miss": 0.1529,
"regression_edge": 0.5429,
"xwoba_edge": 1.9714,
"barrel_edge": 0.9111,
"hard_hit_edge": 0.8571,
"whiff_edge": 0.5143,
"bb_edge": 0.25,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "699134",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.397,
"sample_weight": 0.45,
"run_prevention_factor": 0.9663,
"strikeout_factor": 1.0062,
"walk_factor": 0.991,
"homer_factor": 0.9252,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "699134",
"espn_id": 5266086,
"player_name": "Bradgley Rodriguez",
"team": "SD",
"role": "pitcher",
"espn_rank": 139,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 139,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 2.0,
"gs_rank": 205,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.16,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 4.0,
"hld_rank": 113,
"ip_value": 33.1,
"ip_rank": 190,
"h_value": 28.0,
"h_rank": 222,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 31.0,
"k_rank": 225,
"k_per_9_value": 8.37,
"k_per_9_rank": 31,
"whip_value": 1.2,
"whip_rank": null,
"war_value": 0.7,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9848,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9848,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9663,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0028,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.2,
"ER": 4,
"H": 13,
"BB": 7,
"SO": 11,
"HR": 1,
"ERA": 3.724137931034483,
"WHIP": 2.0689655172413794,
"K9": 10.241379310344827,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "699134",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"role": "pitcher",
"player_id": "699134",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 4.0,
"H": 6.0,
"BB": 3.0,
"SO": 5.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 81.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.8,
"H": 1.2,
"BB": 0.6,
"SO": 1.0,
"HR": 0.2,
"BF": 4.6,
"Pitches": 16.2
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.9286,
"ER_per_IP": 0.64286,
"H_per_IP": 1.28571,
"BB_per_IP": 0.64286,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 7.0,
"H": 13.0,
"BB": 7.0,
"SO": 11.0,
"HR": 1.0,
"BF": 49.0,
"Pitches": 190.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.7,
"H": 1.3,
"BB": 0.7,
"SO": 1.1,
"HR": 0.1,
"BF": 4.9,
"Pitches": 19.0
},
"rates": {
"ERA": 3.7241,
"WHIP": 2.069,
"ER_per_IP": 0.41379,
"H_per_IP": 1.34483,
"BB_per_IP": 0.72414,
"SO_per_IP": 1.13793,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 30,
"totals": {
"IP": 33.1,
"ER": 8.0,
"R": 11.0,
"H": 28.0,
"BB": 12.0,
"SO": 31.0,
"HR": 1.0,
"BF": 140.0,
"Pitches": 532.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2667,
"R": 0.3667,
"H": 0.9333,
"BB": 0.4,
"SO": 1.0333,
"HR": 0.0333,
"BF": 4.6667,
"Pitches": 17.7333
},
"rates": {
"ERA": 2.16,
"WHIP": 1.2,
"ER_per_IP": 0.24,
"H_per_IP": 0.84,
"BB_per_IP": 0.36,
"SO_per_IP": 0.93,
"HR_per_IP": 0.03
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.488,
"predicted_H": 1.112,
"predicted_BB": 0.505,
"predicted_SO": 1.009,
"predicted_HR": 0.141,
"predicted_ERA": 4.3948,
"predicted_WHIP": 1.617
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5321,
"form_weight": 0.4679,
"form_reliability": 0.569,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.601,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.569,
"prior_weight": 0.431
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.488,
"final": 0.2283,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.112,
"final": 0.5203,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.505,
"final": 0.2363,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.009,
"final": 0.4721,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.141,
"final": 0.066,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3948,
"final": 4.3948,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.617,
"final": 1.617,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jason Adam |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1044 |
| ESPN Rank | 93 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 1.7763 |
| Season WHIP | 1.2632 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"opponent": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"edges": {
"quality_edge": -0.1816,
"offense_edge": -0.1117,
"opponent_offense_edge": -0.0145,
"defense_strength": 0.0626,
"opponent_defense_weakness": -0.094,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9952,
"run_prevention": 1.0005,
"strikeout": 0.9957
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592094",
"profile": {
"available": true,
"pitcher_id": "592094",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 70.0,
"k_percent": 16.3,
"bb_percent": 7.7,
"woba": 0.298,
"xwoba": 0.288,
"sweet_spot_percent": 26.9,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 41.0,
"avg_best_speed": 77.6644,
"avg_hyper_speed": 93.5365,
"whiff_percent": 28.9,
"swing_percent": 53.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.4427,
"command_and_miss": -0.1714,
"regression_edge": 0.2857,
"xwoba_edge": 0.7714,
"barrel_edge": 0.2,
"hard_hit_edge": -0.3429,
"whiff_edge": 0.4857,
"bb_edge": 0.35,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592094",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.1044,
"sample_weight": 0.45,
"run_prevention_factor": 0.9911,
"strikeout_factor": 0.9923,
"walk_factor": 0.9874,
"homer_factor": 0.9886,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592094",
"espn_id": 32145,
"player_name": "Jason Adam",
"team": "SD",
"role": "pitcher",
"espn_rank": 93,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 93,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.7763,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 15.0,
"hld_rank": 3,
"ip_value": 25.1,
"ip_rank": 310,
"h_value": 24.0,
"h_rank": 268,
"er_value": 5.0,
"er_rank": 490,
"hr_value": 3.0,
"hr_rank": 249,
"bb_value": 8.0,
"bb_rank": 348,
"k_value": 17.0,
"k_rank": 377,
"k_per_9_value": 6.0394735,
"k_per_9_rank": 32,
"whip_value": 1.2631,
"whip_rank": null,
"war_value": 0.98,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.996,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9943,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9949,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9965,
"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.2,
"ER": 3,
"H": 12,
"BB": 3,
"SO": 7,
"HR": 2,
"ERA": 3.5217391304347827,
"WHIP": 1.956521739130435,
"K9": 8.217391304347826,
"HR9": 2.347826086956522,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "592094",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.016,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5008,
"prior_weight": 0.4992
},
"role": "pitcher",
"player_id": "592094",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 3.0,
"SO": 4.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 77.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.6,
"SO": 0.8,
"HR": 0.0,
"BF": 4.0,
"Pitches": 15.4
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.8462,
"ER_per_IP": 0.23077,
"H_per_IP": 1.15385,
"BB_per_IP": 0.69231,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.2,
"ER": 3.0,
"R": 3.0,
"H": 12.0,
"BB": 3.0,
"SO": 7.0,
"HR": 2.0,
"BF": 37.0,
"Pitches": 140.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 1.2,
"BB": 0.3,
"SO": 0.7,
"HR": 0.2,
"BF": 3.7,
"Pitches": 14.0
},
"rates": {
"ERA": 3.5217,
"WHIP": 1.9565,
"ER_per_IP": 0.3913,
"H_per_IP": 1.56522,
"BB_per_IP": 0.3913,
"SO_per_IP": 0.91304,
"HR_per_IP": 0.26087
}
},
"season": {
"games": 29,
"totals": {
"IP": 25.1,
"ER": 5.0,
"R": 5.0,
"H": 24.0,
"BB": 8.0,
"SO": 17.0,
"HR": 3.0,
"BF": 107.0,
"Pitches": 431.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1724,
"R": 0.1724,
"H": 0.8276,
"BB": 0.2759,
"SO": 0.5862,
"HR": 0.1034,
"BF": 3.6897,
"Pitches": 14.8621
},
"rates": {
"ERA": 1.7763,
"WHIP": 1.2632,
"ER_per_IP": 0.19737,
"H_per_IP": 0.94737,
"BB_per_IP": 0.31579,
"SO_per_IP": 0.67105,
"HR_per_IP": 0.11842
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.366,
"predicted_H": 1.049,
"predicted_BB": 0.411,
"predicted_SO": 0.849,
"predicted_HR": 0.122,
"predicted_ERA": 3.4938,
"predicted_WHIP": 1.551
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5609,
"form_weight": 0.4391,
"form_reliability": 0.5008,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.016,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5008,
"prior_weight": 0.4992
},
"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.1607,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.049,
"final": 0.4606,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.411,
"final": 0.1805,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.849,
"final": 0.9337,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.122,
"final": 0.0536,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4938,
"final": 3.4938,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.551,
"final": 1.551,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Mason Miller |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.7880 |
| ESPN Rank | 38 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 0.9000 |
| Season WHIP | 0.8000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"opponent": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"edges": {
"quality_edge": -0.1816,
"offense_edge": -0.1117,
"opponent_offense_edge": -0.0145,
"defense_strength": 0.0626,
"opponent_defense_weakness": -0.094,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9952,
"run_prevention": 1.0005,
"strikeout": 0.9957
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695243",
"profile": {
"available": true,
"pitcher_id": "695243",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 90.0,
"k_percent": 50.9,
"bb_percent": 10.9,
"woba": 0.174,
"xwoba": 0.166,
"sweet_spot_percent": 28.6,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 14.3,
"avg_best_speed": 71.7627,
"avg_hyper_speed": 90.7706,
"whiff_percent": 49.8,
"swing_percent": 44.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 2.1995,
"command_and_miss": 1.91,
"regression_edge": 0.2286,
"xwoba_edge": 2.5,
"barrel_edge": 1.6222,
"hard_hit_edge": 2.5,
"whiff_edge": 2.5,
"bb_edge": -0.45,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "695243",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.788,
"sample_weight": 0.45,
"run_prevention_factor": 0.933,
"strikeout_factor": 1.09,
"walk_factor": 1.0162,
"homer_factor": 0.8629,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695243",
"espn_id": 4730225,
"player_name": "Mason Miller",
"team": "SD",
"role": "pitcher",
"espn_rank": 38,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 38,
"gp_value": 29.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 0.9,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 19.0,
"sv_rank": 2,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 30.0,
"ip_rank": 240,
"h_value": 12.0,
"h_rank": 449,
"er_value": 3.0,
"er_rank": 551,
"hr_value": 0.0,
"hr_rank": 568,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 59.0,
"k_rank": 74,
"k_per_9_value": 17.7,
"k_per_9_rank": 8,
"whip_value": 0.8,
"whip_rank": null,
"war_value": 1.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9698,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9698,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9383,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0405,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.1,
"ER": 1,
"H": 4,
"BB": 7,
"SO": 19,
"HR": 0,
"ERA": 0.8709677419354839,
"WHIP": 1.064516129032258,
"K9": 16.548387096774192,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "695243",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"role": "pitcher",
"player_id": "695243",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 1.0,
"SO": 10.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 2.0,
"HR": 0.0,
"BF": 3.6,
"Pitches": 17.0
},
"rates": {
"ERA": 1.8,
"WHIP": 0.6,
"ER_per_IP": 0.2,
"H_per_IP": 0.4,
"BB_per_IP": 0.2,
"SO_per_IP": 2.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 1.0,
"R": 2.0,
"H": 4.0,
"BB": 7.0,
"SO": 19.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 206.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.4,
"BB": 0.7,
"SO": 1.9,
"HR": 0.0,
"BF": 4.2,
"Pitches": 20.6
},
"rates": {
"ERA": 0.871,
"WHIP": 1.0645,
"ER_per_IP": 0.09677,
"H_per_IP": 0.3871,
"BB_per_IP": 0.67742,
"SO_per_IP": 1.83871,
"HR_per_IP": 0.0
}
},
"season": {
"games": 29,
"totals": {
"IP": 30.0,
"ER": 3.0,
"R": 4.0,
"H": 12.0,
"BB": 12.0,
"SO": 59.0,
"HR": 0.0,
"BF": 114.0,
"Pitches": 498.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1034,
"R": 0.1379,
"H": 0.4138,
"BB": 0.4138,
"SO": 2.0345,
"HR": 0.0,
"BF": 3.931,
"Pitches": 17.1724
},
"rates": {
"ERA": 0.9,
"WHIP": 0.8,
"ER_per_IP": 0.1,
"H_per_IP": 0.4,
"BB_per_IP": 0.4,
"SO_per_IP": 1.96667,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.305,
"predicted_H": 0.659,
"predicted_BB": 0.386,
"predicted_SO": 1.478,
"predicted_HR": 0.066,
"predicted_ERA": 2.7451,
"predicted_WHIP": 1.0451
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5431,
"form_weight": 0.4569,
"form_reliability": 0.543,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.941,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.543,
"prior_weight": 0.457
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.305,
"final": 0.1394,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.659,
"final": 0.3011,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.386,
"final": 0.1764,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.478,
"final": 1.2184,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0302,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7451,
"final": 2.7451,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0451,
"final": 1.0451,
"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.147 | 0.000 | 0.000 | Hitting_2B | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.020 | 4.000 | 4.000 | Hitting_AB | 3.642 | 4.000 | 0.358 | 0.000 |
| predicted_AVG | 0.221 | 0.250 | 0.250 | Hitting_AVG | 0.175 | 0.000 | 0.075 | 0.250 |
| predicted_BB | 0.412 | 1.000 | 0.000 | Hitting_BB | 0.470 | 1.000 | 0.530 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.890 | 1.000 | 1.000 | Hitting_H | 0.638 | 0.000 | 0.362 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_OBP | 0.276 | 0.400 | 0.250 | Hitting_OBP | 0.264 | 0.200 | 0.136 | 0.200 |
| predicted_R | 0.471 | 1.000 | 0.000 | Hitting_R | 0.530 | 0.000 | 0.470 | 1.000 |
| predicted_RBI | 0.520 | 1.000 | 0.000 | Hitting_RBI | 0.547 | 0.000 | 0.453 | 1.000 |
| predicted_SLG | 0.407 | 0.250 | 0.250 | Hitting_SLG | 0.355 | 0.000 | -0.105 | 0.250 |
| predicted_SO | 0.926 | 0.000 | 1.000 | Hitting_SO | 0.961 | 2.000 | -0.961 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_BB: 0.4120 -> 1.0000 (boost 0.5880, better) |
| Biggest Deboost | predicted_SO: 0.9260 -> 0.0000 (deboost -0.9260, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_2B: 0.1470 -> 0.2116 (boost 0.0646, better) | predicted_AVG: 0.2210 -> 0.2134 (deboost -0.0076, 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.4117 -> 0.3834 (deboost -0.0283, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_H: 0.8236 -> 1.0000 (boost 0.1764, better) | predicted_RBI: 0.4953 -> 0.0000 (deboost -0.4953, worse) | AB rounded to 4 (raw=4.02), rates preserved: AVG=0.205 HR/AB=0.041 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=36.0, weight=0.218, BvP AVG=0.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4513 -> 0.0000 (deboost -0.4513, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2069 -> 0.2500 (boost 0.0431, better) | predicted_SLG: 0.3834 -> 0.2500 (deboost -0.1334, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 3 | 1 | 4 | 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 |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3834 (boost 0.1334, better) | predicted_AVG: 0.2500 -> 0.2069 (deboost -0.0431, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592518",
"player_name": "Manny Machado",
"position": "DH",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.0,
"predicted_AB": 4.02,
"predicted_AVG": 0.221,
"predicted_BB": 0.412,
"predicted_H": 0.89,
"predicted_HR": 0.16,
"predicted_OBP": 0.276,
"predicted_R": 0.471,
"predicted_RBI": 0.52,
"predicted_SLG": 0.407,
"predicted_SO": 0.926
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2116,
"predicted_3B": 0.0004,
"predicted_AB": 3.9812,
"predicted_AVG": 0.2134,
"predicted_BB": 0.3715,
"predicted_H": 0.8508,
"predicted_HBP": 0.003,
"predicted_HR": 0.1689,
"predicted_OBP": 0.2696,
"predicted_R": 0.4769,
"predicted_RBI": 0.5234,
"predicted_SLG": 0.4117,
"predicted_SO": 0.8868
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.2116,
"delta": 0.0646,
"percent_delta": 0.4395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 3.9812,
"delta": -0.0388,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2134,
"delta": -0.0076,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 0.3715,
"delta": -0.0405,
"percent_delta": -0.0983,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.8508,
"delta": -0.0392,
"percent_delta": -0.044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1689,
"delta": 0.0089,
"percent_delta": 0.0556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2696,
"delta": -0.0064,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 0.4769,
"delta": 0.0059,
"percent_delta": 0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5234,
"delta": 0.0034,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4117,
"delta": 0.0047,
"percent_delta": 0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.8868,
"delta": -0.0392,
"percent_delta": -0.0423,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.147,
"after": 0.2116,
"delta": 0.0646,
"percent_delta": 0.4395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2134,
"delta": -0.0076,
"percent_delta": -0.0344,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2116,
"predicted_3B": 0.0004,
"predicted_AB": 3.9812,
"predicted_AVG": 0.2069,
"predicted_BB": 0.3678,
"predicted_H": 0.8236,
"predicted_HBP": 0.003,
"predicted_HR": 0.1635,
"predicted_OBP": 0.2739,
"predicted_R": 0.4513,
"predicted_RBI": 0.4953,
"predicted_SLG": 0.3834,
"predicted_SO": 0.8956
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2116,
"after": 0.2116,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9812,
"after": 3.9812,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2134,
"after": 0.2069,
"delta": -0.0065,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3715,
"after": 0.3678,
"delta": -0.0037,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8508,
"after": 0.8236,
"delta": -0.0272,
"percent_delta": -0.032,
"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.1689,
"after": 0.1635,
"delta": -0.0054,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2696,
"after": 0.2739,
"delta": 0.0043,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4769,
"after": 0.4513,
"delta": -0.0256,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5234,
"after": 0.4953,
"delta": -0.0281,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4117,
"after": 0.3834,
"delta": -0.0283,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8868,
"after": 0.8956,
"delta": 0.0088,
"percent_delta": 0.0099,
"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.4117,
"after": 0.3834,
"delta": -0.0283,
"percent_delta": -0.0687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.02), rates preserved: AVG=0.205 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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2116,
"after": 0.0,
"delta": -0.2116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9812,
"after": 4.0,
"delta": 0.0188,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3678,
"after": 0.0,
"delta": -0.3678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8236,
"after": 1.0,
"delta": 0.1764,
"percent_delta": 0.2142,
"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.1635,
"after": 0.0,
"delta": -0.1635,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4953,
"after": 0.0,
"delta": -0.4953,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8956,
"after": 1.0,
"delta": 0.1044,
"percent_delta": 0.1166,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8236,
"after": 1.0,
"delta": 0.1764,
"percent_delta": 0.2142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4953,
"after": 0.0,
"delta": -0.4953,
"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=36.0, weight=0.218, BvP AVG=0.250)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.7818,
"bvp": 0.2182
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4513,
"after": 0.0,
"delta": -0.4513,
"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.4513,
"after": 0.0,
"delta": -0.4513,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2069,
"after": 0.25,
"delta": 0.0431,
"percent_delta": 0.2083,
"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.2739,
"after": 0.25,
"delta": -0.0239,
"percent_delta": -0.0873,
"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.3834,
"after": 0.25,
"delta": -0.1334,
"percent_delta": -0.3479,
"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.2069,
"after": 0.25,
"delta": 0.0431,
"percent_delta": 0.2083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3834,
"after": 0.25,
"delta": -0.1334,
"percent_delta": -0.3479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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_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": 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.2069,
"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.2739,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3834,
"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.2069,
"delta": -0.0431,
"percent_delta": -0.1725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2739,
"delta": 0.0239,
"percent_delta": 0.0958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3834,
"delta": 0.1334,
"percent_delta": 0.5337,
"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.3834,
"delta": 0.1334,
"percent_delta": 0.5337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2069,
"delta": -0.0431,
"percent_delta": -0.1725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.02,
"after": 4.0,
"delta": -0.02,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2069,
"delta": -0.0141,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2739,
"delta": -0.0021,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.471,
"after": 1.0,
"delta": 0.529,
"percent_delta": 1.1231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.0,
"delta": 0.48,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3834,
"delta": -0.0236,
"percent_delta": -0.058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.0,
"delta": -0.926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 4,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.412,
"after": 1.0,
"delta": 0.588,
"percent_delta": 1.4272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.926,
"after": 0.0,
"delta": -0.926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.020 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.412 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.276 | - |
| predicted_R | 0.471 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.407 | - |
| predicted_SO | 0.926 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.212 | 0.065 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.981 | -0.039 |
| predicted_AVG | 0.213 | -0.008 |
| predicted_BB | 0.371 | -0.040 |
| predicted_H | 0.851 | -0.039 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.169 | 0.009 |
| predicted_OBP | 0.270 | -0.006 |
| predicted_R | 0.477 | 0.006 |
| predicted_RBI | 0.523 | 0.003 |
| predicted_SLG | 0.412 | 0.005 |
| predicted_SO | 0.887 | -0.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.212 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.981 | 0.000 |
| predicted_AVG | 0.207 | -0.007 |
| predicted_BB | 0.368 | -0.004 |
| predicted_H | 0.824 | -0.027 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.164 | -0.005 |
| predicted_OBP | 0.274 | 0.004 |
| predicted_R | 0.451 | -0.026 |
| predicted_RBI | 0.495 | -0.028 |
| predicted_SLG | 0.383 | -0.028 |
| predicted_SO | 0.896 | 0.009 |
AB rounded to 4 (raw=4.02), rates preserved: AVG=0.205 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 | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=36.0, weight=0.218, BvP AVG=0.250)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.212 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.019 |
| predicted_AVG | 0.250 | 0.043 |
| predicted_BB | 0.000 | -0.368 |
| predicted_H | 1.000 | 0.176 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.250 | -0.024 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 0.000 | -0.495 |
| predicted_SLG | 0.250 | -0.133 |
| 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 | 4.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 | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 6.000 | 4.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 3.000 | 0.2727 | 0.3043 | 0.5909 | 0.2727 | 0.0454 | 0.1364 | 0.0454 | 0.1364 |
| last_10 | 0.20 | 10 | - | 42.000 | 8.000 | 4.000 | 0.000 | 2.000 | 5.000 | 4.000 | 1.000 | 7.000 | 0.1905 | 0.2093 | 0.4286 | 0.1905 | 0.0476 | 0.1191 | 0.0238 | 0.1667 |
| season | 0.60 | 68 | - | 251.000 | 44.000 | 10.000 | 0.000 | 12.000 | 35.000 | 32.000 | 28.000 | 63.000 | 0.1753 | 0.2544 | 0.3586 | 0.1753 | 0.0478 | 0.1394 | 0.1115 | 0.2510 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3000 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.9280 |
| predicted_AVG | 0.2029 |
| predicted_BB | 0.3160 |
| predicted_H | 0.7970 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1810 |
| predicted_OBP | 0.2609 |
| predicted_R | 0.4850 |
| predicted_RBI | 0.5280 |
| predicted_SLG | 0.4181 |
| predicted_SO | 0.8330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.3000 | 0.2116 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0200 | 3.9280 | 3.9812 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2029 | 0.2134 | model_form_blend |
| predicted_BB | 0.4120 | 0.3160 | 0.3715 | model_form_blend |
| predicted_H | 0.8900 | 0.7970 | 0.8508 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1600 | 0.1810 | 0.1689 | model_form_blend |
| predicted_OBP | 0.2760 | 0.2609 | 0.2696 | model_form_blend |
| predicted_R | 0.4710 | 0.4850 | 0.4769 | model_form_blend |
| predicted_RBI | 0.5200 | 0.5280 | 0.5234 | model_form_blend |
| predicted_SLG | 0.4070 | 0.4181 | 0.4117 | model_form_blend |
| predicted_SO | 0.9260 | 0.8330 | 0.8868 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| 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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260614_SD@BAL |
| game_type | full |
| mlbID | 592518 |
| playerID | 592518 |
| playerName | Manny Machado |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.272 |
| sl_xwoba | 0.306 |
| sl_xba | 0.228 |
| sl_xslg | 0.397 |
| sl_sweet_spot_percent | 29.8 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 41.9 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 25.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.182 | 1.000 | 0.000 | Hitting_2B | 0.216 | 0.000 | 0.784 | 1.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.250 | 5.000 | 4.000 | Hitting_AB | 3.901 | 5.000 | 1.099 | 0.000 |
| predicted_AVG | 0.229 | 0.600 | 0.250 | Hitting_AVG | 0.206 | 0.400 | 0.394 | 0.200 |
| predicted_BB | 0.348 | 0.000 | 0.000 | Hitting_BB | 0.379 | 0.000 | -0.379 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 0.970 | 3.000 | 1.000 | Hitting_H | 0.802 | 2.000 | 2.198 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.293 | 0.600 | 0.250 | Hitting_OBP | 0.279 | 0.400 | 0.321 | 0.200 |
| predicted_R | 0.470 | 1.000 | 0.000 | Hitting_R | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_RBI | 0.470 | 1.000 | 0.000 | Hitting_RBI | 0.409 | 0.000 | 0.591 | 1.000 |
| predicted_SLG | 0.402 | 0.800 | 0.250 | Hitting_SLG | 0.329 | 0.400 | 0.471 | 0.400 |
| predicted_SO | 1.015 | 1.000 | 1.000 | Hitting_SO | 1.060 | 0.000 | -0.060 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.9700 -> 3.0000 (boost 2.0300, better) |
| Biggest Deboost | predicted_BB: 0.3480 -> 0.0000 (deboost -0.3480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 0 | 2 | 1 | 1 | - | predicted_SO: 1.0150 -> 0.9475 (deboost -0.0675, better) | Final model input calibrated with local 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.4017 -> 0.3804 (deboost -0.0213, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.9246 -> 1.0000 (boost 0.0754, better) | predicted_RBI: 0.4435 -> 0.0000 (deboost -0.4435, worse) | AB rounded to 4 (raw=4.25), rates preserved: AVG=0.218 HR/AB=0.033 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4695 -> 0.0000 (deboost -0.4695, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2208 -> 0.2500 (boost 0.0292, better) | predicted_SLG: 0.3804 -> 0.2500 (deboost -0.1304, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_H: 1.0000 -> 3.0000 (boost 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.3804 (boost 0.1304, better) | predicted_AVG: 0.2500 -> 0.2208 (deboost -0.0292, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701538",
"player_name": "Jackson Merrill",
"position": "CF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.182,
"predicted_3B": 0.015,
"predicted_AB": 4.25,
"predicted_AVG": 0.229,
"predicted_BB": 0.348,
"predicted_H": 0.97,
"predicted_HR": 0.15,
"predicted_OBP": 0.293,
"predicted_R": 0.47,
"predicted_RBI": 0.47,
"predicted_SLG": 0.402,
"predicted_SO": 1.015
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1778,
"predicted_3B": 0.0336,
"predicted_AB": 4.1876,
"predicted_AVG": 0.2285,
"predicted_BB": 0.3337,
"predicted_H": 0.9552,
"predicted_HBP": 0.012,
"predicted_HR": 0.1458,
"predicted_OBP": 0.2898,
"predicted_R": 0.4961,
"predicted_RBI": 0.4687,
"predicted_SLG": 0.4017,
"predicted_SO": 0.9475
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.182,
"after": 0.1778,
"delta": -0.0042,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0336,
"delta": 0.0186,
"percent_delta": 1.24,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 4.1876,
"delta": -0.0624,
"percent_delta": -0.0147,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2285,
"delta": -0.0005,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.348,
"after": 0.3337,
"delta": -0.0143,
"percent_delta": -0.0411,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9552,
"delta": -0.0148,
"percent_delta": -0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1458,
"delta": -0.0042,
"percent_delta": -0.028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2898,
"delta": -0.0032,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 0.4961,
"delta": 0.0261,
"percent_delta": 0.0555,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4687,
"delta": -0.0013,
"percent_delta": -0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4017,
"delta": -0.0003,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.015,
"after": 0.9475,
"delta": -0.0675,
"percent_delta": -0.0665,
"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_SO",
"before": 1.015,
"after": 0.9475,
"delta": -0.0675,
"percent_delta": -0.0665,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1778,
"predicted_3B": 0.0336,
"predicted_AB": 4.1876,
"predicted_AVG": 0.2208,
"predicted_BB": 0.3304,
"predicted_H": 0.9246,
"predicted_HBP": 0.012,
"predicted_HR": 0.1411,
"predicted_OBP": 0.2778,
"predicted_R": 0.4695,
"predicted_RBI": 0.4435,
"predicted_SLG": 0.3804,
"predicted_SO": 0.9569
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1778,
"after": 0.1778,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0336,
"after": 0.0336,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1876,
"after": 4.1876,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2285,
"after": 0.2208,
"delta": -0.0077,
"percent_delta": -0.0337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3337,
"after": 0.3304,
"delta": -0.0033,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9552,
"after": 0.9246,
"delta": -0.0306,
"percent_delta": -0.032,
"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.1458,
"after": 0.1411,
"delta": -0.0047,
"percent_delta": -0.0322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2898,
"after": 0.2778,
"delta": -0.012,
"percent_delta": -0.0414,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4961,
"after": 0.4695,
"delta": -0.0266,
"percent_delta": -0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4687,
"after": 0.4435,
"delta": -0.0252,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4017,
"after": 0.3804,
"delta": -0.0213,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9475,
"after": 0.9569,
"delta": 0.0094,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4017,
"after": 0.3804,
"delta": -0.0213,
"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 4 (raw=4.25), rates preserved: AVG=0.218 HR/AB=0.033",
"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.1778,
"after": 0.0,
"delta": -0.1778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0336,
"after": 0.0,
"delta": -0.0336,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1876,
"after": 4.0,
"delta": -0.1876,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3304,
"after": 0.0,
"delta": -0.3304,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9246,
"after": 1.0,
"delta": 0.0754,
"percent_delta": 0.0815,
"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.1411,
"after": 0.0,
"delta": -0.1411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4435,
"after": 0.0,
"delta": -0.4435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9569,
"after": 1.0,
"delta": 0.0431,
"percent_delta": 0.045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.9246,
"after": 1.0,
"delta": 0.0754,
"percent_delta": 0.0815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4435,
"after": 0.0,
"delta": -0.4435,
"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.4695,
"after": 0.0,
"delta": -0.4695,
"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.4695,
"after": 0.0,
"delta": -0.4695,
"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.2208,
"after": 0.25,
"delta": 0.0292,
"percent_delta": 0.1322,
"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.2778,
"after": 0.25,
"delta": -0.0278,
"percent_delta": -0.1001,
"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.3804,
"after": 0.25,
"delta": -0.1304,
"percent_delta": -0.3428,
"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.2208,
"after": 0.25,
"delta": 0.0292,
"percent_delta": 0.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3804,
"after": 0.25,
"delta": -0.1304,
"percent_delta": -0.3428,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2208,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2778,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3804,
"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.2208,
"delta": -0.0292,
"percent_delta": -0.1168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"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.25,
"after": 0.2778,
"delta": 0.0278,
"percent_delta": 0.1111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 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.3804,
"delta": 0.1304,
"percent_delta": 0.5217,
"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.3804,
"delta": 0.1304,
"percent_delta": 0.5217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2208,
"delta": -0.0292,
"percent_delta": -0.1168,
"direction": "deboost",
"projection_effect": "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": 1.0,
"delta": 0.818,
"percent_delta": 4.4945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.25,
"after": 5.0,
"delta": 0.75,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2208,
"delta": -0.0082,
"percent_delta": -0.0358,
"direction": "deboost",
"projection_effect": "worse",
"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.97,
"after": 3.0,
"delta": 2.03,
"percent_delta": 2.0928,
"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.293,
"after": 0.2778,
"delta": -0.0152,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3804,
"delta": -0.0216,
"percent_delta": -0.0537,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.015,
"after": 1.0,
"delta": -0.015,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.97,
"after": 3.0,
"delta": 2.03,
"percent_delta": 2.0928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.348,
"after": 0.0,
"delta": -0.348,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.250 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.348 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.470 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 1.015 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | -0.004 |
| predicted_3B | 0.034 | 0.019 |
| predicted_AB | 4.188 | -0.062 |
| predicted_AVG | 0.229 | -0.001 |
| predicted_BB | 0.334 | -0.014 |
| predicted_H | 0.955 | -0.015 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.146 | -0.004 |
| predicted_OBP | 0.290 | -0.003 |
| predicted_R | 0.496 | 0.026 |
| predicted_RBI | 0.469 | -0.001 |
| predicted_SLG | 0.402 | -0.000 |
| predicted_SO | 0.948 | -0.067 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 4.188 | 0.000 |
| predicted_AVG | 0.221 | -0.008 |
| predicted_BB | 0.330 | -0.003 |
| predicted_H | 0.925 | -0.031 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.141 | -0.005 |
| predicted_OBP | 0.278 | -0.012 |
| predicted_R | 0.469 | -0.027 |
| predicted_RBI | 0.444 | -0.025 |
| predicted_SLG | 0.380 | -0.021 |
| predicted_SO | 0.957 | 0.009 |
AB rounded to 4 (raw=4.25), rates preserved: AVG=0.218 HR/AB=0.033
| 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.178 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 4.000 | -0.188 |
| predicted_AVG | 0.250 | 0.029 |
| predicted_BB | 0.000 | -0.330 |
| predicted_H | 1.000 | 0.075 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.250 | -0.028 |
| predicted_R | 0.000 | -0.469 |
| predicted_RBI | 0.000 | -0.444 |
| predicted_SLG | 0.250 | -0.130 |
| predicted_SO | 1.000 | 0.043 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 24.000 | 7.000 | 1.000 | 1.000 | 1.000 | 3.000 | 4.000 | 1.000 | 2.000 | 0.2917 | 0.3200 | 0.5417 | 0.2917 | 0.0417 | 0.1250 | 0.0417 | 0.0833 |
| last_10 | 0.20 | 10 | - | 42.000 | 9.000 | 1.000 | 1.000 | 2.000 | 5.000 | 5.000 | 3.000 | 7.000 | 0.2143 | 0.2667 | 0.4286 | 0.2143 | 0.0476 | 0.1191 | 0.0714 | 0.1667 |
| season | 0.60 | 66 | - | 256.000 | 53.000 | 12.000 | 1.000 | 7.000 | 27.000 | 31.000 | 23.000 | 67.000 | 0.2070 | 0.2750 | 0.3438 | 0.2070 | 0.0273 | 0.1055 | 0.0898 | 0.2617 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1720 |
| predicted_3B | 0.0590 |
| predicted_AB | 4.1020 |
| predicted_AVG | 0.2278 |
| predicted_BB | 0.3140 |
| predicted_H | 0.9350 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.2854 |
| predicted_R | 0.5320 |
| predicted_RBI | 0.4670 |
| predicted_SLG | 0.4012 |
| predicted_SO | 0.8550 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1820 | 0.1720 | 0.1778 | model_form_blend |
| predicted_3B | 0.0150 | 0.0590 | 0.0336 | model_form_blend |
| predicted_AB | 4.2500 | 4.1020 | 4.1876 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2278 | 0.2285 | model_form_blend |
| predicted_BB | 0.3480 | 0.3140 | 0.3337 | model_form_blend |
| predicted_H | 0.9700 | 0.9350 | 0.9552 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1500 | 0.1400 | 0.1458 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2854 | 0.2898 | model_form_blend |
| predicted_R | 0.4700 | 0.5320 | 0.4961 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4670 | 0.4687 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4012 | 0.4017 | model_form_blend |
| predicted_SO | 1.0150 | 0.8550 | 0.9475 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.207 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.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 | 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 | CF |
| gameID | 20260614_SD@BAL |
| game_type | full |
| mlbID | 701538 |
| playerID | 701538 |
| playerName | Jackson Merrill |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.273 |
| sl_xwoba | 0.318 |
| sl_xba | 0.239 |
| sl_xslg | 0.43 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 47.3 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 54.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.147 | 0.000 | 0.000 | Hitting_2B | 0.136 | 0.000 | -0.136 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.400 | 2.000 | 4.000 | Hitting_AB | 3.860 | 4.000 | -1.860 | -2.000 |
| predicted_AVG | 0.260 | 0.500 | 0.250 | Hitting_AVG | 0.268 | 0.500 | 0.232 | 0.000 |
| predicted_BB | 0.397 | 1.000 | 0.000 | Hitting_BB | 0.436 | 0.000 | 0.564 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_H | 1.140 | 1.000 | 1.000 | Hitting_H | 1.033 | 2.000 | -0.033 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_OBP | 0.345 | 0.800 | 0.250 | Hitting_OBP | 0.341 | 0.400 | 0.459 | 0.400 |
| predicted_R | 0.397 | 0.000 | 0.000 | Hitting_R | 0.383 | 0.000 | -0.383 | 0.000 |
| predicted_RBI | 0.510 | 0.000 | 0.000 | Hitting_RBI | 0.317 | 2.000 | -0.317 | -2.000 |
| predicted_SLG | 0.413 | 0.500 | 0.250 | Hitting_SLG | 0.318 | 0.500 | 0.182 | 0.000 |
| predicted_SO | 0.926 | 0.000 | 1.000 | Hitting_SO | 0.984 | 0.000 | -0.984 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3970 -> 1.0000 (boost 0.6030, better) |
| Biggest Deboost | predicted_AB: 4.4000 -> 2.0000 (deboost -2.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 | 4 | 3 | 1 | 3 | 1 | predicted_H: 1.1400 -> 1.2035 (boost 0.0635, better) | predicted_AB: 4.4000 -> 4.2976 (deboost -0.1024, 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.4177 -> 0.3876 (deboost -0.0301, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 0 | 7 | predicted_SO: 0.9172 -> 1.0000 (boost 0.0828, worse) | predicted_RBI: 0.4810 -> 0.0000 (deboost -0.4810, worse) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.265 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.269) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4065 -> 0.0000 (deboost -0.4065, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3876 -> 0.2500 (deboost -0.1376, 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_HBP: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 4.0000 -> 2.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.2500 -> 0.3876 (boost 0.1376, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665487",
"player_name": "Fernando Tatis Jr.",
"position": "RF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.015,
"predicted_AB": 4.4,
"predicted_AVG": 0.26,
"predicted_BB": 0.397,
"predicted_H": 1.14,
"predicted_HR": 0.12,
"predicted_OBP": 0.345,
"predicted_R": 0.397,
"predicted_RBI": 0.51,
"predicted_SLG": 0.413,
"predicted_SO": 0.926
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1771,
"predicted_3B": 0.0129,
"predicted_AB": 4.2976,
"predicted_AVG": 0.2813,
"predicted_BB": 0.3737,
"predicted_H": 1.2035,
"predicted_HBP": 0.021,
"predicted_HR": 0.1026,
"predicted_OBP": 0.3511,
"predicted_R": 0.4296,
"predicted_RBI": 0.5083,
"predicted_SLG": 0.4177,
"predicted_SO": 0.9082
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1771,
"delta": 0.0301,
"percent_delta": 0.2048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 4.2976,
"delta": -0.1024,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2813,
"delta": 0.0213,
"percent_delta": 0.0819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.3737,
"delta": -0.0233,
"percent_delta": -0.0587,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.2035,
"delta": 0.0635,
"percent_delta": 0.0557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1026,
"delta": -0.0174,
"percent_delta": -0.145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.345,
"after": 0.3511,
"delta": 0.0061,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.4296,
"delta": 0.0326,
"percent_delta": 0.0821,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 0.5083,
"delta": -0.0017,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4177,
"delta": 0.0047,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.9082,
"delta": -0.0178,
"percent_delta": -0.0192,
"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_H",
"before": 1.14,
"after": 1.2035,
"delta": 0.0635,
"percent_delta": 0.0557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.2976,
"delta": -0.1024,
"percent_delta": -0.0233,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1771,
"predicted_3B": 0.0129,
"predicted_AB": 4.2976,
"predicted_AVG": 0.2711,
"predicted_BB": 0.37,
"predicted_H": 1.165,
"predicted_HBP": 0.021,
"predicted_HR": 0.0993,
"predicted_OBP": 0.3289,
"predicted_R": 0.4065,
"predicted_RBI": 0.481,
"predicted_SLG": 0.3876,
"predicted_SO": 0.9172
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1771,
"after": 0.1771,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2976,
"after": 4.2976,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2813,
"after": 0.2711,
"delta": -0.0102,
"percent_delta": -0.0363,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3737,
"after": 0.37,
"delta": -0.0037,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2035,
"after": 1.165,
"delta": -0.0385,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1026,
"after": 0.0993,
"delta": -0.0033,
"percent_delta": -0.0322,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3511,
"after": 0.3289,
"delta": -0.0222,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4296,
"after": 0.4065,
"delta": -0.0231,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5083,
"after": 0.481,
"delta": -0.0273,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4177,
"after": 0.3876,
"delta": -0.0301,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9082,
"after": 0.9172,
"delta": 0.009,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4177,
"after": 0.3876,
"delta": -0.0301,
"percent_delta": -0.0721,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.265 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1771,
"after": 0.0,
"delta": -0.1771,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2976,
"after": 4.0,
"delta": -0.2976,
"percent_delta": -0.0692,
"direction": "deboost",
"projection_effect": "worse",
"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": 1.165,
"after": 1.0,
"delta": -0.165,
"percent_delta": -0.1416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0993,
"after": 0.0,
"delta": -0.0993,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9172,
"after": 1.0,
"delta": 0.0828,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.9172,
"after": 1.0,
"delta": 0.0828,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.269)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8143,
"bvp": 0.1857
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4065,
"after": 0.0,
"delta": -0.4065,
"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.4065,
"after": 0.0,
"delta": -0.4065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2711,
"after": 0.25,
"delta": -0.0211,
"percent_delta": -0.0778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3289,
"after": 0.25,
"delta": -0.0789,
"percent_delta": -0.2399,
"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.3876,
"after": 0.25,
"delta": -0.1376,
"percent_delta": -0.355,
"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.3876,
"after": 0.25,
"delta": -0.1376,
"percent_delta": -0.355,
"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": 2.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 2.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 2.0,
"delta": -2.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2711,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3289,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3876,
"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.2711,
"delta": 0.0211,
"percent_delta": 0.0843,
"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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3289,
"delta": 0.0789,
"percent_delta": 0.3154,
"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.3876,
"delta": 0.1376,
"percent_delta": 0.5505,
"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.3876,
"delta": 0.1376,
"percent_delta": 0.5505,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 2.0,
"delta": -2.4,
"percent_delta": -0.5455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2711,
"delta": 0.0111,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 1.0,
"delta": 0.603,
"percent_delta": 1.5189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.0,
"delta": -0.14,
"percent_delta": -0.1228,
"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.345,
"after": 0.3289,
"delta": -0.0161,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"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.413,
"after": 0.3876,
"delta": -0.0254,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.0,
"delta": -0.926,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.397,
"after": 1.0,
"delta": 0.603,
"percent_delta": 1.5189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 2.0,
"delta": -2.4,
"percent_delta": -0.5455,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.397 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.345 | - |
| predicted_R | 0.397 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.926 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | 0.030 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 4.298 | -0.102 |
| predicted_AVG | 0.281 | 0.021 |
| predicted_BB | 0.374 | -0.023 |
| predicted_H | 1.204 | 0.064 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.103 | -0.017 |
| predicted_OBP | 0.351 | 0.006 |
| predicted_R | 0.430 | 0.033 |
| predicted_RBI | 0.508 | -0.002 |
| predicted_SLG | 0.418 | 0.005 |
| predicted_SO | 0.908 | -0.018 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.177 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.298 | 0.000 |
| predicted_AVG | 0.271 | -0.010 |
| predicted_BB | 0.370 | -0.004 |
| predicted_H | 1.165 | -0.038 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.099 | -0.003 |
| predicted_OBP | 0.329 | -0.022 |
| predicted_R | 0.406 | -0.023 |
| predicted_RBI | 0.481 | -0.027 |
| predicted_SLG | 0.388 | -0.030 |
| predicted_SO | 0.917 | 0.009 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.265 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=26.0, weight=0.186, BvP AVG=0.269)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.177 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | -0.298 |
| predicted_AVG | 0.250 | -0.021 |
| predicted_BB | 0.000 | -0.370 |
| predicted_H | 1.000 | -0.165 |
| predicted_HR | 0.000 | -0.099 |
| predicted_OBP | 0.250 | -0.079 |
| predicted_R | 0.000 | -0.406 |
| predicted_RBI | 0.000 | -0.481 |
| predicted_SLG | 0.250 | -0.138 |
| predicted_SO | 1.000 | 0.083 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 2.000 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 2.000 | 2.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 24.000 | 10.000 | 2.000 | 0.000 | 1.000 | 5.000 | 4.000 | 1.000 | 4.000 | 0.4167 | 0.4231 | 0.6250 | 0.4167 | 0.0417 | 0.2083 | 0.0417 | 0.1667 |
| last_10 | 0.20 | 10 | - | 44.000 | 14.000 | 3.000 | 0.000 | 1.000 | 6.000 | 4.000 | 3.000 | 8.000 | 0.3182 | 0.3542 | 0.4545 | 0.3182 | 0.0227 | 0.1364 | 0.0682 | 0.1818 |
| season | 0.60 | 68 | - | 266.000 | 75.000 | 10.000 | 1.000 | 2.000 | 23.000 | 27.000 | 27.000 | 63.000 | 0.2820 | 0.3478 | 0.3496 | 0.2819 | 0.0075 | 0.0865 | 0.1015 | 0.2368 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2180 |
| predicted_3B | 0.0100 |
| predicted_AB | 4.1580 |
| predicted_AVG | 0.3102 |
| predicted_BB | 0.3420 |
| predicted_H | 1.2900 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.0790 |
| predicted_OBP | 0.3595 |
| predicted_R | 0.4740 |
| predicted_RBI | 0.5060 |
| predicted_SLG | 0.4242 |
| predicted_SO | 0.8840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.2180 | 0.1771 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 4.4000 | 4.1580 | 4.2976 | model_form_blend |
| predicted_AVG | 0.2600 | 0.3102 | 0.2813 | model_form_blend |
| predicted_BB | 0.3970 | 0.3420 | 0.3737 | model_form_blend |
| predicted_H | 1.1400 | 1.2900 | 1.2035 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.1200 | 0.0790 | 0.1026 | model_form_blend |
| predicted_OBP | 0.3450 | 0.3595 | 0.3511 | model_form_blend |
| predicted_R | 0.3970 | 0.4740 | 0.4296 | model_form_blend |
| predicted_RBI | 0.5100 | 0.5060 | 0.5083 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4242 | 0.4177 | model_form_blend |
| predicted_SO | 0.9260 | 0.8840 | 0.9082 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 2 |
| season_avg | 0.282 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260614_SD@BAL |
| game_type | full |
| mlbID | 665487 |
| playerID | 665487 |
| playerName | Fernando Tatis Jr. |
| pos | RF |
| started | True |
| startingPosition | 2B |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.3 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.312 |
| sl_xwoba | 0.349 |
| sl_xba | 0.286 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 10.8 |
| sl_hard_hit_percent | 52.0 |
| sl_exit_velocity_avg | 90.9 |
| sl_launch_angle_avg | 3.6 |
| sl_whiff_percent | 29.2 |
| 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.206 | 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.370 | 5.000 | 3.000 | Hitting_AB | 3.391 | 3.000 | 1.609 | 2.000 |
| predicted_AVG | 0.240 | 0.200 | 0.333 | Hitting_AVG | 0.245 | 0.333 | -0.045 | -0.133 |
| predicted_BB | 0.397 | 0.000 | 0.000 | Hitting_BB | 0.397 | 1.000 | -0.397 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 1.000 | 1.000 | Hitting_H | 0.832 | 1.000 | 0.168 | 0.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.185 | 0.000 | 0.815 | 1.000 |
| predicted_OBP | 0.311 | 0.200 | 0.333 | Hitting_OBP | 0.328 | 0.500 | -0.128 | -0.300 |
| predicted_R | 0.429 | 1.000 | 0.000 | Hitting_R | 0.435 | 0.000 | 0.565 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_SLG | 0.421 | 0.800 | 0.333 | Hitting_SLG | 0.478 | 0.333 | 0.322 | 0.467 |
| predicted_SO | 0.841 | 0.000 | 1.000 | Hitting_SO | 0.832 | 1.000 | -0.832 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 3.3700 -> 5.0000 (boost 1.6300, better) |
| Biggest Deboost | predicted_SO: 0.8410 -> 0.0000 (deboost -0.8410, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AB: 3.3700 -> 3.4245 (boost 0.0545, better) | predicted_AVG: 0.2400 -> 0.2340 (deboost -0.0060, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4280 -> 0.4197 (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 | 7 | 2 | 5 | 1 | 6 | predicted_H: 0.7760 -> 1.0000 (boost 0.2240, better) | predicted_RBI: 0.4881 -> 0.0000 (deboost -0.4881, worse) | AB rounded to 3 (raw=3.42), rates preserved: AVG=0.227 HR/AB=0.042 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.167) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4063 -> 0.0000 (deboost -0.4063, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2266 -> 0.3330 (boost 0.1064, better) | predicted_SLG: 0.4197 -> 0.3330 (deboost -0.0867, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4197 (boost 0.0867, better) | predicted_AVG: 0.3330 -> 0.2266 (deboost -0.1064, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "657757",
"player_name": "Gavin Sheets",
"position": "LF",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.206,
"predicted_3B": 0.0,
"predicted_AB": 3.37,
"predicted_AVG": 0.24,
"predicted_BB": 0.397,
"predicted_H": 0.81,
"predicted_HR": 0.14,
"predicted_OBP": 0.311,
"predicted_R": 0.429,
"predicted_RBI": 0.5,
"predicted_SLG": 0.421,
"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.2251,
"predicted_3B": 0.0008,
"predicted_AB": 3.4245,
"predicted_AVG": 0.234,
"predicted_BB": 0.4016,
"predicted_H": 0.8017,
"predicted_HBP": 0.022,
"predicted_HR": 0.1496,
"predicted_OBP": 0.3109,
"predicted_R": 0.4294,
"predicted_RBI": 0.5158,
"predicted_SLG": 0.428,
"predicted_SO": 0.8731
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.206,
"after": 0.2251,
"delta": 0.0191,
"percent_delta": 0.0927,
"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": 3.37,
"after": 3.4245,
"delta": 0.0545,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.234,
"delta": -0.006,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.4016,
"delta": 0.0046,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 0.8017,
"delta": -0.0083,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1496,
"delta": 0.0096,
"percent_delta": 0.0686,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3109,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.4294,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.5158,
"delta": 0.0158,
"percent_delta": 0.0316,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.428,
"delta": 0.007,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.841,
"after": 0.8731,
"delta": 0.0321,
"percent_delta": 0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.37,
"after": 3.4245,
"delta": 0.0545,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.234,
"delta": -0.006,
"percent_delta": -0.025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2251,
"predicted_3B": 0.0008,
"predicted_AB": 3.4245,
"predicted_AVG": 0.2266,
"predicted_BB": 0.3976,
"predicted_H": 0.776,
"predicted_HBP": 0.022,
"predicted_HR": 0.1448,
"predicted_OBP": 0.3071,
"predicted_R": 0.4063,
"predicted_RBI": 0.4881,
"predicted_SLG": 0.4197,
"predicted_SO": 0.8817
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2251,
"after": 0.2251,
"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.4245,
"after": 3.4245,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2266,
"delta": -0.0074,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4016,
"after": 0.3976,
"delta": -0.004,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8017,
"after": 0.776,
"delta": -0.0257,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1496,
"after": 0.1448,
"delta": -0.0048,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3109,
"after": 0.3071,
"delta": -0.0038,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4294,
"after": 0.4063,
"delta": -0.0231,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5158,
"after": 0.4881,
"delta": -0.0277,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4197,
"delta": -0.0083,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8731,
"after": 0.8817,
"delta": 0.0086,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.428,
"after": 0.4197,
"delta": -0.0083,
"percent_delta": -0.0194,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.42), rates preserved: AVG=0.227 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2251,
"after": 0.0,
"delta": -0.2251,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4245,
"after": 3.0,
"delta": -0.4245,
"percent_delta": -0.124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3976,
"after": 0.0,
"delta": -0.3976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.776,
"after": 1.0,
"delta": 0.224,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1448,
"after": 0.0,
"delta": -0.1448,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4881,
"after": 0.0,
"delta": -0.4881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8817,
"after": 1.0,
"delta": 0.1183,
"percent_delta": 0.1342,
"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_H",
"before": 0.776,
"after": 1.0,
"delta": 0.224,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4881,
"after": 0.0,
"delta": -0.4881,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.4063,
"after": 0.0,
"delta": -0.4063,
"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.4063,
"after": 0.0,
"delta": -0.4063,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2266,
"after": 0.333,
"delta": 0.1064,
"percent_delta": 0.4695,
"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.3071,
"after": 0.333,
"delta": 0.0259,
"percent_delta": 0.0843,
"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.4197,
"after": 0.333,
"delta": -0.0867,
"percent_delta": -0.2066,
"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.2266,
"after": 0.333,
"delta": 0.1064,
"percent_delta": 0.4695,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4197,
"after": 0.333,
"delta": -0.0867,
"percent_delta": -0.2066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2266,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3071,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4197,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2266,
"delta": -0.1064,
"percent_delta": -0.3195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.3071,
"delta": -0.0259,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4197,
"delta": 0.0867,
"percent_delta": 0.2603,
"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.4197,
"delta": 0.0867,
"percent_delta": 0.2603,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2266,
"delta": -0.1064,
"percent_delta": -0.3195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.206,
"after": 0.0,
"delta": -0.206,
"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.37,
"after": 5.0,
"delta": 1.63,
"percent_delta": 0.4837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2266,
"delta": -0.0134,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 1.0,
"delta": 0.19,
"percent_delta": 0.2346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3071,
"delta": -0.0039,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.4197,
"delta": -0.0013,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.841,
"after": 0.0,
"delta": -0.841,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.37,
"after": 5.0,
"delta": 1.63,
"percent_delta": 0.4837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.841,
"after": 0.0,
"delta": -0.841,
"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.206 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.370 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.397 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.421 | - |
| 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.225 | 0.019 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.425 | 0.054 |
| predicted_AVG | 0.234 | -0.006 |
| predicted_BB | 0.402 | 0.005 |
| predicted_H | 0.802 | -0.008 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.150 | 0.010 |
| predicted_OBP | 0.311 | -0.000 |
| predicted_R | 0.429 | 0.000 |
| predicted_RBI | 0.516 | 0.016 |
| predicted_SLG | 0.428 | 0.007 |
| predicted_SO | 0.873 | 0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.425 | 0.000 |
| predicted_AVG | 0.227 | -0.007 |
| predicted_BB | 0.398 | -0.004 |
| predicted_H | 0.776 | -0.026 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.145 | -0.005 |
| predicted_OBP | 0.307 | -0.004 |
| predicted_R | 0.406 | -0.023 |
| predicted_RBI | 0.488 | -0.028 |
| predicted_SLG | 0.420 | -0.008 |
| predicted_SO | 0.882 | 0.009 |
AB rounded to 3 (raw=3.42), rates preserved: AVG=0.227 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.225 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.425 |
| predicted_AVG | 0.333 | 0.106 |
| predicted_BB | 0.000 | -0.398 |
| predicted_H | 1.000 | 0.224 |
| predicted_HR | 0.000 | -0.145 |
| predicted_OBP | 0.333 | 0.026 |
| predicted_R | 0.000 | -0.406 |
| predicted_RBI | 0.000 | -0.488 |
| predicted_SLG | 0.333 | -0.087 |
| predicted_SO | 1.000 | 0.118 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 5.000 | 2.000 | 0.000 | 1.000 | 4.000 | 2.000 | 2.000 | 5.000 | 0.2500 | 0.3182 | 0.5000 | 0.2500 | 0.0500 | 0.2000 | 0.1000 | 0.2500 |
| last_10 | 0.20 | 10 | - | 36.000 | 6.000 | 3.000 | 0.000 | 1.000 | 5.000 | 4.000 | 5.000 | 11.000 | 0.1667 | 0.2683 | 0.3333 | 0.1667 | 0.0278 | 0.1389 | 0.1389 | 0.3056 |
| season | 0.60 | 63 | - | 203.000 | 47.000 | 13.000 | 0.000 | 11.000 | 30.000 | 27.000 | 25.000 | 53.000 | 0.2315 | 0.3217 | 0.4581 | 0.2315 | 0.0542 | 0.1478 | 0.1231 | 0.2611 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2520 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5010 |
| predicted_AVG | 0.2255 |
| predicted_BB | 0.4080 |
| predicted_H | 0.7900 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.1630 |
| predicted_OBP | 0.3107 |
| predicted_R | 0.4300 |
| predicted_RBI | 0.5380 |
| predicted_SLG | 0.4378 |
| predicted_SO | 0.9180 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2060 | 0.2520 | 0.2251 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.3700 | 3.5010 | 3.4245 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2255 | 0.2340 | model_form_blend |
| predicted_BB | 0.3970 | 0.4080 | 0.4016 | model_form_blend |
| predicted_H | 0.8100 | 0.7900 | 0.8017 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1400 | 0.1630 | 0.1496 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3107 | 0.3109 | model_form_blend |
| predicted_R | 0.4290 | 0.4300 | 0.4294 | model_form_blend |
| predicted_RBI | 0.5000 | 0.5380 | 0.5158 | model_form_blend |
| predicted_SLG | 0.4210 | 0.4378 | 0.4280 | model_form_blend |
| predicted_SO | 0.8410 | 0.9180 | 0.8731 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 184 |
| Season rows before report date | 184 |
| Report year | 2026 |
| Profile rows used | 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.232 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260614_SD@BAL |
| game_type | full |
| mlbID | 657757 |
| playerID | 657757 |
| playerName | Gavin Sheets |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.342 |
| sl_xwoba | 0.327 |
| sl_xba | 0.239 |
| sl_xslg | 0.414 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 21.8 |
| 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.061 | 0.000 | 0.000 | Hitting_2B | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.690 | 5.000 | 4.000 | Hitting_AB | 3.676 | 3.000 | 1.324 | 2.000 |
| predicted_AVG | 0.234 | 0.200 | 0.250 | Hitting_AVG | 0.248 | 0.000 | -0.048 | 0.200 |
| predicted_BB | 0.394 | 0.000 | 0.000 | Hitting_BB | 0.392 | 1.000 | -0.392 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_H | 0.860 | 1.000 | 1.000 | Hitting_H | 0.910 | 0.000 | 0.090 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_OBP | 0.322 | 0.200 | 0.250 | Hitting_OBP | 0.320 | 0.250 | -0.120 | -0.050 |
| predicted_R | 0.439 | 0.000 | 0.000 | Hitting_R | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 0.000 | Hitting_RBI | 0.473 | 0.000 | -0.473 | 0.000 |
| predicted_SLG | 0.352 | 0.200 | 0.250 | Hitting_SLG | 0.374 | 0.000 | -0.174 | 0.200 |
| predicted_SO | 0.712 | 1.000 | 1.000 | Hitting_SO | 0.707 | 0.000 | 0.293 | 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.6900 -> 5.0000 (boost 1.3100, better) |
| Biggest Deboost | predicted_R: 0.4390 -> 0.0000 (deboost -0.4390, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 3.6900 -> 3.5539 (deboost -0.1361, 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.3244 -> 0.3020 (deboost -0.0224, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_AB: 3.5539 -> 4.0000 (boost 0.4461, better) | predicted_BB: 0.4138 -> 0.0000 (deboost -0.4138, worse) | AB rounded to 4 (raw=3.69), rates preserved: AVG=0.213 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4449 -> 0.0000 (deboost -0.4449, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2207 -> 0.2500 (boost 0.0293, better) | predicted_SLG: 0.3166 -> 0.2500 (deboost -0.0666, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3166 (boost 0.0666, better) | predicted_AVG: 0.2500 -> 0.2207 (deboost -0.0293, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "593428",
"player_name": "Xander Bogaerts",
"position": "SS",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.061,
"predicted_3B": 0.0,
"predicted_AB": 3.69,
"predicted_AVG": 0.234,
"predicted_BB": 0.394,
"predicted_H": 0.86,
"predicted_HR": 0.1,
"predicted_OBP": 0.322,
"predicted_R": 0.439,
"predicted_RBI": 0.36,
"predicted_SLG": 0.352,
"predicted_SO": 0.712
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0812,
"predicted_3B": 0.0004,
"predicted_AB": 3.5539,
"predicted_AVG": 0.2283,
"predicted_BB": 0.4179,
"predicted_H": 0.8104,
"predicted_HBP": 0.099,
"predicted_HR": 0.0891,
"predicted_OBP": 0.3244,
"predicted_R": 0.4701,
"predicted_RBI": 0.3247,
"predicted_SLG": 0.3384,
"predicted_SO": 0.7091
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.061,
"after": 0.0812,
"delta": 0.0202,
"percent_delta": 0.3311,
"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.69,
"after": 3.5539,
"delta": -0.1361,
"percent_delta": -0.0369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2283,
"delta": -0.0057,
"percent_delta": -0.0244,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.4179,
"delta": 0.0239,
"percent_delta": 0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.8104,
"delta": -0.0496,
"percent_delta": -0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0891,
"delta": -0.0109,
"percent_delta": -0.109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3244,
"delta": 0.0024,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.4701,
"delta": 0.0311,
"percent_delta": 0.0708,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3247,
"delta": -0.0353,
"percent_delta": -0.0981,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3384,
"delta": -0.0136,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.712,
"after": 0.7091,
"delta": -0.0029,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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": 3.69,
"after": 3.5539,
"delta": -0.1361,
"percent_delta": -0.0369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0812,
"predicted_3B": 0.0004,
"predicted_AB": 3.5539,
"predicted_AVG": 0.2207,
"predicted_BB": 0.4138,
"predicted_H": 0.7845,
"predicted_HBP": 0.099,
"predicted_HR": 0.0863,
"predicted_OBP": 0.302,
"predicted_R": 0.4449,
"predicted_RBI": 0.3073,
"predicted_SLG": 0.3166,
"predicted_SO": 0.7161
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0812,
"after": 0.0812,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5539,
"after": 3.5539,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2283,
"after": 0.2207,
"delta": -0.0076,
"percent_delta": -0.0333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4179,
"after": 0.4138,
"delta": -0.0041,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8104,
"after": 0.7845,
"delta": -0.0259,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.099,
"after": 0.099,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0891,
"after": 0.0863,
"delta": -0.0028,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3244,
"after": 0.302,
"delta": -0.0224,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4701,
"after": 0.4449,
"delta": -0.0252,
"percent_delta": -0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3247,
"after": 0.3073,
"delta": -0.0174,
"percent_delta": -0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3384,
"after": 0.3166,
"delta": -0.0218,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7091,
"after": 0.7161,
"delta": 0.007,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3244,
"after": 0.302,
"delta": -0.0224,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.69), rates preserved: AVG=0.213 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0812,
"after": 0.0,
"delta": -0.0812,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5539,
"after": 4.0,
"delta": 0.4461,
"percent_delta": 0.1255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4138,
"after": 0.0,
"delta": -0.4138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7845,
"after": 1.0,
"delta": 0.2155,
"percent_delta": 0.2747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.099,
"after": 0.0,
"delta": -0.099,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0863,
"after": 0.0,
"delta": -0.0863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3073,
"after": 0.0,
"delta": -0.3073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7161,
"after": 1.0,
"delta": 0.2839,
"percent_delta": 0.3965,
"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": 3.5539,
"after": 4.0,
"delta": 0.4461,
"percent_delta": 0.1255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4138,
"after": 0.0,
"delta": -0.4138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8927,
"bvp": 0.1073
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.4449,
"after": 0.0,
"delta": -0.4449,
"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.4449,
"after": 0.0,
"delta": -0.4449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.25,
"delta": 0.0293,
"percent_delta": 0.1328,
"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.302,
"after": 0.25,
"delta": -0.052,
"percent_delta": -0.1722,
"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.3166,
"after": 0.25,
"delta": -0.0666,
"percent_delta": -0.2104,
"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.2207,
"after": 0.25,
"delta": 0.0293,
"percent_delta": 0.1328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3166,
"after": 0.25,
"delta": -0.0666,
"percent_delta": -0.2104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": 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": 5.0,
"predicted_AVG": 0.2207,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.302,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3166,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2207,
"delta": -0.0293,
"percent_delta": -0.1171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.302,
"delta": 0.052,
"percent_delta": 0.208,
"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.3166,
"delta": 0.0666,
"percent_delta": 0.2665,
"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.3166,
"delta": 0.0666,
"percent_delta": 0.2665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2207,
"delta": -0.0293,
"percent_delta": -0.1171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.061,
"after": 0.0,
"delta": -0.061,
"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": 5.0,
"delta": 1.31,
"percent_delta": 0.355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2207,
"delta": -0.0133,
"percent_delta": -0.0568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 1.0,
"delta": 0.14,
"percent_delta": 0.1628,
"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.322,
"after": 0.302,
"delta": -0.02,
"percent_delta": -0.0621,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"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.352,
"after": 0.3166,
"delta": -0.0354,
"percent_delta": -0.1006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.712,
"after": 1.0,
"delta": 0.288,
"percent_delta": 0.4045,
"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.69,
"after": 5.0,
"delta": 1.31,
"percent_delta": 0.355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"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.061 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.690 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.394 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.439 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.352 | - |
| predicted_SO | 0.712 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.081 | 0.020 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.554 | -0.136 |
| predicted_AVG | 0.228 | -0.006 |
| predicted_BB | 0.418 | 0.024 |
| predicted_H | 0.810 | -0.050 |
| predicted_HBP | 0.099 | - |
| predicted_HR | 0.089 | -0.011 |
| predicted_OBP | 0.324 | 0.002 |
| predicted_R | 0.470 | 0.031 |
| predicted_RBI | 0.325 | -0.035 |
| predicted_SLG | 0.338 | -0.014 |
| predicted_SO | 0.709 | -0.003 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.081 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.554 | 0.000 |
| predicted_AVG | 0.221 | -0.008 |
| predicted_BB | 0.414 | -0.004 |
| predicted_H | 0.784 | -0.026 |
| predicted_HBP | 0.099 | 0.000 |
| predicted_HR | 0.086 | -0.003 |
| predicted_OBP | 0.302 | -0.022 |
| predicted_R | 0.445 | -0.025 |
| predicted_RBI | 0.307 | -0.017 |
| predicted_SLG | 0.317 | -0.022 |
| predicted_SO | 0.716 | 0.007 |
AB rounded to 4 (raw=3.69), rates preserved: AVG=0.213 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=11.0, weight=0.107, BvP AVG=0.182)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.081 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.446 |
| predicted_AVG | 0.250 | 0.029 |
| predicted_BB | 0.000 | -0.414 |
| predicted_H | 1.000 | 0.216 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.250 | -0.052 |
| predicted_R | 0.000 | -0.445 |
| predicted_RBI | 0.000 | -0.307 |
| predicted_SLG | 0.250 | -0.067 |
| predicted_SO | 1.000 | 0.284 |
Attached 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 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 2.000 | 0.2667 | 0.4211 | 0.3333 | 0.2667 | 0.0000 | 0.0000 | 0.2000 | 0.1333 |
| last_10 | 0.20 | 10 | - | 30.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 9.000 | 0.1333 | 0.2973 | 0.1667 | 0.1333 | 0.0000 | 0.0333 | 0.1667 | 0.3000 |
| season | 0.60 | 66 | - | 232.000 | 53.000 | 4.000 | 0.000 | 8.000 | 27.000 | 29.000 | 26.000 | 47.000 | 0.2284 | 0.3092 | 0.3491 | 0.2284 | 0.0345 | 0.1164 | 0.1121 | 0.2026 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1090 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.3660 |
| predicted_AVG | 0.2205 |
| predicted_BB | 0.4510 |
| predicted_H | 0.7420 |
| predicted_HBP | 0.0990 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.3276 |
| predicted_R | 0.5130 |
| predicted_RBI | 0.2760 |
| predicted_SLG | 0.3197 |
| predicted_SO | 0.7050 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0610 | 0.1090 | 0.0812 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.6900 | 3.3660 | 3.5539 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2205 | 0.2283 | model_form_blend |
| predicted_BB | 0.3940 | 0.4510 | 0.4179 | model_form_blend |
| predicted_H | 0.8600 | 0.7420 | 0.8104 | model_form_blend |
| predicted_HBP | - | 0.0990 | 0.0990 | form_only |
| predicted_HR | 0.1000 | 0.0740 | 0.0891 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3276 | 0.3244 | model_form_blend |
| predicted_R | 0.4390 | 0.5130 | 0.4701 | model_form_blend |
| predicted_RBI | 0.3600 | 0.2760 | 0.3247 | model_form_blend |
| predicted_SLG | 0.3520 | 0.3197 | 0.3384 | model_form_blend |
| predicted_SO | 0.7120 | 0.7050 | 0.7091 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.228 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 1 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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 | 20260614_SD@BAL |
| game_type | full |
| mlbID | 593428 |
| playerID | 593428 |
| playerName | Xander Bogaerts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.3 |
| sl_xwoba | 0.324 |
| sl_xba | 0.253 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 22.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_2B | 0.278 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 1.800 | 1.000 | 2.200 | 3.000 |
| predicted_AVG | 0.332 | 0.000 | 0.333 | Hitting_AVG | 0.444 | 0.000 | -0.444 | 0.000 |
| predicted_BB | 1.389 | 1.000 | 1.000 | Hitting_BB | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.610 | 0.000 | 1.000 | Hitting_H | 0.800 | 0.000 | -0.800 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.387 | 0.200 | 0.500 | Hitting_OBP | 0.643 | 0.500 | -0.443 | -0.300 |
| predicted_R | 0.556 | 0.000 | 1.000 | Hitting_R | 0.400 | 2.000 | -0.400 | -2.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.434 | 0.000 | 0.333 | Hitting_SLG | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_SO | 0.556 | 1.000 | 1.000 | Hitting_SO | 0.400 | 0.000 | 0.600 | 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: 2.5000 -> 4.0000 (boost 1.5000, 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 | 6 | 4 | 2 | 4 | 2 | predicted_AB: 2.5000 -> 2.6777 (boost 0.1777, better) | predicted_BB: 1.3890 -> 1.2254 (deboost -0.1636, 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.3948 -> 0.4880 (boost 0.0932, better) | predicted_AVG: 0.3270 -> 0.2560 (deboost -0.0710, 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: 0.6002 -> 1.0000 (boost 0.3998, worse) | predicted_2B: 0.2635 -> 0.0000 (deboost -0.2635, worse) | AB rounded to 3 (raw=2.68), rates preserved: AVG=0.256 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5150 -> 1.0000 (boost 0.4850, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2560 -> 0.3330 (boost 0.0770, better) | predicted_SLG: 0.4333 -> 0.3330 (deboost -0.1003, 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4333 (boost 0.1003, better) | predicted_AVG: 0.3330 -> 0.2560 (deboost -0.0770, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695238",
"player_name": "Will Wagner",
"position": "3B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.278,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.332,
"predicted_BB": 1.389,
"predicted_H": 0.61,
"predicted_HR": 0.07,
"predicted_OBP": 0.387,
"predicted_R": 0.556,
"predicted_RBI": 0.27,
"predicted_SLG": 0.434,
"predicted_SO": 0.556
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2635,
"predicted_3B": 0.002,
"predicted_AB": 2.6777,
"predicted_AVG": 0.327,
"predicted_BB": 1.2254,
"predicted_H": 0.7082,
"predicted_HBP": 0.02,
"predicted_HR": 0.0713,
"predicted_OBP": 0.3948,
"predicted_R": 0.5442,
"predicted_RBI": 0.2745,
"predicted_SLG": 0.4395,
"predicted_SO": 0.5943
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.278,
"after": 0.2635,
"delta": -0.0145,
"percent_delta": -0.0522,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.002,
"delta": 0.002,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6777,
"delta": 0.1777,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.332,
"after": 0.327,
"delta": -0.005,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.389,
"after": 1.2254,
"delta": -0.1636,
"percent_delta": -0.1178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.7082,
"delta": 0.0982,
"percent_delta": 0.161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0713,
"delta": 0.0013,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.387,
"after": 0.3948,
"delta": 0.0078,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.5442,
"delta": -0.0118,
"percent_delta": -0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.2745,
"delta": 0.0045,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4395,
"delta": 0.0055,
"percent_delta": 0.0127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.5943,
"delta": 0.0383,
"percent_delta": 0.0689,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.6777,
"delta": 0.1777,
"percent_delta": 0.0711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.389,
"after": 1.2254,
"delta": -0.1636,
"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": 5,
"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.2635,
"predicted_3B": 0.002,
"predicted_AB": 2.6777,
"predicted_AVG": 0.256,
"predicted_BB": 1.2133,
"predicted_H": 0.6855,
"predicted_HBP": 0.02,
"predicted_HR": 0.069,
"predicted_OBP": 0.488,
"predicted_R": 0.515,
"predicted_RBI": 0.2598,
"predicted_SLG": 0.4333,
"predicted_SO": 0.6002
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2635,
"after": 0.2635,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6777,
"after": 2.6777,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.327,
"after": 0.256,
"delta": -0.071,
"percent_delta": -0.2171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2254,
"after": 1.2133,
"delta": -0.0121,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7082,
"after": 0.6855,
"delta": -0.0227,
"percent_delta": -0.0321,
"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.0713,
"after": 0.069,
"delta": -0.0023,
"percent_delta": -0.0323,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3948,
"after": 0.488,
"delta": 0.0932,
"percent_delta": 0.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5442,
"after": 0.515,
"delta": -0.0292,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2745,
"after": 0.2598,
"delta": -0.0147,
"percent_delta": -0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4395,
"after": 0.4333,
"delta": -0.0062,
"percent_delta": -0.0141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5943,
"after": 0.6002,
"delta": 0.0059,
"percent_delta": 0.0099,
"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.3948,
"after": 0.488,
"delta": 0.0932,
"percent_delta": 0.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.327,
"after": 0.256,
"delta": -0.071,
"percent_delta": -0.2171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.68), rates preserved: AVG=0.256 HR/AB=0.026",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2635,
"after": 0.0,
"delta": -0.2635,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.6777,
"after": 3.0,
"delta": 0.3223,
"percent_delta": 0.1204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2133,
"after": 1.0,
"delta": -0.2133,
"percent_delta": -0.1758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6855,
"after": 1.0,
"delta": 0.3145,
"percent_delta": 0.4588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2598,
"after": 0.0,
"delta": -0.2598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6002,
"after": 1.0,
"delta": 0.3998,
"percent_delta": 0.6661,
"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": 0.6002,
"after": 1.0,
"delta": 0.3998,
"percent_delta": 0.6661,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2635,
"after": 0.0,
"delta": -0.2635,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"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.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"predicted_R": 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.256,
"after": 0.333,
"delta": 0.077,
"percent_delta": 0.3008,
"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.488,
"after": 0.5,
"delta": 0.012,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4333,
"after": 0.333,
"delta": -0.1003,
"percent_delta": -0.2315,
"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.256,
"after": 0.333,
"delta": 0.077,
"percent_delta": 0.3008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4333,
"after": 0.333,
"delta": -0.1003,
"percent_delta": -0.2315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"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.256,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.488,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4333,
"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.333,
"after": 0.256,
"delta": -0.077,
"percent_delta": -0.2312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.488,
"delta": -0.012,
"percent_delta": -0.024,
"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.4333,
"delta": 0.1003,
"percent_delta": 0.3011,
"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.4333,
"delta": 0.1003,
"percent_delta": 0.3011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.256,
"delta": -0.077,
"percent_delta": -0.2312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"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.332,
"after": 0.256,
"delta": -0.076,
"percent_delta": -0.2289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.389,
"after": 1.0,
"delta": -0.389,
"percent_delta": -0.2801,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.387,
"after": 0.488,
"delta": 0.101,
"percent_delta": 0.261,
"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.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4333,
"delta": -0.0007,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"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.278 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.332 | - |
| predicted_BB | 1.389 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.387 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.434 | - |
| predicted_SO | 0.556 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.264 | -0.015 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.678 | 0.178 |
| predicted_AVG | 0.327 | -0.005 |
| predicted_BB | 1.225 | -0.164 |
| predicted_H | 0.708 | 0.098 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.071 | 0.001 |
| predicted_OBP | 0.395 | 0.008 |
| predicted_R | 0.544 | -0.012 |
| predicted_RBI | 0.275 | 0.005 |
| predicted_SLG | 0.440 | 0.006 |
| predicted_SO | 0.594 | 0.038 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.264 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.678 | 0.000 |
| predicted_AVG | 0.256 | -0.071 |
| predicted_BB | 1.213 | -0.012 |
| predicted_H | 0.685 | -0.023 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.069 | -0.002 |
| predicted_OBP | 0.488 | 0.093 |
| predicted_R | 0.515 | -0.029 |
| predicted_RBI | 0.260 | -0.015 |
| predicted_SLG | 0.433 | -0.006 |
| predicted_SO | 0.600 | 0.006 |
AB rounded to 3 (raw=2.68), rates preserved: AVG=0.256 HR/AB=0.026
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 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.264 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.322 |
| predicted_AVG | 0.333 | 0.077 |
| predicted_BB | 1.000 | -0.213 |
| predicted_H | 1.000 | 0.315 |
| predicted_HR | 0.000 | -0.069 |
| predicted_OBP | 0.500 | 0.012 |
| predicted_R | 1.000 | 0.485 |
| predicted_RBI | 0.000 | -0.260 |
| predicted_SLG | 0.333 | -0.100 |
| predicted_SO | 1.000 | 0.400 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 9.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 0.4444 | 0.6429 | 0.5556 | 0.4444 | 0.0000 | 0.0000 | 0.5556 | 0.2222 |
| last_10 | 0.20 | 5 | - | 9.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 0.4444 | 0.6429 | 0.5556 | 0.4444 | 0.0000 | 0.0000 | 0.5556 | 0.2222 |
| season | 0.60 | 5 | - | 9.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 2.000 | 0.4444 | 0.6429 | 0.5556 | 0.4444 | 0.0000 | 0.0000 | 0.5556 | 0.2222 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2200 |
| predicted_3B | 0.0080 |
| predicted_AB | 3.2090 |
| predicted_AVG | 0.3122 |
| predicted_BB | 0.7360 |
| predicted_H | 1.0020 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.0750 |
| predicted_OBP | 0.4183 |
| predicted_R | 0.5090 |
| predicted_RBI | 0.2880 |
| predicted_SLG | 0.4560 |
| predicted_SO | 0.7090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2780 | 0.2200 | 0.2635 | model_form_blend |
| predicted_3B | 0.0000 | 0.0080 | 0.0020 | model_form_blend |
| predicted_AB | 2.5000 | 3.2090 | 2.6777 | model_form_blend |
| predicted_AVG | 0.3320 | 0.3122 | 0.3270 | model_form_blend |
| predicted_BB | 1.3890 | 0.7360 | 1.2254 | model_form_blend |
| predicted_H | 0.6100 | 1.0020 | 0.7082 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.0700 | 0.0750 | 0.0713 | model_form_blend |
| predicted_OBP | 0.3870 | 0.4183 | 0.3948 | model_form_blend |
| predicted_R | 0.5560 | 0.5090 | 0.5442 | model_form_blend |
| predicted_RBI | 0.2700 | 0.2880 | 0.2745 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4560 | 0.4395 | model_form_blend |
| predicted_SO | 0.5560 | 0.7090 | 0.5943 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 5 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.444 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260614_SD@BAL |
| game_type | ph |
| mlbID | 695238 |
| note | Walked for Solak in the 7th. |
| playerID | 695238 |
| playerName | Will Wagner |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 33.3 |
| sl_woba | 0.563 |
| sl_xwoba | 0.441 |
| sl_xba | 0.337 |
| sl_xslg | 0.379 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 0.0 |
| sl_exit_velocity_avg | 80.7 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 21.1 |
| sl_swing_percent | 34.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.116 | 0.000 | 0.000 | Hitting_2B | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_3B | 0.047 | 0.000 | 0.000 | Hitting_3B | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_AB | 3.070 | 4.000 | 3.000 | Hitting_AB | 3.231 | 3.000 | 0.769 | 1.000 |
| predicted_AVG | 0.247 | 0.250 | 0.333 | Hitting_AVG | 0.283 | 0.000 | -0.033 | 0.250 |
| predicted_BB | 0.186 | 1.000 | 0.000 | Hitting_BB | 0.145 | 0.000 | 0.855 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.915 | 0.000 | 0.085 | 1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.171 | 0.000 | -0.171 | 0.000 |
| predicted_OBP | 0.294 | 0.400 | 0.333 | Hitting_OBP | 0.323 | 0.250 | 0.078 | 0.150 |
| predicted_R | 0.349 | 0.000 | 0.000 | Hitting_R | 0.376 | 1.000 | -0.376 | -1.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.521 | 0.000 | -0.521 | 0.000 |
| predicted_SLG | 0.364 | 0.250 | 0.333 | Hitting_SLG | 0.511 | 0.000 | -0.261 | 0.250 |
| predicted_SO | 0.837 | 0.000 | 1.000 | Hitting_SO | 0.795 | 3.000 | -0.795 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.0700 -> 4.0000 (boost 0.9300, better) |
| Biggest Deboost | predicted_SO: 0.8370 -> 0.0000 (deboost -0.8370, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.8370 -> 0.8996 (boost 0.0626, worse) | predicted_AVG: 0.2470 -> 0.2316 (deboost -0.0154, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2914 -> 0.2578 (deboost -0.0336, 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_H: 0.6369 -> 1.0000 (boost 0.3631, better) | predicted_RBI: 0.2869 -> 0.0000 (deboost -0.2869, worse) | AB rounded to 3 (raw=3.07), rates preserved: AVG=0.207 HR/AB=0.028 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3257 -> 0.0000 (deboost -0.3257, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2075 -> 0.3330 (boost 0.1255, better) | predicted_SLG: 0.3525 -> 0.3330 (deboost -0.0195, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3525 (boost 0.0195, better) | predicted_AVG: 0.3330 -> 0.2075 (deboost -0.1255, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "664034",
"player_name": "Ty France",
"position": "1B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.116,
"predicted_3B": 0.047,
"predicted_AB": 3.07,
"predicted_AVG": 0.247,
"predicted_BB": 0.186,
"predicted_H": 0.67,
"predicted_HR": 0.09,
"predicted_OBP": 0.294,
"predicted_R": 0.349,
"predicted_RBI": 0.32,
"predicted_SLG": 0.364,
"predicted_SO": 0.837
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1108,
"predicted_3B": 0.0382,
"predicted_AB": 3.07,
"predicted_AVG": 0.2316,
"predicted_BB": 0.2103,
"predicted_H": 0.658,
"predicted_HBP": 0.086,
"predicted_HR": 0.0888,
"predicted_OBP": 0.2914,
"predicted_R": 0.3442,
"predicted_RBI": 0.3032,
"predicted_SLG": 0.3559,
"predicted_SO": 0.8996
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.116,
"after": 0.1108,
"delta": -0.0052,
"percent_delta": -0.0448,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0382,
"delta": -0.0088,
"percent_delta": -0.1872,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.07,
"after": 3.07,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2316,
"delta": -0.0154,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 0.2103,
"delta": 0.0243,
"percent_delta": 0.1306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.658,
"delta": -0.012,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0888,
"delta": -0.0012,
"percent_delta": -0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2914,
"delta": -0.0026,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.349,
"after": 0.3442,
"delta": -0.0048,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3032,
"delta": -0.0168,
"percent_delta": -0.0525,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3559,
"delta": -0.0081,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.837,
"after": 0.8996,
"delta": 0.0626,
"percent_delta": 0.0748,
"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.837,
"after": 0.8996,
"delta": 0.0626,
"percent_delta": 0.0748,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2316,
"delta": -0.0154,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1108,
"predicted_3B": 0.0382,
"predicted_AB": 3.07,
"predicted_AVG": 0.2075,
"predicted_BB": 0.2082,
"predicted_H": 0.6369,
"predicted_HBP": 0.086,
"predicted_HR": 0.086,
"predicted_OBP": 0.2578,
"predicted_R": 0.3257,
"predicted_RBI": 0.2869,
"predicted_SLG": 0.3525,
"predicted_SO": 0.9085
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1108,
"after": 0.1108,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0382,
"after": 0.0382,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.07,
"after": 3.07,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2316,
"after": 0.2075,
"delta": -0.0241,
"percent_delta": -0.1041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2103,
"after": 0.2082,
"delta": -0.0021,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.658,
"after": 0.6369,
"delta": -0.0211,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.086,
"after": 0.086,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0888,
"after": 0.086,
"delta": -0.0028,
"percent_delta": -0.0315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2914,
"after": 0.2578,
"delta": -0.0336,
"percent_delta": -0.1153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3442,
"after": 0.3257,
"delta": -0.0185,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3032,
"after": 0.2869,
"delta": -0.0163,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3559,
"after": 0.3525,
"delta": -0.0034,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8996,
"after": 0.9085,
"delta": 0.0089,
"percent_delta": 0.0099,
"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.2914,
"after": 0.2578,
"delta": -0.0336,
"percent_delta": -0.1153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.07), rates preserved: AVG=0.207 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1108,
"after": 0.0,
"delta": -0.1108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0382,
"after": 0.0,
"delta": -0.0382,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.07,
"after": 3.0,
"delta": -0.07,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2082,
"after": 0.0,
"delta": -0.2082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6369,
"after": 1.0,
"delta": 0.3631,
"percent_delta": 0.5701,
"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.086,
"after": 0.0,
"delta": -0.086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2869,
"after": 0.0,
"delta": -0.2869,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9085,
"after": 1.0,
"delta": 0.0915,
"percent_delta": 0.1007,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6369,
"after": 1.0,
"delta": 0.3631,
"percent_delta": 0.5701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2869,
"after": 0.0,
"delta": -0.2869,
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.3257,
"after": 0.0,
"delta": -0.3257,
"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.3257,
"after": 0.0,
"delta": -0.3257,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2075,
"after": 0.333,
"delta": 0.1255,
"percent_delta": 0.6048,
"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.2578,
"after": 0.333,
"delta": 0.0752,
"percent_delta": 0.2917,
"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.3525,
"after": 0.333,
"delta": -0.0195,
"percent_delta": -0.0553,
"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.2075,
"after": 0.333,
"delta": 0.1255,
"percent_delta": 0.6048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3525,
"after": 0.333,
"delta": -0.0195,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"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": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2075,
"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.2578,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3525,
"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.2075,
"delta": -0.1255,
"percent_delta": -0.377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2578,
"delta": -0.0752,
"percent_delta": -0.2258,
"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.3525,
"delta": 0.0195,
"percent_delta": 0.0584,
"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.3525,
"delta": 0.0195,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2075,
"delta": -0.1255,
"percent_delta": -0.377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.116,
"after": 0.0,
"delta": -0.116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.047,
"after": 0.0,
"delta": -0.047,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.07,
"after": 4.0,
"delta": 0.93,
"percent_delta": 0.3029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2075,
"delta": -0.0395,
"percent_delta": -0.1599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.186,
"after": 1.0,
"delta": 0.814,
"percent_delta": 4.3763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.2578,
"delta": -0.0362,
"percent_delta": -0.1231,
"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.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.364,
"after": 0.3525,
"delta": -0.0115,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.837,
"after": 0.0,
"delta": -0.837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.07,
"after": 4.0,
"delta": 0.93,
"percent_delta": 0.3029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.837,
"after": 0.0,
"delta": -0.837,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.116 | - |
| predicted_3B | 0.047 | - |
| predicted_AB | 3.070 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.186 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.349 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.364 | - |
| predicted_SO | 0.837 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | -0.005 |
| predicted_3B | 0.038 | -0.009 |
| predicted_AB | 3.070 | 0.000 |
| predicted_AVG | 0.232 | -0.015 |
| predicted_BB | 0.210 | 0.024 |
| predicted_H | 0.658 | -0.012 |
| predicted_HBP | 0.086 | - |
| predicted_HR | 0.089 | -0.001 |
| predicted_OBP | 0.291 | -0.003 |
| predicted_R | 0.344 | -0.005 |
| predicted_RBI | 0.303 | -0.017 |
| predicted_SLG | 0.356 | -0.008 |
| predicted_SO | 0.900 | 0.063 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 3.070 | 0.000 |
| predicted_AVG | 0.207 | -0.024 |
| predicted_BB | 0.208 | -0.002 |
| predicted_H | 0.637 | -0.021 |
| predicted_HBP | 0.086 | 0.000 |
| predicted_HR | 0.086 | -0.003 |
| predicted_OBP | 0.258 | -0.034 |
| predicted_R | 0.326 | -0.019 |
| predicted_RBI | 0.287 | -0.016 |
| predicted_SLG | 0.352 | -0.003 |
| predicted_SO | 0.908 | 0.009 |
AB rounded to 3 (raw=3.07), rates preserved: AVG=0.207 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.111 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 3.000 | -0.070 |
| predicted_AVG | 0.333 | 0.126 |
| predicted_BB | 0.000 | -0.208 |
| predicted_H | 1.000 | 0.363 |
| predicted_HR | 0.000 | -0.086 |
| predicted_OBP | 0.333 | 0.075 |
| predicted_R | 0.000 | -0.326 |
| predicted_RBI | 0.000 | -0.287 |
| predicted_SLG | 0.333 | -0.019 |
| predicted_SO | 1.000 | 0.092 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 7.000 | 0.0769 | 0.2000 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.0769 | 0.5385 |
| last_10 | 0.20 | 10 | - | 27.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 10.000 | 0.1481 | 0.2812 | 0.1852 | 0.1482 | 0.0000 | 0.0000 | 0.1482 | 0.3704 |
| season | 0.60 | 43 | - | 132.000 | 34.000 | 5.000 | 2.000 | 6.000 | 18.000 | 15.000 | 8.000 | 36.000 | 0.2576 | 0.3099 | 0.4621 | 0.2576 | 0.0454 | 0.1364 | 0.0606 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1030 |
| predicted_3B | 0.0250 |
| predicted_AB | 3.0700 |
| predicted_AVG | 0.2084 |
| predicted_BB | 0.2470 |
| predicted_H | 0.6400 |
| predicted_HBP | 0.0860 |
| predicted_HR | 0.0870 |
| predicted_OBP | 0.2876 |
| predicted_R | 0.3370 |
| predicted_RBI | 0.2780 |
| predicted_SLG | 0.3436 |
| predicted_SO | 0.9940 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1160 | 0.1030 | 0.1108 | model_form_blend |
| predicted_3B | 0.0470 | 0.0250 | 0.0382 | model_form_blend |
| predicted_AB | 3.0700 | 3.0700 | 3.0700 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2084 | 0.2316 | model_form_blend |
| predicted_BB | 0.1860 | 0.2470 | 0.2103 | model_form_blend |
| predicted_H | 0.6700 | 0.6400 | 0.6580 | model_form_blend |
| predicted_HBP | - | 0.0860 | 0.0860 | form_only |
| predicted_HR | 0.0900 | 0.0870 | 0.0888 | model_form_blend |
| predicted_OBP | 0.2940 | 0.2876 | 0.2914 | model_form_blend |
| predicted_R | 0.3490 | 0.3370 | 0.3442 | model_form_blend |
| predicted_RBI | 0.3200 | 0.2780 | 0.3032 | model_form_blend |
| predicted_SLG | 0.3640 | 0.3436 | 0.3559 | model_form_blend |
| predicted_SO | 0.8370 | 0.9940 | 0.8996 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 117 |
| Season rows before report date | 117 |
| Report year | 2026 |
| Profile rows used | 43 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260612_SD@BAL |
| game_type | full |
| mlbID | 664034 |
| playerID | 664034 |
| playerName | Ty France |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-12 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.334 |
| sl_xwoba | 0.318 |
| sl_xba | 0.246 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 6.8 |
| sl_whiff_percent | 30.2 |
| sl_swing_percent | 53.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.060 | 0.000 | 0.000 | Hitting_2B | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.211 | 2.000 | 1.789 | 2.000 |
| predicted_AVG | 0.282 | 0.250 | 0.333 | Hitting_AVG | 0.202 | 0.000 | 0.048 | 0.250 |
| predicted_BB | 0.357 | 0.000 | 0.000 | Hitting_BB | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_H | 0.190 | 1.000 | 1.000 | Hitting_H | 0.447 | 0.000 | 0.553 | 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.250 | 0.333 | Hitting_OBP | 0.302 | 0.000 | -0.052 | 0.250 |
| predicted_R | 0.298 | 0.000 | 0.000 | Hitting_R | 0.342 | 0.000 | -0.342 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_SLG | 0.312 | 0.250 | 0.333 | Hitting_SLG | 0.250 | 0.000 | 0.000 | 0.250 |
| predicted_SO | 0.655 | 0.000 | 1.000 | Hitting_SO | 0.500 | 0.000 | -0.500 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_SO: 0.6550 -> 0.0000 (deboost -0.6550, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 3 | 2 | predicted_AB: 2.5000 -> 2.7028 (boost 0.2028, better) | predicted_AVG: 0.2820 -> 0.2618 (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_AVG: 0.2618 -> 0.1284 (deboost -0.1334, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6990 -> 1.0000 (boost 0.3010, worse) | predicted_H: 0.3469 -> 0.0000 (deboost -0.3469, worse) | AB rounded to 3 (raw=2.70), rates preserved: AVG=0.128 HR/AB=0.010 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3043 -> 0.0000 (deboost -0.3043, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1284 -> 0.3330 (boost 0.2046, 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_AB: 3.0000 -> 4.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.1284 (deboost -0.2046, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "823550",
"player_name": "Sung-Mun Song",
"position": "2B",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.06,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.282,
"predicted_BB": 0.357,
"predicted_H": 0.19,
"predicted_HR": 0.02,
"predicted_OBP": 0.283,
"predicted_R": 0.298,
"predicted_RBI": 0.12,
"predicted_SLG": 0.312,
"predicted_SO": 0.655
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0688,
"predicted_3B": 0.0017,
"predicted_AB": 2.7028,
"predicted_AVG": 0.2618,
"predicted_BB": 0.3462,
"predicted_H": 0.3584,
"predicted_HBP": 0.011,
"predicted_HR": 0.0271,
"predicted_OBP": 0.2886,
"predicted_R": 0.3216,
"predicted_RBI": 0.1693,
"predicted_SLG": 0.3052,
"predicted_SO": 0.6921
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.06,
"after": 0.0688,
"delta": 0.0088,
"percent_delta": 0.1467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0017,
"delta": 0.0017,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7028,
"delta": 0.2028,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2618,
"delta": -0.0202,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.3462,
"delta": -0.0108,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.3584,
"delta": 0.1684,
"percent_delta": 0.8863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.02,
"after": 0.0271,
"delta": 0.0071,
"percent_delta": 0.355,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.283,
"after": 0.2886,
"delta": 0.0056,
"percent_delta": 0.0198,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.298,
"after": 0.3216,
"delta": 0.0236,
"percent_delta": 0.0792,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.1693,
"delta": 0.0493,
"percent_delta": 0.4108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.312,
"after": 0.3052,
"delta": -0.0068,
"percent_delta": -0.0218,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.655,
"after": 0.6921,
"delta": 0.0371,
"percent_delta": 0.0566,
"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_AB",
"before": 2.5,
"after": 2.7028,
"delta": 0.2028,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2618,
"delta": -0.0202,
"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": 5,
"last_10": 10,
"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.0688,
"predicted_3B": 0.0017,
"predicted_AB": 2.7028,
"predicted_AVG": 0.1284,
"predicted_BB": 0.3428,
"predicted_H": 0.3469,
"predicted_HBP": 0.011,
"predicted_HR": 0.0262,
"predicted_OBP": 0.2265,
"predicted_R": 0.3043,
"predicted_RBI": 0.1602,
"predicted_SLG": 0.1842,
"predicted_SO": 0.699
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0688,
"after": 0.0688,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0017,
"after": 0.0017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7028,
"after": 2.7028,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2618,
"after": 0.1284,
"delta": -0.1334,
"percent_delta": -0.5095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3462,
"after": 0.3428,
"delta": -0.0034,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.3584,
"after": 0.3469,
"delta": -0.0115,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0271,
"after": 0.0262,
"delta": -0.0009,
"percent_delta": -0.0332,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2886,
"after": 0.2265,
"delta": -0.0621,
"percent_delta": -0.2152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3216,
"after": 0.3043,
"delta": -0.0173,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1693,
"after": 0.1602,
"delta": -0.0091,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3052,
"after": 0.1842,
"delta": -0.121,
"percent_delta": -0.3965,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6921,
"after": 0.699,
"delta": 0.0069,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2618,
"after": 0.1284,
"delta": -0.1334,
"percent_delta": -0.5095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.70), rates preserved: AVG=0.128 HR/AB=0.010",
"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.0688,
"after": 0.0,
"delta": -0.0688,
"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": 2.7028,
"after": 3.0,
"delta": 0.2972,
"percent_delta": 0.11,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3428,
"after": 0.0,
"delta": -0.3428,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3469,
"after": 0.0,
"delta": -0.3469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0262,
"after": 0.0,
"delta": -0.0262,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1602,
"after": 0.0,
"delta": -0.1602,
"percent_delta": -1.0,
"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": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.699,
"after": 1.0,
"delta": 0.301,
"percent_delta": 0.4306,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3469,
"after": 0.0,
"delta": -0.3469,
"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.3043,
"after": 0.0,
"delta": -0.3043,
"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.3043,
"after": 0.0,
"delta": -0.3043,
"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.1284,
"after": 0.333,
"delta": 0.2046,
"percent_delta": 1.5935,
"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.2265,
"after": 0.333,
"delta": 0.1065,
"percent_delta": 0.4702,
"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.1842,
"after": 0.333,
"delta": 0.1488,
"percent_delta": 0.8078,
"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.1284,
"after": 0.333,
"delta": 0.2046,
"percent_delta": 1.5935,
"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": 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": 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_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 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.1284,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2265,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1842,
"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.1284,
"delta": -0.2046,
"percent_delta": -0.6145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2265,
"delta": -0.1065,
"percent_delta": -0.3199,
"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.1842,
"delta": -0.1488,
"percent_delta": -0.4469,
"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.1284,
"delta": -0.2046,
"percent_delta": -0.6145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.1284,
"delta": -0.1536,
"percent_delta": -0.5447,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"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.2265,
"delta": -0.0565,
"percent_delta": -0.1996,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"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.312,
"after": 0.1842,
"delta": -0.1278,
"percent_delta": -0.4096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.655,
"after": 0.0,
"delta": -0.655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.655,
"after": 0.0,
"delta": -0.655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.060 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.357 | - |
| predicted_H | 0.190 | - |
| predicted_HR | 0.020 | - |
| predicted_OBP | 0.283 | - |
| predicted_R | 0.298 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.312 | - |
| predicted_SO | 0.655 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | 0.009 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.703 | 0.203 |
| predicted_AVG | 0.262 | -0.020 |
| predicted_BB | 0.346 | -0.011 |
| predicted_H | 0.358 | 0.168 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.027 | 0.007 |
| predicted_OBP | 0.289 | 0.006 |
| predicted_R | 0.322 | 0.024 |
| predicted_RBI | 0.169 | 0.049 |
| predicted_SLG | 0.305 | -0.007 |
| predicted_SO | 0.692 | 0.037 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.703 | 0.000 |
| predicted_AVG | 0.128 | -0.133 |
| predicted_BB | 0.343 | -0.003 |
| predicted_H | 0.347 | -0.012 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.026 | -0.001 |
| predicted_OBP | 0.227 | -0.062 |
| predicted_R | 0.304 | -0.017 |
| predicted_RBI | 0.160 | -0.009 |
| predicted_SLG | 0.184 | -0.121 |
| predicted_SO | 0.699 | 0.007 |
AB rounded to 3 (raw=2.70), rates preserved: AVG=0.128 HR/AB=0.010
| 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.069 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.297 |
| predicted_AVG | 0.333 | 0.205 |
| predicted_BB | 0.000 | -0.343 |
| predicted_H | 1.000 | 0.653 |
| predicted_HR | 0.000 | -0.026 |
| predicted_OBP | 0.333 | 0.107 |
| predicted_R | 0.000 | -0.304 |
| predicted_RBI | 0.000 | -0.160 |
| predicted_SLG | 0.333 | 0.149 |
| predicted_SO | 1.000 | 0.301 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 4.000 | 0.2500 | 0.2941 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.0625 | 0.2500 |
| last_10 | 0.20 | 10 | - | 25.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 7.000 | 0.2000 | 0.2857 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.1200 | 0.2800 |
| season | 0.60 | 17 | - | 42.000 | 8.000 | 1.000 | 0.000 | 0.000 | 4.000 | 5.000 | 6.000 | 11.000 | 0.1905 | 0.2917 | 0.2143 | 0.1905 | 0.0000 | 0.0952 | 0.1429 | 0.2619 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0860 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.1010 |
| predicted_AVG | 0.2221 |
| predicted_BB | 0.3250 |
| predicted_H | 0.6890 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0410 |
| predicted_OBP | 0.2996 |
| predicted_R | 0.3680 |
| predicted_RBI | 0.2660 |
| predicted_SLG | 0.2920 |
| predicted_SO | 0.7650 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0600 | 0.0860 | 0.0688 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0017 | model_form_blend |
| predicted_AB | 2.5000 | 3.1010 | 2.7028 | model_form_blend |
| predicted_AVG | 0.2820 | 0.2221 | 0.2618 | model_form_blend |
| predicted_BB | 0.3570 | 0.3250 | 0.3462 | model_form_blend |
| predicted_H | 0.1900 | 0.6890 | 0.3584 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0200 | 0.0410 | 0.0271 | model_form_blend |
| predicted_OBP | 0.2830 | 0.2996 | 0.2886 | model_form_blend |
| predicted_R | 0.2980 | 0.3680 | 0.3216 | model_form_blend |
| predicted_RBI | 0.1200 | 0.2660 | 0.1693 | model_form_blend |
| predicted_SLG | 0.3120 | 0.2920 | 0.3052 | model_form_blend |
| predicted_SO | 0.6550 | 0.7650 | 0.6921 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 38 |
| Season rows before report date | 38 |
| Report year | 2026 |
| Profile rows used | 17 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260613_SD@BAL |
| game_type | short |
| mlbID | 823550 |
| playerID | 823550 |
| playerName | Sung-Mun Song |
| pos | 3B |
| started | False |
| startingPosition | SS |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-13 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.245 |
| sl_xwoba | 0.284 |
| sl_xba | 0.208 |
| sl_xslg | 0.313 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 6.5 |
| sl_hard_hit_percent | 25.8 |
| sl_exit_velocity_avg | 85.7 |
| sl_launch_angle_avg | 12.4 |
| sl_whiff_percent | 24.7 |
| 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.147 | 0.000 | 0.000 | Hitting_2B | 0.059 | 1.000 | -0.059 | -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 | 2.235 | 4.000 | 0.765 | -1.000 |
| predicted_AVG | 0.294 | 0.000 | 0.333 | Hitting_AVG | 0.145 | 0.500 | -0.145 | -0.500 |
| predicted_BB | 0.515 | 1.000 | 1.000 | Hitting_BB | 0.382 | 0.000 | 0.618 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.500 | 0.000 | 1.000 | Hitting_H | 0.324 | 2.000 | -0.324 | -2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.176 | 1.000 | -0.176 | -1.000 |
| predicted_OBP | 0.342 | 0.250 | 0.500 | Hitting_OBP | 0.293 | 0.500 | -0.043 | -0.250 |
| predicted_R | 0.441 | 0.000 | 0.000 | Hitting_R | 0.324 | 2.000 | -0.324 | -2.000 |
| predicted_RBI | 0.350 | 0.000 | 0.000 | Hitting_RBI | 0.353 | 3.000 | -0.353 | -3.000 |
| predicted_SLG | 0.489 | 0.000 | 0.333 | Hitting_SLG | 0.408 | 1.500 | -0.408 | -1.500 |
| predicted_SO | 0.662 | 2.000 | 1.000 | Hitting_SO | 0.618 | 0.000 | 1.382 | 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.6620 -> 2.0000 (boost 1.3380, worse) |
| Biggest Deboost | predicted_H: 0.5000 -> 0.0000 (deboost -0.5000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_AB: 2.5000 -> 2.6555 (boost 0.1555, better) | predicted_AVG: 0.2940 -> 0.2747 (deboost -0.0193, 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.2747 -> 0.2061 (deboost -0.0686, 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.5099 -> 1.0000 (boost 0.4901, better) | predicted_RBI: 0.3889 -> 0.0000 (deboost -0.3889, worse) | AB rounded to 3 (raw=2.66), rates preserved: AVG=0.206 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4508 -> 0.0000 (deboost -0.4508, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3340 -> 0.5000 (boost 0.1660, better) | predicted_SLG: 0.4415 -> 0.3330 (deboost -0.1085, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4415 (boost 0.1085, better) | predicted_OBP: 0.5000 -> 0.3340 (deboost -0.1660, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660710",
"player_name": "Rodolfo Durán",
"position": "C",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.147,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.294,
"predicted_BB": 0.515,
"predicted_H": 0.5,
"predicted_HR": 0.12,
"predicted_OBP": 0.342,
"predicted_R": 0.441,
"predicted_RBI": 0.35,
"predicted_SLG": 0.489,
"predicted_SO": 0.662
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1696,
"predicted_3B": 0.0016,
"predicted_AB": 2.6555,
"predicted_AVG": 0.2747,
"predicted_BB": 0.515,
"predicted_H": 0.5653,
"predicted_HBP": 0.058,
"predicted_HR": 0.1558,
"predicted_OBP": 0.3467,
"predicted_R": 0.4764,
"predicted_RBI": 0.411,
"predicted_SLG": 0.5063,
"predicted_SO": 0.6508
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.1696,
"delta": 0.0226,
"percent_delta": 0.1537,
"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": 2.5,
"after": 2.6555,
"delta": 0.1555,
"percent_delta": 0.0622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2747,
"delta": -0.0193,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 0.515,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.5653,
"delta": 0.0653,
"percent_delta": 0.1306,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1558,
"delta": 0.0358,
"percent_delta": 0.2983,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3467,
"delta": 0.0047,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.4764,
"delta": 0.0354,
"percent_delta": 0.0803,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.411,
"delta": 0.061,
"percent_delta": 0.1743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.5063,
"delta": 0.0173,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.662,
"after": 0.6508,
"delta": -0.0112,
"percent_delta": -0.0169,
"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_AB",
"before": 2.5,
"after": 2.6555,
"delta": 0.1555,
"percent_delta": 0.0622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2747,
"delta": -0.0193,
"percent_delta": -0.0656,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 14
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1696,
"predicted_3B": 0.0016,
"predicted_AB": 2.6555,
"predicted_AVG": 0.2061,
"predicted_BB": 0.5099,
"predicted_H": 0.5472,
"predicted_HBP": 0.058,
"predicted_HR": 0.1508,
"predicted_OBP": 0.334,
"predicted_R": 0.4508,
"predicted_RBI": 0.3889,
"predicted_SLG": 0.4415,
"predicted_SO": 0.6572
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1696,
"after": 0.1696,
"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": 2.6555,
"after": 2.6555,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2747,
"after": 0.2061,
"delta": -0.0686,
"percent_delta": -0.2497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 0.5099,
"delta": -0.0051,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5653,
"after": 0.5472,
"delta": -0.0181,
"percent_delta": -0.032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.058,
"after": 0.058,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1558,
"after": 0.1508,
"delta": -0.005,
"percent_delta": -0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3467,
"after": 0.334,
"delta": -0.0127,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4764,
"after": 0.4508,
"delta": -0.0256,
"percent_delta": -0.0537,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.411,
"after": 0.3889,
"delta": -0.0221,
"percent_delta": -0.0538,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5063,
"after": 0.4415,
"delta": -0.0648,
"percent_delta": -0.128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6508,
"after": 0.6572,
"delta": 0.0064,
"percent_delta": 0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2747,
"after": 0.2061,
"delta": -0.0686,
"percent_delta": -0.2497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.66), rates preserved: AVG=0.206 HR/AB=0.057",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1696,
"after": 0.0,
"delta": -0.1696,
"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": 2.6555,
"after": 3.0,
"delta": 0.3445,
"percent_delta": 0.1297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5099,
"after": 1.0,
"delta": 0.4901,
"percent_delta": 0.9612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5472,
"after": 1.0,
"delta": 0.4528,
"percent_delta": 0.8275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.058,
"after": 0.0,
"delta": -0.058,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1508,
"after": 0.0,
"delta": -0.1508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3889,
"after": 0.0,
"delta": -0.3889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6572,
"after": 1.0,
"delta": 0.3428,
"percent_delta": 0.5216,
"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.5099,
"after": 1.0,
"delta": 0.4901,
"percent_delta": 0.9612,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3889,
"after": 0.0,
"delta": -0.3889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4508,
"after": 0.0,
"delta": -0.4508,
"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.4508,
"after": 0.0,
"delta": -0.4508,
"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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"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.2061,
"after": 0.333,
"delta": 0.1269,
"percent_delta": 0.6157,
"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.334,
"after": 0.5,
"delta": 0.166,
"percent_delta": 0.497,
"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.4415,
"after": 0.333,
"delta": -0.1085,
"percent_delta": -0.2458,
"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.334,
"after": 0.5,
"delta": 0.166,
"percent_delta": 0.497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4415,
"after": 0.333,
"delta": -0.1085,
"percent_delta": -0.2458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2061,
"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.334,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4415,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2061,
"delta": -0.1269,
"percent_delta": -0.3812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.334,
"delta": -0.166,
"percent_delta": -0.3321,
"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.4415,
"delta": 0.1085,
"percent_delta": 0.3259,
"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.4415,
"delta": 0.1085,
"percent_delta": 0.3259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.334,
"delta": -0.166,
"percent_delta": -0.3321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.147,
"after": 0.0,
"delta": -0.147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2061,
"delta": -0.0879,
"percent_delta": -0.299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.515,
"after": 1.0,
"delta": 0.485,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.334,
"delta": -0.008,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.441,
"after": 0.0,
"delta": -0.441,
"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.489,
"after": 0.4415,
"delta": -0.0475,
"percent_delta": -0.0971,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.662,
"after": 2.0,
"delta": 1.338,
"percent_delta": 2.0211,
"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.662,
"after": 2.0,
"delta": 1.338,
"percent_delta": 2.0211,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.294 | - |
| predicted_BB | 0.515 | - |
| predicted_H | 0.500 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.441 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.489 | - |
| predicted_SO | 0.662 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.023 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.655 | 0.155 |
| predicted_AVG | 0.275 | -0.019 |
| predicted_BB | 0.515 | 0.000 |
| predicted_H | 0.565 | 0.065 |
| predicted_HBP | 0.058 | - |
| predicted_HR | 0.156 | 0.036 |
| predicted_OBP | 0.347 | 0.005 |
| predicted_R | 0.476 | 0.035 |
| predicted_RBI | 0.411 | 0.061 |
| predicted_SLG | 0.506 | 0.017 |
| predicted_SO | 0.651 | -0.011 |
Step 3: 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.002 | 0.000 |
| predicted_AB | 2.655 | 0.000 |
| predicted_AVG | 0.206 | -0.069 |
| predicted_BB | 0.510 | -0.005 |
| predicted_H | 0.547 | -0.018 |
| predicted_HBP | 0.058 | 0.000 |
| predicted_HR | 0.151 | -0.005 |
| predicted_OBP | 0.334 | -0.013 |
| predicted_R | 0.451 | -0.026 |
| predicted_RBI | 0.389 | -0.022 |
| predicted_SLG | 0.442 | -0.065 |
| predicted_SO | 0.657 | 0.006 |
AB rounded to 3 (raw=2.66), rates preserved: AVG=0.206 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 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.170 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.345 |
| predicted_AVG | 0.333 | 0.127 |
| predicted_BB | 1.000 | 0.490 |
| predicted_H | 1.000 | 0.453 |
| predicted_HR | 0.000 | -0.151 |
| predicted_OBP | 0.500 | 0.166 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 0.000 | -0.389 |
| predicted_SLG | 0.333 | -0.108 |
| predicted_SO | 1.000 | 0.343 |
Attached 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 | 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 | 5 | - | 11.000 | 4.000 | 2.000 | 0.000 | 2.000 | 4.000 | 4.000 | 3.000 | 0.000 | 0.3636 | 0.5000 | 1.0909 | 0.3636 | 0.1818 | 0.3636 | 0.2727 | 0.0000 |
| last_10 | 0.20 | 10 | - | 22.000 | 5.000 | 2.000 | 0.000 | 2.000 | 4.000 | 5.000 | 7.000 | 5.000 | 0.2273 | 0.4333 | 0.5909 | 0.2273 | 0.0909 | 0.1818 | 0.3182 | 0.2273 |
| season | 0.60 | 14 | - | 34.000 | 6.000 | 2.000 | 0.000 | 3.000 | 6.000 | 6.000 | 7.000 | 9.000 | 0.1765 | 0.3333 | 0.5000 | 0.1765 | 0.0882 | 0.1765 | 0.2059 | 0.2647 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0050 |
| predicted_AB | 2.9740 |
| predicted_AVG | 0.2351 |
| predicted_BB | 0.5150 |
| predicted_H | 0.6990 |
| predicted_HBP | 0.0580 |
| predicted_HR | 0.2290 |
| predicted_OBP | 0.3562 |
| predicted_R | 0.5490 |
| predicted_RBI | 0.5360 |
| predicted_SLG | 0.5418 |
| predicted_SO | 0.6280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1470 | 0.2160 | 0.1696 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0016 | model_form_blend |
| predicted_AB | 2.5000 | 2.9740 | 2.6555 | model_form_blend |
| predicted_AVG | 0.2940 | 0.2351 | 0.2747 | model_form_blend |
| predicted_BB | 0.5150 | 0.5150 | 0.5150 | model_form_blend |
| predicted_H | 0.5000 | 0.6990 | 0.5653 | model_form_blend |
| predicted_HBP | - | 0.0580 | 0.0580 | form_only |
| predicted_HR | 0.1200 | 0.2290 | 0.1558 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3562 | 0.3467 | model_form_blend |
| predicted_R | 0.4410 | 0.5490 | 0.4764 | model_form_blend |
| predicted_RBI | 0.3500 | 0.5360 | 0.4110 | model_form_blend |
| predicted_SLG | 0.4890 | 0.5418 | 0.5063 | model_form_blend |
| predicted_SO | 0.6620 | 0.6280 | 0.6508 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.176 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 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 | 20260614_SD@BAL |
| game_type | full |
| mlbID | 660710 |
| playerID | 660710 |
| playerName | Rodolfo Durán |
| pos | C |
| started | True |
| startingPosition | C |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 18.4 |
| sl_woba | 0.314 |
| sl_xwoba | 0.374 |
| sl_xba | 0.214 |
| sl_xslg | 0.461 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 19.0 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 39.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.607 | 2.000 | 2.393 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.286 | 0.000 | 0.714 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 1.071 | 1.000 | 1.929 | 2.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 1.004 | 1.200 | 3.196 | 3.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 0.821 | 3.000 | 3.179 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.0000 -> 4.2000 (deboost -0.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | 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": "593974",
"player_name": "Wandy Peralta",
"position": "Starter",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"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": 3.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": {}
},
{
"index": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 1.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 4.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -0.800 |
| predicted_SO | 4.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 | 3.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | 0.000 |
| predicted_SO | 4.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 0.000 | 5.000 | 4.000 | 4.000 | 0.000 | 0.0000 | 1.3500 | 0.0000 | 0.7500 | 0.6000 | 0.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 12.200 | 2.000 | 9.000 | 9.000 | 7.000 | 0.000 | 1.4211 | 1.4211 | 0.1579 | 0.7105 | 0.7105 | 0.5526 | 0.0000 |
| season | 0.20 | 28 | 33.000 | 8.000 | 30.000 | 17.000 | 23.000 | 3.000 | 2.1818 | 1.4242 | 0.2424 | 0.9091 | 0.5151 | 0.6970 | 0.0909 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4870 |
| predicted_ER | 0.8010 |
| predicted_ERA | 2.4660 |
| predicted_H | 2.5030 |
| predicted_HR | 0.2140 |
| predicted_IP | 3.0000 |
| predicted_SO | 2.1810 |
| predicted_WHIP | 1.3652 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.4870 | 2.2937 | model_form_blend |
| predicted_ER | 1.0000 | 0.8010 | 0.9071 | model_form_blend |
| predicted_ERA | - | 2.4660 | 2.4660 | form_only |
| predicted_H | 3.0000 | 2.5030 | 2.7680 | model_form_blend |
| predicted_HR | 0.0000 | 0.2140 | 0.0999 | model_form_blend |
| predicted_IP | 5.0000 | 3.0000 | 4.1000 | model_form_blend |
| predicted_SO | 4.0000 | 2.1810 | 3.1508 | model_form_blend |
| predicted_WHIP | - | 1.3652 | 1.3652 | 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 | 4.2 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 3 |
| SO | 4 |
| HR | 0 |
| BF | 20 |
| Pitches | 80 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.18 |
| 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.2 |
| Pitching_Pitches | 30 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260612_SD@BAL |
| game_type | full |
| mlbID | 593974 |
| playerID | 593974 |
| playerName | Wandy Peralta |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-12 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.326 |
| sl_xwoba | 0.328 |
| sl_sweet_spot_percent | 37.8 |
| sl_barrel_batted_rate | 4.1 |
| sl_hard_hit_percent | 35.7 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 50.4 |
| sl_avg_best_speed | 78.031056531 |
| sl_avg_hyper_speed | 93.529278866 |
| 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.212 | 0.000 | -0.212 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.485 | 0.000 | 0.515 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.939 | 1.000 | 1.061 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.900 | 1.100 | 0.100 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.242 | 0.000 | -1.242 | 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": "670970",
"player_name": "Adrian Morejon",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 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 | 5.200 | 0.000 | 2.000 | 0.000 | 6.000 | 0.000 | 0.0000 | 0.3529 | 0.0000 | 0.3529 | 0.0000 | 1.0588 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 8.000 | 1.000 | 9.000 | 0.000 | 2.7931 | 0.9310 | 0.3103 | 0.8276 | 0.1035 | 0.9310 | 0.0000 |
| season | 0.20 | 33 | 36.000 | 16.000 | 31.000 | 7.000 | 41.000 | 2.000 | 4.0000 | 1.0556 | 0.4444 | 0.8611 | 0.1944 | 1.1389 | 0.0556 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1930 |
| predicted_ER | 0.3210 |
| predicted_ERA | 2.8867 |
| predicted_H | 0.7660 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9900 |
| predicted_WHIP | 0.9585 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1930 | 0.0918 | model_form_blend |
| predicted_ER | 1.0000 | 0.3210 | 0.6769 | model_form_blend |
| predicted_ERA | - | 2.8867 | 2.8867 | form_only |
| predicted_H | 2.0000 | 0.7660 | 1.4128 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0314 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9900 | 0.4711 | model_form_blend |
| predicted_WHIP | - | 0.9585 | 0.9585 | 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 | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| 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 | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260614_SD@BAL |
| game_type | full |
| mlbID | 670970 |
| playerID | 670970 |
| playerName | Adrian Morejon |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 28.9 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.258 |
| sl_xwoba | 0.256 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 2.2 |
| sl_hard_hit_percent | 32.3 |
| sl_whiff_percent | 34.7 |
| sl_swing_percent | 52.7 |
| sl_avg_best_speed | 74.104130652 |
| sl_avg_hyper_speed | 93.271888043 |
| 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 | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.933 | 1.000 | -0.933 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.963 | 1.000 | 0.037 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.033 | 2.000 | -1.033 | -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": "699134",
"player_name": "Bradgley Rodriguez",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 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 | 3.000 | 6.000 | 3.000 | 5.000 | 1.000 | 5.7857 | 1.9286 | 0.6429 | 1.2857 | 0.6429 | 1.0714 | 0.2143 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 13.000 | 7.000 | 11.000 | 1.000 | 3.7241 | 2.0690 | 0.4138 | 1.3448 | 0.7241 | 1.1379 | 0.1035 |
| season | 0.20 | 30 | 33.100 | 8.000 | 28.000 | 12.000 | 31.000 | 1.000 | 2.1600 | 1.2000 | 0.2400 | 0.8400 | 0.3600 | 0.9300 | 0.0300 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5050 |
| predicted_ER | 0.4880 |
| predicted_ERA | 4.3948 |
| predicted_H | 1.1120 |
| predicted_HR | 0.1410 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0090 |
| predicted_WHIP | 1.6170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5050 | 0.2363 | model_form_blend |
| predicted_ER | 0.0000 | 0.4880 | 0.2283 | model_form_blend |
| predicted_ERA | - | 4.3948 | 4.3948 | form_only |
| predicted_H | 0.0000 | 1.1120 | 0.5203 | model_form_blend |
| predicted_HR | 0.0000 | 0.1410 | 0.0660 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0090 | 0.4721 | model_form_blend |
| predicted_WHIP | - | 1.6170 | 1.6170 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| 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 | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.16 |
| 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 | 20 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260614_SD@BAL |
| game_type | full |
| mlbID | 699134 |
| playerID | 699134 |
| playerName | Bradgley Rodriguez |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.265 |
| sl_xwoba | 0.246 |
| sl_sweet_spot_percent | 21.1 |
| sl_barrel_batted_rate | 3.2 |
| sl_hard_hit_percent | 32.6 |
| sl_whiff_percent | 29.1 |
| sl_swing_percent | 51.0 |
| sl_avg_best_speed | 76.713816809 |
| sl_avg_hyper_speed | 92.981214516 |
| 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.276 | 0.000 | -0.276 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.172 | 1.000 | -0.172 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.828 | 2.000 | -0.828 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.793 | 0.100 | 0.207 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.586 | 0.000 | 0.414 | 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": "592094",
"player_name": "Jason Adam",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 1.000 | 5.000 | 3.000 | 4.000 | 0.000 | 2.0769 | 1.8462 | 0.2308 | 1.1539 | 0.6923 | 0.9231 | 0.0000 |
| last_10 | 0.35 | 10 | 7.200 | 3.000 | 12.000 | 3.000 | 7.000 | 2.000 | 3.5217 | 1.9565 | 0.3913 | 1.5652 | 0.3913 | 0.9130 | 0.2609 |
| season | 0.20 | 29 | 25.100 | 5.000 | 24.000 | 8.000 | 17.000 | 3.000 | 1.7763 | 1.2632 | 0.1974 | 0.9474 | 0.3158 | 0.6711 | 0.1184 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4110 |
| predicted_ER | 0.3660 |
| predicted_ERA | 3.4938 |
| predicted_H | 1.0490 |
| predicted_HR | 0.1220 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8490 |
| predicted_WHIP | 1.5510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4110 | 0.1805 | model_form_blend |
| predicted_ER | 0.0000 | 0.3660 | 0.1607 | model_form_blend |
| predicted_ERA | - | 3.4938 | 3.4938 | form_only |
| predicted_H | 0.0000 | 1.0490 | 0.4606 | model_form_blend |
| predicted_HR | 0.0000 | 0.1220 | 0.0536 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8490 | 0.9337 | model_form_blend |
| predicted_WHIP | - | 1.5510 | 1.5510 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 29 |
| Season rows before report date | 29 |
| Report year | 2026 |
| Profile rows used | 29 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.78 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 8 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_SD@BAL |
| game_type | full |
| mlbID | 592094 |
| playerID | 592094 |
| playerName | Jason Adam |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.298 |
| sl_xwoba | 0.288 |
| sl_sweet_spot_percent | 26.9 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 41.0 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 53.2 |
| sl_avg_best_speed | 77.664409231 |
| sl_avg_hyper_speed | 93.536542208 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.103 | 0.000 | -0.103 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.962 | 1.100 | 0.138 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 2.034 | 3.000 | -1.034 | -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": "695243",
"player_name": "Mason Miller",
"position": "Middle Reliever",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 1.000 | 2.000 | 1.000 | 10.000 | 0.000 | 1.8000 | 0.6000 | 0.2000 | 0.4000 | 0.2000 | 2.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 1.000 | 4.000 | 7.000 | 19.000 | 0.000 | 0.8710 | 1.0645 | 0.0968 | 0.3871 | 0.6774 | 1.8387 | 0.0000 |
| season | 0.20 | 29 | 30.000 | 3.000 | 12.000 | 12.000 | 59.000 | 0.000 | 0.9000 | 0.8000 | 0.1000 | 0.4000 | 0.4000 | 1.9667 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3860 |
| predicted_ER | 0.3050 |
| predicted_ERA | 2.7451 |
| predicted_H | 0.6590 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.4780 |
| predicted_WHIP | 1.0451 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3860 | 0.1764 | model_form_blend |
| predicted_ER | 0.0000 | 0.3050 | 0.1394 | model_form_blend |
| predicted_ERA | - | 2.7451 | 2.7451 | form_only |
| predicted_H | 0.0000 | 0.6590 | 0.3011 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0302 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.4780 | 1.2184 | model_form_blend |
| predicted_WHIP | - | 1.0451 | 1.0451 | 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.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.90 |
| 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 | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260614_SD@BAL |
| game_type | full |
| mlbID | 695243 |
| playerID | 695243 |
| playerName | Mason Miller |
| pos | P |
| started | False |
| startingPosition | P |
| team | SD |
| teamID | 23 |
| game_date | 2026-06-14 |
| sl_k_percent | 50.9 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.174 |
| sl_xwoba | 0.166 |
| sl_sweet_spot_percent | 28.6 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 14.3 |
| sl_whiff_percent | 49.8 |
| sl_swing_percent | 44.8 |
| sl_avg_best_speed | 71.76267381 |
| sl_avg_hyper_speed | 90.770575714 |
| Field | Value |
|---|---|
| Pitcher | Dustin May |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0015 |
| ESPN Rank | 184 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1464 |
| Avg Velo | 92.3417 |
| Avg Spin | 2527.7005 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 2 |
| Pre H | 7 |
| Pre BB | 3 |
| Pre SO | 4 |
| Season ERA | 4.2110 |
| Season WHIP | 1.2523 |
| Role Avg IP | 5.5900 |
| Recent Avg IP | 6 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"opponent": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"edges": {
"quality_edge": 0.1816,
"offense_edge": -0.0145,
"opponent_offense_edge": -0.1117,
"defense_strength": 0.094,
"opponent_defense_weakness": -0.0626,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0146,
"run_prevention": 0.9636,
"strikeout": 1.0144
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669160",
"profile": {
"available": true,
"pitcher_id": "669160",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 254.0,
"k_percent": 21.9,
"bb_percent": 6.6,
"woba": 0.313,
"xwoba": 0.301,
"sweet_spot_percent": 33.0,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 47.4,
"avg_best_speed": 79.5114,
"avg_hyper_speed": 94.854,
"whiff_percent": 21.2,
"swing_percent": 47.5
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.0192,
"command_and_miss": -0.1414,
"regression_edge": 0.3429,
"xwoba_edge": 0.4,
"barrel_edge": 0.1333,
"hard_hit_edge": -1.2571,
"whiff_edge": -0.6143,
"bb_edge": 0.625,
"pitch_design_score": 0.1464
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669160",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.34165422170996,
"release_spin_rate": 2527.700517734745,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.34165422170996,
"release_spin_rate": 2527.700517734745,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3417,
"release_spin_rate": 2527.7005,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1464,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0455,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0015,
"sample_weight": 1.0,
"run_prevention_factor": 1.0001,
"strikeout_factor": 0.9709,
"walk_factor": 0.95,
"homer_factor": 1.0276,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669160",
"espn_id": 40937,
"player_name": "Dustin May",
"team": "STL",
"role": "pitcher",
"espn_rank": 184,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 184,
"gp_value": 13.0,
"gp_rank": 308,
"gs_value": 13.0,
"gs_rank": 58,
"qs_value": 8.0,
"qs_rank": 13,
"era_value": 4.211,
"era_rank": 48.0,
"w_value": 4.0,
"w_rank": 59,
"l_value": 6.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 72.2,
"ip_rank": 60,
"h_value": 71.0,
"h_rank": 40,
"er_value": 34.0,
"er_rank": 52,
"hr_value": 5.0,
"hr_rank": 150,
"bb_value": 20.0,
"bb_rank": 110,
"k_value": 66.0,
"k_rank": 57,
"k_per_9_value": 8.174313,
"k_per_9_rank": 25,
"whip_value": 1.2522,
"whip_rank": 42.0,
"war_value": 0.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0001,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0001,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.95,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0276,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 0.9709,
"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": 20,
"H": 50,
"BB": 17,
"SO": 55,
"HR": 3,
"ERA": 3.033707865168539,
"WHIP": 1.1292134831460674,
"K9": 8.342696629213483,
"HR9": 0.4550561797752809,
"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-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "669160",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.34165422170996,
"release_spin_rate": 2527.700517734745,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.34165422170996,
"release_spin_rate": 2527.700517734745,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.3417,
"release_spin_rate": 2527.7005,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1464,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0455,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"role": "pitcher",
"player_id": "669160",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 11.0,
"R": 12.0,
"H": 21.0,
"BB": 9.0,
"SO": 34.0,
"HR": 1.0,
"BF": 122.0,
"Pitches": 460.0
},
"per_game": {
"IP": 6.0,
"ER": 2.2,
"R": 2.4,
"H": 4.2,
"BB": 1.8,
"SO": 6.8,
"HR": 0.2,
"BF": 24.4,
"Pitches": 92.0
},
"rates": {
"ERA": 3.3,
"WHIP": 1.0,
"ER_per_IP": 0.36667,
"H_per_IP": 0.7,
"BB_per_IP": 0.3,
"SO_per_IP": 1.13333,
"HR_per_IP": 0.03333
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 20.0,
"R": 22.0,
"H": 50.0,
"BB": 17.0,
"SO": 55.0,
"HR": 3.0,
"BF": 238.0,
"Pitches": 935.0
},
"per_game": {
"IP": 6.0,
"ER": 2.0,
"R": 2.2,
"H": 5.0,
"BB": 1.7,
"SO": 5.5,
"HR": 0.3,
"BF": 23.8,
"Pitches": 93.5
},
"rates": {
"ERA": 3.0337,
"WHIP": 1.1292,
"ER_per_IP": 0.33708,
"H_per_IP": 0.8427,
"BB_per_IP": 0.28652,
"SO_per_IP": 0.92697,
"HR_per_IP": 0.05056
}
},
"season": {
"games": 13,
"totals": {
"IP": 72.2,
"ER": 34.0,
"R": 37.0,
"H": 71.0,
"BB": 20.0,
"SO": 66.0,
"HR": 5.0,
"BF": 301.0,
"Pitches": 1150.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6154,
"R": 2.8462,
"H": 5.4615,
"BB": 1.5385,
"SO": 5.0769,
"HR": 0.3846,
"BF": 23.1538,
"Pitches": 88.4615
},
"rates": {
"ERA": 4.211,
"WHIP": 1.2523,
"ER_per_IP": 0.46789,
"H_per_IP": 0.97706,
"BB_per_IP": 0.27523,
"SO_per_IP": 0.90826,
"HR_per_IP": 0.06881
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.402,
"predicted_H": 4.99,
"predicted_BB": 1.816,
"predicted_SO": 5.82,
"predicted_HR": 0.433,
"predicted_ERA": 3.6888,
"predicted_WHIP": 1.1617
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4674,
"form_weight": 0.5326,
"form_reliability": 0.7222,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.402,
"final": 2.2141,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 4.99,
"final": 5.9294,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.816,
"final": 2.3694,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.82,
"final": 4.9694,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.433,
"final": 0.2306,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6888,
"final": 3.6888,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1617,
"final": 1.1617,
"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.0319 |
| ESPN Rank | 163 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.9670 |
| Season WHIP | 1.1209 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"opponent": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"edges": {
"quality_edge": 0.1816,
"offense_edge": -0.0145,
"opponent_offense_edge": -0.1117,
"defense_strength": 0.094,
"opponent_defense_weakness": -0.0626,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0146,
"run_prevention": 0.9636,
"strikeout": 1.0144
},
"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": 20.5,
"bb_percent": 8.5,
"woba": 0.276,
"xwoba": 0.32,
"sweet_spot_percent": 24.4,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 40.2,
"avg_best_speed": 79.9299,
"avg_hyper_speed": 94.7304,
"whiff_percent": 31.3,
"swing_percent": 48.6
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.0152,
"command_and_miss": 0.1786,
"regression_edge": -1.2571,
"xwoba_edge": -0.1429,
"barrel_edge": -0.5556,
"hard_hit_edge": -0.2286,
"whiff_edge": 0.8286,
"bb_edge": 0.15,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "666277",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0319,
"sample_weight": 0.45,
"run_prevention_factor": 1.0027,
"strikeout_factor": 1.0093,
"walk_factor": 0.9946,
"homer_factor": 1.026,
"woba_minus_xwoba": -0.044,
"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": 163,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 163,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.967,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 9.0,
"hld_rank": 27,
"ip_value": 30.1,
"ip_rank": 231,
"h_value": 24.0,
"h_rank": 268,
"er_value": 10.0,
"er_rank": 308,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 10.0,
"bb_rank": 294,
"k_value": 27.0,
"k_rank": 266,
"k_per_9_value": 8.010989,
"k_per_9_rank": 31,
"whip_value": 1.1208,
"whip_rank": null,
"war_value": 0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0117,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0042,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.2,
"ER": 2,
"H": 9,
"BB": 0,
"SO": 11,
"HR": 1,
"ERA": 1.6874999999999998,
"WHIP": 0.8437499999999999,
"K9": 9.281249999999998,
"HR9": 0.8437499999999999,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "666277",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"role": "pitcher",
"player_id": "666277",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 2.0,
"R": 2.0,
"H": 7.0,
"BB": 0.0,
"SO": 5.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.4,
"BB": 0.0,
"SO": 1.0,
"HR": 0.2,
"BF": 4.8,
"Pitches": 15.8
},
"rates": {
"ERA": 3.1765,
"WHIP": 1.2353,
"ER_per_IP": 0.35294,
"H_per_IP": 1.23529,
"BB_per_IP": 0.0,
"SO_per_IP": 0.88235,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 2.0,
"R": 2.0,
"H": 9.0,
"BB": 0.0,
"SO": 11.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 138.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.0,
"SO": 1.1,
"HR": 0.1,
"BF": 4.1,
"Pitches": 13.8
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.8438,
"ER_per_IP": 0.1875,
"H_per_IP": 0.84375,
"BB_per_IP": 0.0,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 31,
"totals": {
"IP": 30.1,
"ER": 10.0,
"R": 11.0,
"H": 24.0,
"BB": 10.0,
"SO": 27.0,
"HR": 4.0,
"BF": 125.0,
"Pitches": 468.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3226,
"R": 0.3548,
"H": 0.7742,
"BB": 0.3226,
"SO": 0.871,
"HR": 0.129,
"BF": 4.0323,
"Pitches": 15.0968
},
"rates": {
"ERA": 2.967,
"WHIP": 1.1209,
"ER_per_IP": 0.32967,
"H_per_IP": 0.79121,
"BB_per_IP": 0.32967,
"SO_per_IP": 0.89011,
"HR_per_IP": 0.13187
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.384,
"predicted_H": 0.993,
"predicted_BB": 0.2,
"predicted_SO": 0.935,
"predicted_HR": 0.142,
"predicted_ERA": 3.4561,
"predicted_WHIP": 1.1925
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5419,
"form_weight": 0.4581,
"form_reliability": 0.5457,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.384,
"final": 0.7178,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.993,
"final": 0.9968,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.2,
"final": 0.6336,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.935,
"final": 0.4283,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.142,
"final": 0.607,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4561,
"final": 3.4561,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1925,
"final": 1.1925,
"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.1611 |
| ESPN Rank | 241 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 3.9375 |
| Season WHIP | 1.3125 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"opponent": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"edges": {
"quality_edge": 0.1816,
"offense_edge": -0.0145,
"opponent_offense_edge": -0.1117,
"defense_strength": 0.094,
"opponent_defense_weakness": -0.0626,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0146,
"run_prevention": 0.9636,
"strikeout": 1.0144
},
"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": 23.5,
"bb_percent": 8.3,
"woba": 0.312,
"xwoba": 0.335,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 44.8,
"avg_best_speed": 81.7029,
"avg_hyper_speed": 95.8589,
"whiff_percent": 23.1,
"swing_percent": 39.4
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.5088,
"command_and_miss": -0.0286,
"regression_edge": -0.6571,
"xwoba_edge": -0.5714,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.8857,
"whiff_edge": -0.3429,
"bb_edge": 0.2,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "668941",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1611,
"sample_weight": 0.45,
"run_prevention_factor": 1.0137,
"strikeout_factor": 0.9959,
"walk_factor": 0.9928,
"homer_factor": 1.0213,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668941",
"espn_id": 40456,
"player_name": "JoJo Romero",
"team": "STL",
"role": "pitcher",
"espn_rank": 241,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 241,
"gp_value": 33.0,
"gp_rank": 13,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.9375,
"era_rank": null,
"w_value": 0.0,
"w_rank": 398,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 17.0,
"hld_rank": 1,
"ip_value": 32.0,
"ip_rank": 205,
"h_value": 30.0,
"h_rank": 200,
"er_value": 14.0,
"er_rank": 222,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 32.0,
"k_rank": 212,
"k_per_9_value": 9.0,
"k_per_9_rank": 27,
"whip_value": 1.3125,
"whip_rank": null,
"war_value": 0.31,
"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.9968,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0096,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9982,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.1,
"ER": 6,
"H": 11,
"BB": 3,
"SO": 11,
"HR": 1,
"ERA": 6.480000000000001,
"WHIP": 1.6800000000000002,
"K9": 11.880000000000003,
"HR9": 1.08,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "668941",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.337,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5589,
"prior_weight": 0.4411
},
"role": "pitcher",
"player_id": "668941",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 33,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 1.0,
"SO": 4.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 68.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 1.2,
"BB": 0.2,
"SO": 0.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 13.6
},
"rates": {
"ERA": 6.75,
"WHIP": 1.75,
"ER_per_IP": 0.75,
"H_per_IP": 1.5,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 6.0,
"R": 6.0,
"H": 11.0,
"BB": 3.0,
"SO": 11.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 144.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 1.1,
"BB": 0.3,
"SO": 1.1,
"HR": 0.1,
"BF": 4.0,
"Pitches": 14.4
},
"rates": {
"ERA": 6.48,
"WHIP": 1.68,
"ER_per_IP": 0.72,
"H_per_IP": 1.32,
"BB_per_IP": 0.36,
"SO_per_IP": 1.32,
"HR_per_IP": 0.12
}
},
"season": {
"games": 33,
"totals": {
"IP": 32.0,
"ER": 14.0,
"R": 14.0,
"H": 30.0,
"BB": 12.0,
"SO": 32.0,
"HR": 4.0,
"BF": 137.0,
"Pitches": 547.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4242,
"R": 0.4242,
"H": 0.9091,
"BB": 0.3636,
"SO": 0.9697,
"HR": 0.1212,
"BF": 4.1515,
"Pitches": 16.5758
},
"rates": {
"ERA": 3.9375,
"WHIP": 1.3125,
"ER_per_IP": 0.4375,
"H_per_IP": 0.9375,
"BB_per_IP": 0.375,
"SO_per_IP": 1.0,
"HR_per_IP": 0.125
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.508,
"predicted_H": 0.995,
"predicted_BB": 0.285,
"predicted_SO": 0.879,
"predicted_HR": 0.14,
"predicted_ERA": 5.3764,
"predicted_WHIP": 1.5036
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5364,
"form_weight": 0.4636,
"form_reliability": 0.5589,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.337,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5589,
"prior_weight": 0.4411
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.508,
"final": 0.2355,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.995,
"final": 0.9977,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.285,
"final": 0.6685,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.879,
"final": 0.4075,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.14,
"final": 0.0649,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3764,
"final": 5.3764,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5036,
"final": 1.5036,
"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.0610 |
| ESPN Rank | 278 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.8571 |
| Season WHIP | 1.2198 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"opponent": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"edges": {
"quality_edge": 0.1816,
"offense_edge": -0.0145,
"opponent_offense_edge": -0.1117,
"defense_strength": 0.094,
"opponent_defense_weakness": -0.0626,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0146,
"run_prevention": 0.9636,
"strikeout": 1.0144
},
"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": 24.8,
"bb_percent": 7.8,
"woba": 0.29,
"xwoba": 0.316,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 4.9,
"hard_hit_percent": 39.0,
"avg_best_speed": 75.7866,
"avg_hyper_speed": 94.267,
"whiff_percent": 28.3,
"swing_percent": 46.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.2169,
"command_and_miss": 0.34,
"regression_edge": -0.7429,
"xwoba_edge": -0.0286,
"barrel_edge": 0.5333,
"hard_hit_edge": -0.0571,
"whiff_edge": 0.4,
"bb_edge": 0.325,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676617",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.061,
"sample_weight": 0.45,
"run_prevention_factor": 0.9948,
"strikeout_factor": 1.0126,
"walk_factor": 0.9883,
"homer_factor": 0.9822,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676617",
"espn_id": 41509,
"player_name": "Riley O'Brien",
"team": "STL",
"role": "pitcher",
"espn_rank": 278,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 278,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.8571,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 17.0,
"sv_rank": 5,
"hld_value": 1.0,
"hld_rank": 193,
"ip_value": 30.1,
"ip_rank": 231,
"h_value": 27.0,
"h_rank": 236,
"er_value": 13.0,
"er_rank": 236,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 10.0,
"bb_rank": 294,
"k_value": 32.0,
"k_rank": 212,
"k_per_9_value": 9.494506,
"k_per_9_rank": 24,
"whip_value": 1.2197,
"whip_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9977,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9977,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9947,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.992,
"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": 10.1,
"ER": 7,
"H": 10,
"BB": 8,
"SO": 9,
"HR": 0,
"ERA": 6.096774193548388,
"WHIP": 1.741935483870968,
"K9": 7.838709677419356,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "676617",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"role": "pitcher",
"player_id": "676617",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 6.0,
"SO": 5.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 114.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 1.2,
"SO": 1.0,
"HR": 0.0,
"BF": 5.4,
"Pitches": 22.8
},
"rates": {
"ERA": 7.2,
"WHIP": 2.4,
"ER_per_IP": 0.8,
"H_per_IP": 1.2,
"BB_per_IP": 1.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 7.0,
"R": 8.0,
"H": 10.0,
"BB": 8.0,
"SO": 9.0,
"HR": 0.0,
"BF": 51.0,
"Pitches": 196.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.8,
"H": 1.0,
"BB": 0.8,
"SO": 0.9,
"HR": 0.0,
"BF": 5.1,
"Pitches": 19.6
},
"rates": {
"ERA": 6.0968,
"WHIP": 1.7419,
"ER_per_IP": 0.67742,
"H_per_IP": 0.96774,
"BB_per_IP": 0.77419,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.0
}
},
"season": {
"games": 30,
"totals": {
"IP": 30.1,
"ER": 13.0,
"R": 15.0,
"H": 27.0,
"BB": 10.0,
"SO": 32.0,
"HR": 1.0,
"BF": 129.0,
"Pitches": 507.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4333,
"R": 0.5,
"H": 0.9,
"BB": 0.3333,
"SO": 1.0667,
"HR": 0.0333,
"BF": 4.3,
"Pitches": 16.9
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.2198,
"ER_per_IP": 0.42857,
"H_per_IP": 0.89011,
"BB_per_IP": 0.32967,
"SO_per_IP": 1.05495,
"HR_per_IP": 0.03297
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.598,
"predicted_H": 1.018,
"predicted_BB": 0.643,
"predicted_SO": 0.951,
"predicted_HR": 0.07,
"predicted_ERA": 5.3835,
"predicted_WHIP": 1.6609
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5419,
"form_weight": 0.4581,
"form_reliability": 0.5457,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.007,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5457,
"prior_weight": 0.4543
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.598,
"final": 0.2739,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.018,
"final": 0.4663,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.643,
"final": 0.2945,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.951,
"final": 0.9776,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0321,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.3835,
"final": 5.3835,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6609,
"final": 1.6609,
"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 | Ryne Stanek |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0146 |
| ESPN Rank | 627 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.4000 |
| Season WHIP | 1.5529 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 78,
"wins": 44,
"losses": 34,
"win_pct": 0.5641,
"runs_scored": 345.0,
"runs_allowed": 320.0,
"run_differential": 25.0,
"run_differential_per_game": 0.3205,
"avg_runs_scored": 4.4231,
"avg_runs_allowed": 4.1026,
"offense_index": 0.9855,
"defense_index": 1.094,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 6.7,
"avg_runs_allowed": 4.1,
"run_differential": 26.0
},
"available": true,
"quality_score": 0.1638
},
"opponent": {
"team": "SD",
"games": 76,
"wins": 39,
"losses": 37,
"win_pct": 0.5132,
"runs_scored": 303.0,
"runs_allowed": 321.0,
"run_differential": -18.0,
"run_differential_per_game": -0.2368,
"avg_runs_scored": 3.9868,
"avg_runs_allowed": 4.2237,
"offense_index": 0.8883,
"defense_index": 1.0626,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0178
},
"edges": {
"quality_edge": 0.1816,
"offense_edge": -0.0145,
"opponent_offense_edge": -0.1117,
"defense_strength": 0.094,
"opponent_defense_weakness": -0.0626,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0146,
"run_prevention": 0.9636,
"strikeout": 1.0144
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592773",
"profile": {
"available": true,
"pitcher_id": "592773",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 100.0,
"k_percent": 26.4,
"bb_percent": 14.0,
"woba": 0.341,
"xwoba": 0.317,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 37.3,
"avg_best_speed": 79.4754,
"avg_hyper_speed": 95.1671,
"whiff_percent": 32.5,
"swing_percent": 49.8
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.2237,
"command_and_miss": 0.3429,
"regression_edge": 0.6857,
"xwoba_edge": -0.0571,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.1857,
"whiff_edge": 1.0,
"bb_edge": -1.225,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "592773",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0146,
"sample_weight": 0.45,
"run_prevention_factor": 0.9988,
"strikeout_factor": 1.0275,
"walk_factor": 1.0441,
"homer_factor": 1.003,
"woba_minus_xwoba": 0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592773",
"espn_id": 33301,
"player_name": "Ryne Stanek",
"team": "STL",
"role": "pitcher",
"espn_rank": 627,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 627,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.4,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 11.0,
"hld_rank": 10,
"ip_value": 28.1,
"ip_rank": 267,
"h_value": 26.0,
"h_rank": 250,
"er_value": 17.0,
"er_rank": 178,
"hr_value": 5.0,
"hr_rank": 150,
"bb_value": 18.0,
"bb_rank": 138,
"k_value": 34.0,
"k_rank": 197,
"k_per_9_value": 10.8,
"k_per_9_rank": 19,
"whip_value": 1.5529,
"whip_rank": null,
"war_value": -0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9995,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9995,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0198,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0013,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0124,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 3,
"H": 7,
"BB": 3,
"SO": 9,
"HR": 3,
"ERA": 2.7,
"WHIP": 1.0,
"K9": 8.1,
"HR9": 2.7,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "592773",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.61,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5288,
"prior_weight": 0.4712
},
"role": "pitcher",
"player_id": "592773",
"report_date": "20260615_S",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 0.0,
"SO": 4.0,
"HR": 3.0,
"BF": 21.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.0,
"SO": 0.8,
"HR": 0.6,
"BF": 4.2,
"Pitches": 14.4
},
"rates": {
"ERA": 4.7647,
"WHIP": 0.7059,
"ER_per_IP": 0.52941,
"H_per_IP": 0.70588,
"BB_per_IP": 0.0,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.52941
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 3.0,
"R": 4.0,
"H": 7.0,
"BB": 3.0,
"SO": 9.0,
"HR": 3.0,
"BF": 40.0,
"Pitches": 140.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.7,
"BB": 0.3,
"SO": 0.9,
"HR": 0.3,
"BF": 4.0,
"Pitches": 14.0
},
"rates": {
"ERA": 2.7,
"WHIP": 1.0,
"ER_per_IP": 0.3,
"H_per_IP": 0.7,
"BB_per_IP": 0.3,
"SO_per_IP": 0.9,
"HR_per_IP": 0.3
}
},
"season": {
"games": 31,
"totals": {
"IP": 28.1,
"ER": 17.0,
"R": 19.0,
"H": 26.0,
"BB": 18.0,
"SO": 34.0,
"HR": 5.0,
"BF": 129.0,
"Pitches": 544.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5484,
"R": 0.6129,
"H": 0.8387,
"BB": 0.5806,
"SO": 1.0968,
"HR": 0.1613,
"BF": 4.1613,
"Pitches": 17.5484
},
"rates": {
"ERA": 5.4,
"WHIP": 1.5529,
"ER_per_IP": 0.6,
"H_per_IP": 0.91765,
"BB_per_IP": 0.63529,
"SO_per_IP": 1.2,
"HR_per_IP": 0.17647
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.328,
"predicted_H": 0.585,
"predicted_BB": 0.201,
"predicted_SO": 0.618,
"predicted_HR": 0.184,
"predicted_ERA": 4.3101,
"predicted_WHIP": 1.1455
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5491,
"form_weight": 0.4509,
"form_reliability": 0.5288,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.61,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5288,
"prior_weight": 0.4712
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.328,
"final": 0.1479,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.585,
"final": 0.2638,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.201,
"final": 0.0906,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.618,
"final": 0.2787,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.184,
"final": 0.083,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3101,
"final": 4.3101,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1455,
"final": 1.1455,
"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.254 | 0.000 | 0.000 | Hitting_2B | 0.288 | 0.000 | -0.288 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.300 | 4.000 | 4.000 | Hitting_AB | 4.045 | 4.000 | -0.045 | 0.000 |
| predicted_AVG | 0.250 | 0.250 | 0.250 | Hitting_AVG | 0.281 | 0.250 | -0.031 | 0.000 |
| predicted_BB | 0.373 | 0.000 | 0.000 | Hitting_BB | 0.395 | 0.000 | -0.395 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.070 | 1.000 | 1.000 | Hitting_H | 1.136 | 1.000 | -0.136 | 0.000 |
| predicted_HR | 0.270 | 0.000 | 0.000 | Hitting_HR | 0.152 | 1.000 | -0.152 | -1.000 |
| predicted_OBP | 0.326 | 0.250 | 0.250 | Hitting_OBP | 0.345 | 0.250 | -0.095 | 0.000 |
| predicted_R | 0.582 | 0.000 | 1.000 | Hitting_R | 0.543 | 1.000 | -0.543 | -1.000 |
| predicted_RBI | 0.780 | 0.000 | 1.000 | Hitting_RBI | 0.708 | 1.000 | -0.708 | -1.000 |
| predicted_SLG | 0.527 | 0.250 | 0.250 | Hitting_SLG | 0.465 | 1.000 | -0.215 | -0.750 |
| predicted_SO | 0.701 | 1.000 | 1.000 | Hitting_SO | 0.741 | 2.000 | 0.259 | -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.7010 -> 1.0000 (boost 0.2990, worse) |
| Biggest Deboost | predicted_RBI: 0.7800 -> 0.0000 (deboost -0.7800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_R: 0.5820 -> 0.6763 (boost 0.0943, better) | predicted_AB: 4.3000 -> 4.2002 (deboost -0.0998, 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.5558 -> 0.5387 (deboost -0.0171, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_SO: 0.7038 -> 1.0000 (boost 0.2962, worse) | predicted_BB: 0.3617 -> 0.0000 (deboost -0.3617, worse) | AB rounded to 4 (raw=4.30), rates preserved: AVG=0.255 HR/AB=0.072 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6862 -> 1.0000 (boost 0.3138, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5387 -> 0.2500 (deboost -0.2887, 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_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5387 (boost 0.2887, better) | - | 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.254,
"predicted_3B": 0.0,
"predicted_AB": 4.3,
"predicted_AVG": 0.25,
"predicted_BB": 0.373,
"predicted_H": 1.07,
"predicted_HR": 0.27,
"predicted_OBP": 0.326,
"predicted_R": 0.582,
"predicted_RBI": 0.78,
"predicted_SLG": 0.527,
"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.2371,
"predicted_3B": 0.0004,
"predicted_AB": 4.2002,
"predicted_AVG": 0.2607,
"predicted_BB": 0.3599,
"predicted_H": 1.0907,
"predicted_HBP": 0.02,
"predicted_HR": 0.3085,
"predicted_OBP": 0.329,
"predicted_R": 0.6763,
"predicted_RBI": 0.8083,
"predicted_SLG": 0.5558,
"predicted_SO": 0.7073
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.254,
"after": 0.2371,
"delta": -0.0169,
"percent_delta": -0.0665,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3,
"after": 4.2002,
"delta": -0.0998,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2607,
"delta": 0.0107,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.373,
"after": 0.3599,
"delta": -0.0131,
"percent_delta": -0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0907,
"delta": 0.0207,
"percent_delta": 0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.3085,
"delta": 0.0385,
"percent_delta": 0.1426,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.329,
"delta": 0.003,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.582,
"after": 0.6763,
"delta": 0.0943,
"percent_delta": 0.162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.8083,
"delta": 0.0283,
"percent_delta": 0.0363,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.527,
"after": 0.5558,
"delta": 0.0288,
"percent_delta": 0.0546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.701,
"after": 0.7073,
"delta": 0.0063,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.582,
"after": 0.6763,
"delta": 0.0943,
"percent_delta": 0.162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.3,
"after": 4.2002,
"delta": -0.0998,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2371,
"predicted_3B": 0.0004,
"predicted_AB": 4.2002,
"predicted_AVG": 0.2614,
"predicted_BB": 0.3617,
"predicted_H": 1.0981,
"predicted_HBP": 0.02,
"predicted_HR": 0.3088,
"predicted_OBP": 0.32,
"predicted_R": 0.6862,
"predicted_RBI": 0.8202,
"predicted_SLG": 0.5387,
"predicted_SO": 0.7038
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2371,
"after": 0.2371,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2002,
"after": 4.2002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2607,
"after": 0.2614,
"delta": 0.0007,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3599,
"after": 0.3617,
"delta": 0.0018,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0907,
"after": 1.0981,
"delta": 0.0074,
"percent_delta": 0.0068,
"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.3085,
"after": 0.3088,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.32,
"delta": -0.009,
"percent_delta": -0.0274,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6763,
"after": 0.6862,
"delta": 0.0099,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8083,
"after": 0.8202,
"delta": 0.0119,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5558,
"after": 0.5387,
"delta": -0.0171,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7073,
"after": 0.7038,
"delta": -0.0035,
"percent_delta": -0.0049,
"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.5558,
"after": 0.5387,
"delta": -0.0171,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.30), rates preserved: AVG=0.255 HR/AB=0.072",
"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.2371,
"after": 0.0,
"delta": -0.2371,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2002,
"after": 4.0,
"delta": -0.2002,
"percent_delta": -0.0477,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3617,
"after": 0.0,
"delta": -0.3617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0981,
"after": 1.0,
"delta": -0.0981,
"percent_delta": -0.0893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.3088,
"after": 0.0,
"delta": -0.3088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8202,
"after": 1.0,
"delta": 0.1798,
"percent_delta": 0.2192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7038,
"after": 1.0,
"delta": 0.2962,
"percent_delta": 0.4209,
"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.7038,
"after": 1.0,
"delta": 0.2962,
"percent_delta": 0.4209,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3617,
"after": 0.0,
"delta": -0.3617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.6862,
"after": 1.0,
"delta": 0.3138,
"percent_delta": 0.4573,
"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.6862,
"after": 1.0,
"delta": 0.3138,
"percent_delta": 0.4573,
"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.2614,
"after": 0.25,
"delta": -0.0114,
"percent_delta": -0.0436,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.25,
"delta": -0.07,
"percent_delta": -0.2188,
"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.5387,
"after": 0.25,
"delta": -0.2887,
"percent_delta": -0.5359,
"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.5387,
"after": 0.25,
"delta": -0.2887,
"percent_delta": -0.5359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2614,
"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.32,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5387,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2614,
"delta": 0.0114,
"percent_delta": 0.0458,
"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.32,
"delta": 0.07,
"percent_delta": 0.28,
"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.5387,
"delta": 0.2887,
"percent_delta": 1.1547,
"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.5387,
"delta": 0.2887,
"percent_delta": 1.1547,
"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.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": 4.3,
"after": 4.0,
"delta": -0.3,
"percent_delta": -0.0698,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2614,
"delta": 0.0114,
"percent_delta": 0.0456,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.373,
"after": 0.0,
"delta": -0.373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 1.0,
"delta": -0.07,
"percent_delta": -0.0654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.32,
"delta": -0.006,
"percent_delta": -0.0184,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.582,
"after": 0.0,
"delta": -0.582,
"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.527,
"after": 0.5387,
"delta": 0.0117,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.701,
"after": 1.0,
"delta": 0.299,
"percent_delta": 0.4265,
"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.701,
"after": 1.0,
"delta": 0.299,
"percent_delta": 0.4265,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.0,
"delta": -0.78,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.254 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.300 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.373 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.270 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.582 | - |
| predicted_RBI | 0.780 | - |
| predicted_SLG | 0.527 | - |
| 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.237 | -0.017 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.200 | -0.100 |
| predicted_AVG | 0.261 | 0.011 |
| predicted_BB | 0.360 | -0.013 |
| predicted_H | 1.091 | 0.021 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.308 | 0.038 |
| predicted_OBP | 0.329 | 0.003 |
| predicted_R | 0.676 | 0.094 |
| predicted_RBI | 0.808 | 0.028 |
| predicted_SLG | 0.556 | 0.029 |
| predicted_SO | 0.707 | 0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.200 | 0.000 |
| predicted_AVG | 0.261 | 0.001 |
| predicted_BB | 0.362 | 0.002 |
| predicted_H | 1.098 | 0.007 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.309 | 0.000 |
| predicted_OBP | 0.320 | -0.009 |
| predicted_R | 0.686 | 0.010 |
| predicted_RBI | 0.820 | 0.012 |
| predicted_SLG | 0.539 | -0.017 |
| predicted_SO | 0.704 | -0.004 |
AB rounded to 4 (raw=4.30), rates preserved: AVG=0.255 HR/AB=0.072
| 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.237 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.200 |
| predicted_AVG | 0.250 | -0.011 |
| predicted_BB | 0.000 | -0.362 |
| predicted_H | 1.000 | -0.098 |
| predicted_HR | 0.000 | -0.309 |
| predicted_OBP | 0.250 | -0.070 |
| predicted_R | 1.000 | 0.314 |
| predicted_RBI | 1.000 | 0.180 |
| predicted_SLG | 0.250 | -0.289 |
| predicted_SO | 1.000 | 0.296 |
Attached 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 | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 5.000 | 0.000 | 0.000 | 4.000 | 5.000 | 6.000 | 1.000 | 4.000 | 0.2273 | 0.2609 | 0.7727 | 0.2273 | 0.1818 | 0.2273 | 0.0454 | 0.1818 |
| last_10 | 0.20 | 10 | - | 42.000 | 13.000 | 3.000 | 0.000 | 6.000 | 12.000 | 13.000 | 4.000 | 6.000 | 0.3095 | 0.3696 | 0.8095 | 0.3095 | 0.1429 | 0.2857 | 0.0952 | 0.1429 |
| season | 0.60 | 67 | - | 264.000 | 75.000 | 17.000 | 0.000 | 13.000 | 50.000 | 39.000 | 25.000 | 47.000 | 0.2841 | 0.3481 | 0.4962 | 0.2841 | 0.0492 | 0.1894 | 0.0947 | 0.1780 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2140 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0640 |
| predicted_AVG | 0.2753 |
| predicted_BB | 0.3420 |
| predicted_H | 1.1190 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.3610 |
| predicted_OBP | 0.3330 |
| predicted_R | 0.8050 |
| predicted_RBI | 0.8470 |
| predicted_SLG | 0.5951 |
| predicted_SO | 0.7160 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2540 | 0.2140 | 0.2371 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3000 | 4.0640 | 4.2002 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2753 | 0.2607 | model_form_blend |
| predicted_BB | 0.3730 | 0.3420 | 0.3599 | model_form_blend |
| predicted_H | 1.0700 | 1.1190 | 1.0907 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.2700 | 0.3610 | 0.3085 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3330 | 0.3290 | model_form_blend |
| predicted_R | 0.5820 | 0.8050 | 0.6763 | model_form_blend |
| predicted_RBI | 0.7800 | 0.8470 | 0.8083 | model_form_blend |
| predicted_SLG | 0.5270 | 0.5951 | 0.5558 | model_form_blend |
| predicted_SO | 0.7010 | 0.7160 | 0.7073 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.284 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 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 | 20260614_STL@MIN |
| game_type | full |
| mlbID | 676475 |
| playerID | 676475 |
| playerName | Alec Burleson |
| pos | 1B |
| started | True |
| startingPosition | DH |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.365 |
| sl_xwoba | 0.387 |
| sl_xba | 0.292 |
| sl_xslg | 0.551 |
| sl_sweet_spot_percent | 34.4 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 47.5 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 21.0 |
| 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.191 | 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 | 4.130 | 4.000 | 4.000 | Hitting_AB | 3.791 | 3.000 | 0.209 | 1.000 |
| predicted_AVG | 0.252 | 0.250 | 0.250 | Hitting_AVG | 0.261 | 0.000 | -0.011 | 0.250 |
| predicted_BB | 0.574 | 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.040 | 1.000 | 1.000 | Hitting_H | 0.988 | 0.000 | 0.012 | 1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_OBP | 0.389 | 0.250 | 0.400 | Hitting_OBP | 0.389 | 0.250 | -0.139 | 0.000 |
| predicted_R | 0.647 | 1.000 | 1.000 | Hitting_R | 0.616 | 0.000 | 0.384 | 1.000 |
| predicted_RBI | 0.520 | 1.000 | 0.000 | Hitting_RBI | 0.465 | 0.000 | 0.535 | 1.000 |
| predicted_SLG | 0.447 | 0.250 | 0.250 | Hitting_SLG | 0.408 | 0.000 | -0.158 | 0.250 |
| predicted_SO | 0.735 | 0.000 | 1.000 | Hitting_SO | 0.806 | 0.000 | -0.806 | 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 -> 1.0000 (boost 0.4800, better) |
| Biggest Deboost | predicted_SO: 0.7350 -> 0.0000 (deboost -0.7350, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_BB: 0.5740 -> 0.6296 (boost 0.0556, better) | predicted_AB: 4.1300 -> 3.9090 (deboost -0.2210, 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.4032 -> 0.3664 (deboost -0.0368, 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.6327 -> 1.0000 (boost 0.3673, better) | predicted_RBI: 0.5075 -> 0.0000 (deboost -0.5075, worse) | AB rounded to 4 (raw=4.13), rates preserved: AVG=0.250 HR/AB=0.046 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7112 -> 1.0000 (boost 0.2888, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3664 -> 0.4000 (boost 0.0336, better) | predicted_SLG: 0.4517 -> 0.2500 (deboost -0.2017, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_RBI: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 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.4517 (boost 0.2017, better) | predicted_OBP: 0.4000 -> 0.3664 (deboost -0.0336, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "671056",
"player_name": "Iván Herrera",
"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.191,
"predicted_3B": 0.0,
"predicted_AB": 4.13,
"predicted_AVG": 0.252,
"predicted_BB": 0.574,
"predicted_H": 1.04,
"predicted_HR": 0.18,
"predicted_OBP": 0.389,
"predicted_R": 0.647,
"predicted_RBI": 0.52,
"predicted_SLG": 0.447,
"predicted_SO": 0.735
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1677,
"predicted_3B": 0.0004,
"predicted_AB": 3.909,
"predicted_AVG": 0.2631,
"predicted_BB": 0.6296,
"predicted_H": 1.0243,
"predicted_HBP": 0.242,
"predicted_HR": 0.1885,
"predicted_OBP": 0.4032,
"predicted_R": 0.7009,
"predicted_RBI": 0.5001,
"predicted_SLG": 0.4621,
"predicted_SO": 0.693
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.1677,
"delta": -0.0233,
"percent_delta": -0.122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 3.909,
"delta": -0.221,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2631,
"delta": 0.0111,
"percent_delta": 0.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 0.6296,
"delta": 0.0556,
"percent_delta": 0.0969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0243,
"delta": -0.0157,
"percent_delta": -0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.1885,
"delta": 0.0085,
"percent_delta": 0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.389,
"after": 0.4032,
"delta": 0.0142,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.647,
"after": 0.7009,
"delta": 0.0539,
"percent_delta": 0.0833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 0.5001,
"delta": -0.0199,
"percent_delta": -0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.447,
"after": 0.4621,
"delta": 0.0151,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.735,
"after": 0.693,
"delta": -0.042,
"percent_delta": -0.0571,
"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_BB",
"before": 0.574,
"after": 0.6296,
"delta": 0.0556,
"percent_delta": 0.0969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.13,
"after": 3.909,
"delta": -0.221,
"percent_delta": -0.0535,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1677,
"predicted_3B": 0.0004,
"predicted_AB": 3.909,
"predicted_AVG": 0.2638,
"predicted_BB": 0.6327,
"predicted_H": 1.0313,
"predicted_HBP": 0.242,
"predicted_HR": 0.1887,
"predicted_OBP": 0.3664,
"predicted_R": 0.7112,
"predicted_RBI": 0.5075,
"predicted_SLG": 0.4517,
"predicted_SO": 0.6896
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1677,
"after": 0.1677,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.909,
"after": 3.909,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2631,
"after": 0.2638,
"delta": 0.0007,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6296,
"after": 0.6327,
"delta": 0.0031,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0243,
"after": 1.0313,
"delta": 0.007,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.242,
"after": 0.242,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1885,
"after": 0.1887,
"delta": 0.0002,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4032,
"after": 0.3664,
"delta": -0.0368,
"percent_delta": -0.0913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7009,
"after": 0.7112,
"delta": 0.0103,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5001,
"after": 0.5075,
"delta": 0.0074,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4621,
"after": 0.4517,
"delta": -0.0104,
"percent_delta": -0.0225,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.693,
"after": 0.6896,
"delta": -0.0034,
"percent_delta": -0.0049,
"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.4032,
"after": 0.3664,
"delta": -0.0368,
"percent_delta": -0.0913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.13), rates preserved: AVG=0.250 HR/AB=0.046",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1677,
"after": 0.0,
"delta": -0.1677,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.909,
"after": 4.0,
"delta": 0.091,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6327,
"after": 1.0,
"delta": 0.3673,
"percent_delta": 0.5805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0313,
"after": 1.0,
"delta": -0.0313,
"percent_delta": -0.0304,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.242,
"after": 0.0,
"delta": -0.242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1887,
"after": 0.0,
"delta": -0.1887,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5075,
"after": 0.0,
"delta": -0.5075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6896,
"after": 1.0,
"delta": 0.3104,
"percent_delta": 0.4501,
"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.6327,
"after": 1.0,
"delta": 0.3673,
"percent_delta": 0.5805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.5075,
"after": 0.0,
"delta": -0.5075,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7112,
"after": 1.0,
"delta": 0.2888,
"percent_delta": 0.4061,
"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.7112,
"after": 1.0,
"delta": 0.2888,
"percent_delta": 0.4061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 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.2638,
"after": 0.25,
"delta": -0.0138,
"percent_delta": -0.0523,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3664,
"after": 0.4,
"delta": 0.0336,
"percent_delta": 0.0917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4517,
"after": 0.25,
"delta": -0.2017,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3664,
"after": 0.4,
"delta": 0.0336,
"percent_delta": 0.0917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4517,
"after": 0.25,
"delta": -0.2017,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2638,
"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.3664,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4517,
"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.2638,
"delta": 0.0138,
"percent_delta": 0.0553,
"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.4,
"after": 0.3664,
"delta": -0.0336,
"percent_delta": -0.0841,
"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.4517,
"delta": 0.2017,
"percent_delta": 0.807,
"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.4517,
"delta": 0.2017,
"percent_delta": 0.807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3664,
"delta": -0.0336,
"percent_delta": -0.0841,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.0,
"delta": -0.191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.13,
"after": 4.0,
"delta": -0.13,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2638,
"delta": 0.0118,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 0.0,
"delta": -0.574,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 1.0,
"delta": -0.04,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.389,
"after": 0.3664,
"delta": -0.0226,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.52,
"after": 1.0,
"delta": 0.48,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.447,
"after": 0.4517,
"delta": 0.0047,
"percent_delta": 0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.735,
"after": 0.0,
"delta": -0.735,
"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": 1.0,
"delta": 0.48,
"percent_delta": 0.9231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.735,
"after": 0.0,
"delta": -0.735,
"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.191 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.130 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.574 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.389 | - |
| predicted_R | 0.647 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.447 | - |
| predicted_SO | 0.735 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.023 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.909 | -0.221 |
| predicted_AVG | 0.263 | 0.011 |
| predicted_BB | 0.630 | 0.056 |
| predicted_H | 1.024 | -0.016 |
| predicted_HBP | 0.242 | - |
| predicted_HR | 0.189 | 0.009 |
| predicted_OBP | 0.403 | 0.014 |
| predicted_R | 0.701 | 0.054 |
| predicted_RBI | 0.500 | -0.020 |
| predicted_SLG | 0.462 | 0.015 |
| predicted_SO | 0.693 | -0.042 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 3.909 | 0.000 |
| predicted_AVG | 0.264 | 0.001 |
| predicted_BB | 0.633 | 0.003 |
| predicted_H | 1.031 | 0.007 |
| predicted_HBP | 0.242 | 0.000 |
| predicted_HR | 0.189 | 0.000 |
| predicted_OBP | 0.366 | -0.037 |
| predicted_R | 0.711 | 0.010 |
| predicted_RBI | 0.507 | 0.007 |
| predicted_SLG | 0.452 | -0.010 |
| predicted_SO | 0.690 | -0.003 |
AB rounded to 4 (raw=4.13), rates preserved: AVG=0.250 HR/AB=0.046
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.168 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.091 |
| predicted_AVG | 0.250 | -0.014 |
| predicted_BB | 1.000 | 0.367 |
| predicted_H | 1.000 | -0.031 |
| predicted_HR | 0.000 | -0.189 |
| predicted_OBP | 0.400 | 0.034 |
| predicted_R | 1.000 | 0.289 |
| predicted_RBI | 0.000 | -0.507 |
| predicted_SLG | 0.250 | -0.202 |
| predicted_SO | 1.000 | 0.310 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 0.000 | 0.000 | 2.000 | 3.000 | 5.000 | 6.000 | 2.000 | 0.3125 | 0.5217 | 0.6875 | 0.3125 | 0.1250 | 0.1875 | 0.3750 | 0.1250 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 1.000 | 0.000 | 2.000 | 4.000 | 10.000 | 7.000 | 5.000 | 0.3056 | 0.4681 | 0.5000 | 0.3056 | 0.0556 | 0.1111 | 0.1944 | 0.1389 |
| season | 0.60 | 68 | - | 252.000 | 66.000 | 13.000 | 0.000 | 9.000 | 30.000 | 44.000 | 39.000 | 50.000 | 0.2619 | 0.3916 | 0.4206 | 0.2619 | 0.0357 | 0.1191 | 0.1548 | 0.1984 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6090 |
| predicted_AVG | 0.2781 |
| predicted_BB | 0.7050 |
| predicted_H | 1.0030 |
| predicted_HBP | 0.2420 |
| predicted_HR | 0.2000 |
| predicted_OBP | 0.4224 |
| predicted_R | 0.7740 |
| predicted_RBI | 0.4730 |
| predicted_SLG | 0.4827 |
| predicted_SO | 0.6360 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.1360 | 0.1677 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1300 | 3.6090 | 3.9090 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2781 | 0.2631 | model_form_blend |
| predicted_BB | 0.5740 | 0.7050 | 0.6296 | model_form_blend |
| predicted_H | 1.0400 | 1.0030 | 1.0243 | model_form_blend |
| predicted_HBP | - | 0.2420 | 0.2420 | form_only |
| predicted_HR | 0.1800 | 0.2000 | 0.1885 | model_form_blend |
| predicted_OBP | 0.3890 | 0.4224 | 0.4032 | model_form_blend |
| predicted_R | 0.6470 | 0.7740 | 0.7009 | model_form_blend |
| predicted_RBI | 0.5200 | 0.4730 | 0.5001 | model_form_blend |
| predicted_SLG | 0.4470 | 0.4827 | 0.4621 | model_form_blend |
| predicted_SO | 0.7350 | 0.6360 | 0.6930 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 258 |
| Season rows before report date | 258 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| 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 | 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 | 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 | 20260614_STL@MIN |
| game_type | full |
| mlbID | 671056 |
| playerID | 671056 |
| playerName | Iván Herrera |
| pos | DH |
| started | True |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.372 |
| sl_xwoba | 0.372 |
| sl_xba | 0.273 |
| sl_xslg | 0.433 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 42.6 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 5.8 |
| sl_whiff_percent | 19.9 |
| 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.111 | 1.000 | 0.000 | Hitting_2B | 0.122 | 0.000 | 0.878 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.390 | 4.000 | 4.000 | Hitting_AB | 3.918 | 5.000 | 0.082 | -1.000 |
| predicted_AVG | 0.250 | 0.250 | 0.250 | Hitting_AVG | 0.240 | 0.400 | 0.010 | -0.150 |
| predicted_BB | 0.492 | 0.000 | 0.000 | Hitting_BB | 0.561 | 0.000 | -0.561 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 1.000 | 1.000 | Hitting_H | 0.941 | 2.000 | 0.059 | -1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.169 | 1.000 | -0.169 | -1.000 |
| predicted_OBP | 0.351 | 0.250 | 0.250 | Hitting_OBP | 0.360 | 0.400 | -0.110 | -0.150 |
| predicted_R | 0.698 | 0.000 | 1.000 | Hitting_R | 0.706 | 1.000 | -0.706 | -1.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.482 | 3.000 | -0.482 | -3.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_SLG | 0.416 | 0.500 | 0.250 | Hitting_SLG | 0.400 | 1.000 | 0.100 | -0.500 |
| predicted_SO | 0.762 | 2.000 | 1.000 | Hitting_SO | 0.827 | 1.000 | 1.173 | 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.7620 -> 2.0000 (boost 1.2380, worse) |
| Biggest Deboost | predicted_R: 0.6980 -> 0.0000 (deboost -0.6980, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2500 -> 0.2671 (boost 0.0171, better) | predicted_AB: 4.3900 -> 4.2594 (deboost -0.1306, 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.4193 -> 0.3985 (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 | 8 | 2 | 6 | 1 | 7 | predicted_RBI: 0.6169 -> 1.0000 (boost 0.3831, better) | predicted_BB: 0.4604 -> 0.0000 (deboost -0.4604, worse) | AB rounded to 4 (raw=4.39), rates preserved: AVG=0.261 HR/AB=0.035 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7370 -> 1.0000 (boost 0.2630, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3985 -> 0.2500 (deboost -0.1485, worse) | 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3985 (boost 0.1485, 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.111,
"predicted_3B": 0.0,
"predicted_AB": 4.39,
"predicted_AVG": 0.25,
"predicted_BB": 0.492,
"predicted_H": 1.1,
"predicted_HR": 0.15,
"predicted_OBP": 0.351,
"predicted_R": 0.698,
"predicted_RBI": 0.6,
"predicted_SLG": 0.416,
"predicted_SO": 0.762
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0987,
"predicted_3B": 0.0004,
"predicted_AB": 4.2594,
"predicted_AVG": 0.2671,
"predicted_BB": 0.4582,
"predicted_H": 1.1359,
"predicted_HBP": 0.094,
"predicted_HR": 0.1513,
"predicted_OBP": 0.3581,
"predicted_R": 0.7263,
"predicted_RBI": 0.608,
"predicted_SLG": 0.4193,
"predicted_SO": 0.7366
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0987,
"delta": -0.0123,
"percent_delta": -0.1108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.39,
"after": 4.2594,
"delta": -0.1306,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2671,
"delta": 0.0171,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.492,
"after": 0.4582,
"delta": -0.0338,
"percent_delta": -0.0687,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.1359,
"delta": 0.0359,
"percent_delta": 0.0326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1513,
"delta": 0.0013,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3581,
"delta": 0.0071,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.698,
"after": 0.7263,
"delta": 0.0283,
"percent_delta": 0.0405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.608,
"delta": 0.008,
"percent_delta": 0.0133,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4193,
"delta": 0.0033,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.762,
"after": 0.7366,
"delta": -0.0254,
"percent_delta": -0.0333,
"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.2671,
"delta": 0.0171,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.39,
"after": 4.2594,
"delta": -0.1306,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 63
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0987,
"predicted_3B": 0.0004,
"predicted_AB": 4.2594,
"predicted_AVG": 0.2685,
"predicted_BB": 0.4604,
"predicted_H": 1.1436,
"predicted_HBP": 0.094,
"predicted_HR": 0.1515,
"predicted_OBP": 0.3399,
"predicted_R": 0.737,
"predicted_RBI": 0.6169,
"predicted_SLG": 0.3985,
"predicted_SO": 0.733
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0987,
"after": 0.0987,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2594,
"after": 4.2594,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2671,
"after": 0.2685,
"delta": 0.0014,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4582,
"after": 0.4604,
"delta": 0.0022,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1359,
"after": 1.1436,
"delta": 0.0077,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.094,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1513,
"after": 0.1515,
"delta": 0.0002,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3581,
"after": 0.3399,
"delta": -0.0182,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7263,
"after": 0.737,
"delta": 0.0107,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.608,
"after": 0.6169,
"delta": 0.0089,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4193,
"after": 0.3985,
"delta": -0.0208,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7366,
"after": 0.733,
"delta": -0.0036,
"percent_delta": -0.0049,
"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.4193,
"after": 0.3985,
"delta": -0.0208,
"percent_delta": -0.0496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.39), rates preserved: AVG=0.261 HR/AB=0.035",
"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.0987,
"after": 0.0,
"delta": -0.0987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2594,
"after": 4.0,
"delta": -0.2594,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4604,
"after": 0.0,
"delta": -0.4604,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1436,
"after": 1.0,
"delta": -0.1436,
"percent_delta": -0.1256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.094,
"after": 0.0,
"delta": -0.094,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1515,
"after": 0.0,
"delta": -0.1515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6169,
"after": 1.0,
"delta": 0.3831,
"percent_delta": 0.621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.733,
"after": 1.0,
"delta": 0.267,
"percent_delta": 0.3643,
"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.6169,
"after": 1.0,
"delta": 0.3831,
"percent_delta": 0.621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4604,
"after": 0.0,
"delta": -0.4604,
"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.737,
"after": 1.0,
"delta": 0.263,
"percent_delta": 0.3569,
"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.737,
"after": 1.0,
"delta": 0.263,
"percent_delta": 0.3569,
"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.2685,
"after": 0.25,
"delta": -0.0185,
"percent_delta": -0.0689,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3399,
"after": 0.25,
"delta": -0.0899,
"percent_delta": -0.2645,
"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.3985,
"after": 0.25,
"delta": -0.1485,
"percent_delta": -0.3726,
"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.3985,
"after": 0.25,
"delta": -0.1485,
"percent_delta": -0.3726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"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_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2685,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3399,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3985,
"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.2685,
"delta": 0.0185,
"percent_delta": 0.074,
"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.3399,
"delta": 0.0899,
"percent_delta": 0.3594,
"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.3985,
"delta": 0.1485,
"percent_delta": 0.5941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3985,
"delta": 0.1485,
"percent_delta": 0.5941,
"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.111,
"after": 1.0,
"delta": 0.889,
"percent_delta": 8.009,
"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.39,
"after": 4.0,
"delta": -0.39,
"percent_delta": -0.0888,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2685,
"delta": 0.0185,
"percent_delta": 0.074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.492,
"after": 0.0,
"delta": -0.492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 1.0,
"delta": -0.1,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3399,
"delta": -0.0111,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.698,
"after": 0.0,
"delta": -0.698,
"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.416,
"after": 0.3985,
"delta": -0.0175,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.762,
"after": 2.0,
"delta": 1.238,
"percent_delta": 1.6247,
"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.762,
"after": 2.0,
"delta": 1.238,
"percent_delta": 1.6247,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.698,
"after": 0.0,
"delta": -0.698,
"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.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.390 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.492 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.698 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.416 | - |
| predicted_SO | 0.762 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.099 | -0.012 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.259 | -0.131 |
| predicted_AVG | 0.267 | 0.017 |
| predicted_BB | 0.458 | -0.034 |
| predicted_H | 1.136 | 0.036 |
| predicted_HBP | 0.094 | - |
| predicted_HR | 0.151 | 0.001 |
| predicted_OBP | 0.358 | 0.007 |
| predicted_R | 0.726 | 0.028 |
| predicted_RBI | 0.608 | 0.008 |
| predicted_SLG | 0.419 | 0.003 |
| predicted_SO | 0.737 | -0.025 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.099 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.259 | 0.000 |
| predicted_AVG | 0.269 | 0.001 |
| predicted_BB | 0.460 | 0.002 |
| predicted_H | 1.144 | 0.008 |
| predicted_HBP | 0.094 | 0.000 |
| predicted_HR | 0.151 | 0.000 |
| predicted_OBP | 0.340 | -0.018 |
| predicted_R | 0.737 | 0.011 |
| predicted_RBI | 0.617 | 0.009 |
| predicted_SLG | 0.399 | -0.021 |
| predicted_SO | 0.733 | -0.004 |
AB rounded to 4 (raw=4.39), rates preserved: AVG=0.261 HR/AB=0.035
| 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.099 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.259 |
| predicted_AVG | 0.250 | -0.019 |
| predicted_BB | 0.000 | -0.460 |
| predicted_H | 1.000 | -0.144 |
| predicted_HR | 0.000 | -0.151 |
| predicted_OBP | 0.250 | -0.090 |
| predicted_R | 1.000 | 0.263 |
| predicted_RBI | 1.000 | 0.383 |
| predicted_SLG | 0.250 | -0.149 |
| predicted_SO | 1.000 | 0.267 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 8.000 | 0.000 | 0.000 | 1.000 | 6.000 | 5.000 | 1.000 | 3.000 | 0.3478 | 0.3750 | 0.4783 | 0.3478 | 0.0435 | 0.2609 | 0.0435 | 0.1304 |
| last_10 | 0.20 | 10 | - | 42.000 | 15.000 | 0.000 | 0.000 | 1.000 | 6.000 | 9.000 | 4.000 | 5.000 | 0.3571 | 0.4130 | 0.4286 | 0.3571 | 0.0238 | 0.1429 | 0.0952 | 0.1191 |
| season | 0.60 | 63 | - | 246.000 | 63.000 | 7.000 | 0.000 | 10.000 | 30.000 | 44.000 | 31.000 | 48.000 | 0.2561 | 0.3599 | 0.4065 | 0.2561 | 0.0406 | 0.1220 | 0.1260 | 0.1951 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0820 |
| predicted_3B | 0.0010 |
| predicted_AB | 4.0810 |
| predicted_AVG | 0.2905 |
| predicted_BB | 0.4120 |
| predicted_H | 1.1850 |
| predicted_HBP | 0.0940 |
| predicted_HR | 0.1530 |
| predicted_OBP | 0.3679 |
| predicted_R | 0.7650 |
| predicted_RBI | 0.6190 |
| predicted_SLG | 0.4238 |
| predicted_SO | 0.7020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.0820 | 0.0987 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.3900 | 4.0810 | 4.2594 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2905 | 0.2671 | model_form_blend |
| predicted_BB | 0.4920 | 0.4120 | 0.4582 | model_form_blend |
| predicted_H | 1.1000 | 1.1850 | 1.1359 | model_form_blend |
| predicted_HBP | - | 0.0940 | 0.0940 | form_only |
| predicted_HR | 0.1500 | 0.1530 | 0.1513 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3679 | 0.3581 | model_form_blend |
| predicted_R | 0.6980 | 0.7650 | 0.7263 | model_form_blend |
| predicted_RBI | 0.6000 | 0.6190 | 0.6080 | model_form_blend |
| predicted_SLG | 0.4160 | 0.4238 | 0.4193 | model_form_blend |
| predicted_SO | 0.7620 | 0.7020 | 0.7366 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 255 |
| Season rows before report date | 255 |
| Report year | 2026 |
| Profile rows used | 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 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-2B |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 802139 |
| playerID | 802139 |
| playerName | JJ Wetherholt |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.6 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.337 |
| sl_xwoba | 0.352 |
| sl_xba | 0.251 |
| sl_xslg | 0.436 |
| sl_sweet_spot_percent | 34.5 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 46.5 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 16.0 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 44.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.239 | 0.000 | 0.000 | Hitting_2B | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.170 | 3.000 | 4.000 | Hitting_AB | 3.937 | 4.000 | -0.937 | -1.000 |
| predicted_AVG | 0.255 | 0.000 | 0.250 | Hitting_AVG | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_BB | 0.313 | 0.000 | 0.000 | Hitting_BB | 0.389 | 0.000 | -0.389 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.063 | 0.000 | -0.063 | 0.000 |
| predicted_H | 1.060 | 0.000 | 1.000 | Hitting_H | 1.251 | 0.000 | -1.251 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.301 | 0.000 | -0.301 | 0.000 |
| predicted_OBP | 0.319 | 0.000 | 0.250 | Hitting_OBP | 0.381 | 0.000 | -0.381 | 0.000 |
| predicted_R | 0.672 | 1.000 | 1.000 | Hitting_R | 0.757 | 0.000 | 0.243 | 1.000 |
| predicted_RBI | 0.820 | 1.000 | 1.000 | Hitting_RBI | 0.887 | 0.000 | 0.113 | 1.000 |
| predicted_SLG | 0.499 | 0.000 | 0.250 | Hitting_SLG | 0.610 | 0.000 | -0.610 | 0.000 |
| predicted_SO | 1.104 | 1.000 | 1.000 | Hitting_SO | 1.105 | 3.000 | -0.105 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_R: 0.6720 -> 1.0000 (boost 0.3280, better) |
| Biggest Deboost | predicted_AB: 4.1700 -> 3.0000 (deboost -1.1700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 0.8200 -> 0.8821 (boost 0.0621, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.5204 -> 0.5056 (deboost -0.0148, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_RBI: 0.8951 -> 1.0000 (boost 0.1049, better) | predicted_BB: 0.2712 -> 0.0000 (deboost -0.2712, worse) | AB rounded to 4 (raw=4.17), rates preserved: AVG=0.270 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6587 -> 1.0000 (boost 0.3413, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5056 -> 0.2500 (deboost -0.2556, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 2 | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5056 (boost 0.2556, 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.239,
"predicted_3B": 0.0,
"predicted_AB": 4.17,
"predicted_AVG": 0.255,
"predicted_BB": 0.313,
"predicted_H": 1.06,
"predicted_HR": 0.22,
"predicted_OBP": 0.319,
"predicted_R": 0.672,
"predicted_RBI": 0.82,
"predicted_SLG": 0.499,
"predicted_SO": 1.104
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2529,
"predicted_3B": 0.0008,
"predicted_AB": 4.1708,
"predicted_AVG": 0.2683,
"predicted_BB": 0.2699,
"predicted_H": 1.1174,
"predicted_HBP": 0.021,
"predicted_HR": 0.2428,
"predicted_OBP": 0.3205,
"predicted_R": 0.6492,
"predicted_RBI": 0.8821,
"predicted_SLG": 0.5204,
"predicted_SO": 1.0956
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.2529,
"delta": 0.0139,
"percent_delta": 0.0582,
"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": 4.17,
"after": 4.1708,
"delta": 0.0008,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2683,
"delta": 0.0133,
"percent_delta": 0.0522,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.313,
"after": 0.2699,
"delta": -0.0431,
"percent_delta": -0.1377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 1.1174,
"delta": 0.0574,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2428,
"delta": 0.0228,
"percent_delta": 0.1036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3205,
"delta": 0.0015,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.672,
"after": 0.6492,
"delta": -0.0228,
"percent_delta": -0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.82,
"after": 0.8821,
"delta": 0.0621,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.499,
"after": 0.5204,
"delta": 0.0214,
"percent_delta": 0.0429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.104,
"after": 1.0956,
"delta": -0.0084,
"percent_delta": -0.0076,
"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": 0.82,
"after": 0.8821,
"delta": 0.0621,
"percent_delta": 0.0757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2529,
"predicted_3B": 0.0008,
"predicted_AB": 4.1708,
"predicted_AVG": 0.2697,
"predicted_BB": 0.2712,
"predicted_H": 1.125,
"predicted_HBP": 0.021,
"predicted_HR": 0.2431,
"predicted_OBP": 0.3143,
"predicted_R": 0.6587,
"predicted_RBI": 0.8951,
"predicted_SLG": 0.5056,
"predicted_SO": 1.0902
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2529,
"after": 0.2529,
"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.1708,
"after": 4.1708,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2683,
"after": 0.2697,
"delta": 0.0014,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2699,
"after": 0.2712,
"delta": 0.0013,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1174,
"after": 1.125,
"delta": 0.0076,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2428,
"after": 0.2431,
"delta": 0.0003,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3205,
"after": 0.3143,
"delta": -0.0062,
"percent_delta": -0.0193,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6492,
"after": 0.6587,
"delta": 0.0095,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8821,
"after": 0.8951,
"delta": 0.013,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5204,
"after": 0.5056,
"delta": -0.0148,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0956,
"after": 1.0902,
"delta": -0.0054,
"percent_delta": -0.0049,
"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.5204,
"after": 0.5056,
"delta": -0.0148,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.17), rates preserved: AVG=0.270 HR/AB=0.058",
"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.2529,
"after": 0.0,
"delta": -0.2529,
"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.1708,
"after": 4.0,
"delta": -0.1708,
"percent_delta": -0.041,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2712,
"after": 0.0,
"delta": -0.2712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.125,
"after": 1.0,
"delta": -0.125,
"percent_delta": -0.1111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2431,
"after": 0.0,
"delta": -0.2431,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8951,
"after": 1.0,
"delta": 0.1049,
"percent_delta": 0.1172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0902,
"after": 1.0,
"delta": -0.0902,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.8951,
"after": 1.0,
"delta": 0.1049,
"percent_delta": 0.1172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2712,
"after": 0.0,
"delta": -0.2712,
"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.6587,
"after": 1.0,
"delta": 0.3413,
"percent_delta": 0.5181,
"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.6587,
"after": 1.0,
"delta": 0.3413,
"percent_delta": 0.5181,
"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.2697,
"after": 0.25,
"delta": -0.0197,
"percent_delta": -0.073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3143,
"after": 0.25,
"delta": -0.0643,
"percent_delta": -0.2046,
"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.5056,
"after": 0.25,
"delta": -0.2556,
"percent_delta": -0.5055,
"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.5056,
"after": 0.25,
"delta": -0.2556,
"percent_delta": -0.5055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2697,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3143,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.5056,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2697,
"delta": 0.0197,
"percent_delta": 0.0789,
"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.3143,
"delta": 0.0643,
"percent_delta": 0.2573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5056,
"delta": 0.2556,
"percent_delta": 1.0223,
"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.5056,
"delta": 0.2556,
"percent_delta": 1.0223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.0,
"delta": -0.239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.17,
"after": 3.0,
"delta": -1.17,
"percent_delta": -0.2806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2697,
"delta": 0.0147,
"percent_delta": 0.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.313,
"after": 0.0,
"delta": -0.313,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 0.0,
"delta": -1.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3143,
"delta": -0.0047,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.672,
"after": 1.0,
"delta": 0.328,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.82,
"after": 1.0,
"delta": 0.18,
"percent_delta": 0.2195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.499,
"after": 0.5056,
"delta": 0.0066,
"percent_delta": 0.0132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.104,
"after": 1.0,
"delta": -0.104,
"percent_delta": -0.0942,
"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_R",
"before": 0.672,
"after": 1.0,
"delta": 0.328,
"percent_delta": 0.4881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.17,
"after": 3.0,
"delta": -1.17,
"percent_delta": -0.2806,
"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.239 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.170 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.313 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.672 | - |
| predicted_RBI | 0.820 | - |
| predicted_SLG | 0.499 | - |
| predicted_SO | 1.104 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% 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.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.171 | 0.001 |
| predicted_AVG | 0.268 | 0.013 |
| predicted_BB | 0.270 | -0.043 |
| predicted_H | 1.117 | 0.057 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.243 | 0.023 |
| predicted_OBP | 0.321 | 0.002 |
| predicted_R | 0.649 | -0.023 |
| predicted_RBI | 0.882 | 0.062 |
| predicted_SLG | 0.520 | 0.021 |
| predicted_SO | 1.096 | -0.008 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.253 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.171 | 0.000 |
| predicted_AVG | 0.270 | 0.001 |
| predicted_BB | 0.271 | 0.001 |
| predicted_H | 1.125 | 0.008 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.243 | 0.000 |
| predicted_OBP | 0.314 | -0.006 |
| predicted_R | 0.659 | 0.009 |
| predicted_RBI | 0.895 | 0.013 |
| predicted_SLG | 0.506 | -0.015 |
| predicted_SO | 1.090 | -0.005 |
AB rounded to 4 (raw=4.17), rates preserved: AVG=0.270 HR/AB=0.058
| 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.253 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.171 |
| predicted_AVG | 0.250 | -0.020 |
| predicted_BB | 0.000 | -0.271 |
| predicted_H | 1.000 | -0.125 |
| predicted_HR | 0.000 | -0.243 |
| predicted_OBP | 0.250 | -0.064 |
| predicted_R | 1.000 | 0.341 |
| predicted_RBI | 1.000 | 0.105 |
| predicted_SLG | 0.250 | -0.256 |
| predicted_SO | 1.000 | -0.090 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 5.000 | 1.000 | 0.000 | 2.000 | 8.000 | 2.000 | 0.000 | 6.000 | 0.2174 | 0.2174 | 0.5217 | 0.2174 | 0.0870 | 0.3478 | 0.0000 | 0.2609 |
| last_10 | 0.20 | 10 | - | 46.000 | 16.000 | 5.000 | 0.000 | 3.000 | 12.000 | 7.000 | 0.000 | 10.000 | 0.3478 | 0.3478 | 0.6522 | 0.3478 | 0.0652 | 0.2609 | 0.0000 | 0.2174 |
| season | 0.60 | 67 | - | 264.000 | 78.000 | 16.000 | 0.000 | 17.000 | 53.000 | 45.000 | 21.000 | 74.000 | 0.2955 | 0.3507 | 0.5492 | 0.2954 | 0.0644 | 0.2008 | 0.0795 | 0.2803 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2720 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.1720 |
| predicted_AVG | 0.2866 |
| predicted_BB | 0.2110 |
| predicted_H | 1.1960 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.2740 |
| predicted_OBP | 0.3225 |
| predicted_R | 0.6180 |
| predicted_RBI | 0.9670 |
| predicted_SLG | 0.5497 |
| predicted_SO | 1.0840 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2390 | 0.2720 | 0.2529 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.1700 | 4.1720 | 4.1708 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2866 | 0.2683 | model_form_blend |
| predicted_BB | 0.3130 | 0.2110 | 0.2699 | model_form_blend |
| predicted_H | 1.0600 | 1.1960 | 1.1174 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.2200 | 0.2740 | 0.2428 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3225 | 0.3205 | model_form_blend |
| predicted_R | 0.6720 | 0.6180 | 0.6492 | model_form_blend |
| predicted_RBI | 0.8200 | 0.9670 | 0.8821 | model_form_blend |
| predicted_SLG | 0.4990 | 0.5497 | 0.5204 | model_form_blend |
| predicted_SO | 1.1040 | 1.0840 | 1.0956 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 239 |
| Season rows before report date | 239 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.295 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | RF |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 691023 |
| playerID | 691023 |
| playerName | Jordan Walker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.9 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.394 |
| sl_xwoba | 0.377 |
| sl_xba | 0.288 |
| sl_xslg | 0.531 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 13.9 |
| sl_hard_hit_percent | 52.1 |
| sl_exit_velocity_avg | 94.5 |
| sl_launch_angle_avg | 13.3 |
| sl_whiff_percent | 31.1 |
| 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.150 | 0.000 | 0.000 | Hitting_2B | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_AB | 3.750 | 3.000 | 4.000 | Hitting_AB | 3.809 | 1.000 | -0.809 | 2.000 |
| predicted_AVG | 0.230 | 0.000 | 0.250 | Hitting_AVG | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_BB | 0.350 | 1.000 | 0.000 | Hitting_BB | 0.340 | 0.000 | 0.660 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.860 | 0.000 | 1.000 | Hitting_H | 0.870 | 0.000 | -0.870 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_OBP | 0.297 | 0.250 | 0.250 | Hitting_OBP | 0.299 | 0.000 | -0.049 | 0.250 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_SLG | 0.325 | 0.000 | 0.250 | Hitting_SLG | 0.316 | 0.000 | -0.316 | 0.000 |
| predicted_SO | 0.883 | 0.000 | 1.000 | Hitting_SO | 0.851 | 1.000 | -0.851 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3500 -> 1.0000 (boost 0.6500, better) |
| Biggest Deboost | predicted_SO: 0.8830 -> 0.0000 (deboost -0.8830, 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 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3250 -> 0.3107 (deboost -0.0143, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3107 -> 0.3182 (boost 0.0075, 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: 3.7253 -> 4.0000 (boost 0.2747, better) | predicted_RBI: 0.4553 -> 0.0000 (deboost -0.4553, worse) | AB rounded to 4 (raw=3.75), rates preserved: AVG=0.223 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4509 -> 0.0000 (deboost -0.4509, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2243 -> 0.2500 (boost 0.0257, better) | predicted_SLG: 0.3182 -> 0.2500 (deboost -0.0682, 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_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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3182 (boost 0.0682, better) | predicted_AVG: 0.2500 -> 0.2243 (deboost -0.0257, 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.15,
"predicted_3B": 0.033,
"predicted_AB": 3.75,
"predicted_AVG": 0.23,
"predicted_BB": 0.35,
"predicted_H": 0.86,
"predicted_HR": 0.06,
"predicted_OBP": 0.297,
"predicted_R": 0.4,
"predicted_RBI": 0.45,
"predicted_SLG": 0.325,
"predicted_SO": 0.883
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1521,
"predicted_3B": 0.0271,
"predicted_AB": 3.7253,
"predicted_AVG": 0.2231,
"predicted_BB": 0.3634,
"predicted_H": 0.8298,
"predicted_HBP": 0.065,
"predicted_HR": 0.0478,
"predicted_OBP": 0.2949,
"predicted_R": 0.4444,
"predicted_RBI": 0.4487,
"predicted_SLG": 0.3107,
"predicted_SO": 0.8532
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.15,
"after": 0.1521,
"delta": 0.0021,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0271,
"delta": -0.0059,
"percent_delta": -0.1788,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.7253,
"delta": -0.0247,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2231,
"delta": -0.0069,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.35,
"after": 0.3634,
"delta": 0.0134,
"percent_delta": 0.0383,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.86,
"after": 0.8298,
"delta": -0.0302,
"percent_delta": -0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0478,
"delta": -0.0122,
"percent_delta": -0.2033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2949,
"delta": -0.0021,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4444,
"delta": 0.0444,
"percent_delta": 0.111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4487,
"delta": -0.0013,
"percent_delta": -0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3107,
"delta": -0.0143,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.883,
"after": 0.8532,
"delta": -0.0298,
"percent_delta": -0.0337,
"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.325,
"after": 0.3107,
"delta": -0.0143,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"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.1521,
"predicted_3B": 0.0271,
"predicted_AB": 3.7253,
"predicted_AVG": 0.2243,
"predicted_BB": 0.3652,
"predicted_H": 0.8354,
"predicted_HBP": 0.065,
"predicted_HR": 0.0479,
"predicted_OBP": 0.2935,
"predicted_R": 0.4509,
"predicted_RBI": 0.4553,
"predicted_SLG": 0.3182,
"predicted_SO": 0.849
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1521,
"after": 0.1521,
"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": 3.7253,
"after": 3.7253,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2231,
"after": 0.2243,
"delta": 0.0012,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3634,
"after": 0.3652,
"delta": 0.0018,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8298,
"after": 0.8354,
"delta": 0.0056,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.065,
"after": 0.065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0478,
"after": 0.0479,
"delta": 0.0001,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2949,
"after": 0.2935,
"delta": -0.0014,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4444,
"after": 0.4509,
"delta": 0.0065,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4487,
"after": 0.4553,
"delta": 0.0066,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3107,
"after": 0.3182,
"delta": 0.0075,
"percent_delta": 0.0241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8532,
"after": 0.849,
"delta": -0.0042,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_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.3107,
"after": 0.3182,
"delta": 0.0075,
"percent_delta": 0.0241,
"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.75), rates preserved: AVG=0.223 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.1521,
"after": 0.0,
"delta": -0.1521,
"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": 3.7253,
"after": 4.0,
"delta": 0.2747,
"percent_delta": 0.0737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3652,
"after": 0.0,
"delta": -0.3652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8354,
"after": 1.0,
"delta": 0.1646,
"percent_delta": 0.197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.065,
"after": 0.0,
"delta": -0.065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0479,
"after": 0.0,
"delta": -0.0479,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4553,
"after": 0.0,
"delta": -0.4553,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.849,
"after": 1.0,
"delta": 0.151,
"percent_delta": 0.1779,
"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.7253,
"after": 4.0,
"delta": 0.2747,
"percent_delta": 0.0737,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4553,
"after": 0.0,
"delta": -0.4553,
"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.4509,
"after": 0.0,
"delta": -0.4509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4509,
"after": 0.0,
"delta": -0.4509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player 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.2243,
"after": 0.25,
"delta": 0.0257,
"percent_delta": 0.1146,
"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.2935,
"after": 0.25,
"delta": -0.0435,
"percent_delta": -0.1482,
"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.3182,
"after": 0.25,
"delta": -0.0682,
"percent_delta": -0.2143,
"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.2243,
"after": 0.25,
"delta": 0.0257,
"percent_delta": 0.1146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3182,
"after": 0.25,
"delta": -0.0682,
"percent_delta": -0.2143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 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.2243,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2935,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3182,
"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.2243,
"delta": -0.0257,
"percent_delta": -0.103,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2935,
"delta": 0.0435,
"percent_delta": 0.1741,
"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.3182,
"delta": 0.0682,
"percent_delta": 0.2727,
"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.3182,
"delta": 0.0682,
"percent_delta": 0.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2243,
"delta": -0.0257,
"percent_delta": -0.103,
"direction": "deboost",
"projection_effect": "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.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.75,
"after": 3.0,
"delta": -0.75,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2243,
"delta": -0.0057,
"percent_delta": -0.0248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2935,
"delta": -0.0035,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.325,
"after": 0.3182,
"delta": -0.0068,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.883,
"after": 0.0,
"delta": -0.883,
"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.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.883,
"after": 0.0,
"delta": -0.883,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.150 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 3.750 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.350 | - |
| predicted_H | 0.860 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.325 | - |
| predicted_SO | 0.883 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | 0.002 |
| predicted_3B | 0.027 | -0.006 |
| predicted_AB | 3.725 | -0.025 |
| predicted_AVG | 0.223 | -0.007 |
| predicted_BB | 0.363 | 0.013 |
| predicted_H | 0.830 | -0.030 |
| predicted_HBP | 0.065 | - |
| predicted_HR | 0.048 | -0.012 |
| predicted_OBP | 0.295 | -0.002 |
| predicted_R | 0.444 | 0.044 |
| predicted_RBI | 0.449 | -0.001 |
| predicted_SLG | 0.311 | -0.014 |
| predicted_SO | 0.853 | -0.030 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | 0.000 |
| predicted_3B | 0.027 | 0.000 |
| predicted_AB | 3.725 | 0.000 |
| predicted_AVG | 0.224 | 0.001 |
| predicted_BB | 0.365 | 0.002 |
| predicted_H | 0.835 | 0.006 |
| predicted_HBP | 0.065 | 0.000 |
| predicted_HR | 0.048 | 0.000 |
| predicted_OBP | 0.293 | -0.001 |
| predicted_R | 0.451 | 0.007 |
| predicted_RBI | 0.455 | 0.007 |
| predicted_SLG | 0.318 | 0.008 |
| predicted_SO | 0.849 | -0.004 |
AB rounded to 4 (raw=3.75), rates preserved: AVG=0.223 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.152 |
| predicted_3B | 0.000 | -0.027 |
| predicted_AB | 4.000 | 0.275 |
| predicted_AVG | 0.250 | 0.026 |
| predicted_BB | 0.000 | -0.365 |
| predicted_H | 1.000 | 0.165 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.250 | -0.043 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 0.000 | -0.455 |
| predicted_SLG | 0.250 | -0.068 |
| predicted_SO | 1.000 | 0.151 |
Attached 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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 1.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 3.000 | 0.1765 | 0.2500 | 0.2353 | 0.1765 | 0.0000 | 0.1177 | 0.1177 | 0.1765 |
| last_10 | 0.20 | 10 | - | 37.000 | 7.000 | 1.000 | 0.000 | 0.000 | 5.000 | 5.000 | 5.000 | 8.000 | 0.1892 | 0.2955 | 0.2162 | 0.1892 | 0.0000 | 0.1351 | 0.1351 | 0.2162 |
| season | 0.60 | 60 | - | 225.000 | 51.000 | 9.000 | 2.000 | 2.000 | 26.000 | 24.000 | 21.000 | 53.000 | 0.2267 | 0.3008 | 0.3111 | 0.2267 | 0.0089 | 0.1156 | 0.0933 | 0.2356 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1550 |
| predicted_3B | 0.0190 |
| predicted_AB | 3.6910 |
| predicted_AVG | 0.2135 |
| predicted_BB | 0.3820 |
| predicted_H | 0.7880 |
| predicted_HBP | 0.0650 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.2921 |
| predicted_R | 0.5060 |
| predicted_RBI | 0.4470 |
| predicted_SLG | 0.2909 |
| predicted_SO | 0.8120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1500 | 0.1550 | 0.1521 | model_form_blend |
| predicted_3B | 0.0330 | 0.0190 | 0.0271 | model_form_blend |
| predicted_AB | 3.7500 | 3.6910 | 3.7253 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2135 | 0.2231 | model_form_blend |
| predicted_BB | 0.3500 | 0.3820 | 0.3634 | model_form_blend |
| predicted_H | 0.8600 | 0.7880 | 0.8298 | model_form_blend |
| predicted_HBP | - | 0.0650 | 0.0650 | form_only |
| predicted_HR | 0.0600 | 0.0310 | 0.0478 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2921 | 0.2949 | model_form_blend |
| predicted_R | 0.4000 | 0.5060 | 0.4444 | model_form_blend |
| predicted_RBI | 0.4500 | 0.4470 | 0.4487 | model_form_blend |
| predicted_SLG | 0.3250 | 0.2909 | 0.3107 | model_form_blend |
| predicted_SO | 0.8830 | 0.8120 | 0.8532 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 215 |
| Season rows before report date | 215 |
| Report year | 2026 |
| Profile rows used | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.227 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | SS |
| gameID | 20260614_STL@MIN |
| game_type | short |
| mlbID | 691026 |
| playerID | 691026 |
| playerName | Masyn Winn |
| pos | SS |
| started | False |
| startingPosition | SS |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.6 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.283 |
| sl_xwoba | 0.3 |
| sl_xba | 0.249 |
| sl_xslg | 0.321 |
| sl_sweet_spot_percent | 32.4 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 33.5 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 41.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.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.720 | 4.000 | 4.000 | Hitting_AB | 3.556 | 4.000 | 0.444 | 0.000 |
| predicted_AVG | 0.239 | 0.000 | 0.250 | Hitting_AVG | 0.219 | 0.000 | -0.219 | 0.000 |
| predicted_BB | 0.556 | 0.000 | 1.000 | Hitting_BB | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 0.000 | 1.000 | Hitting_H | 0.778 | 0.000 | -0.778 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.222 | 0.000 | -0.222 | 0.000 |
| predicted_OBP | 0.312 | 0.000 | 0.400 | Hitting_OBP | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_R | 0.556 | 0.000 | 1.000 | Hitting_R | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.556 | 0.000 | -0.556 | 0.000 |
| predicted_SLG | 0.429 | 0.000 | 0.250 | Hitting_SLG | 0.469 | 0.000 | -0.469 | 0.000 |
| 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 | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.7200 -> 4.0000 (boost 0.2800, better) |
| Biggest Deboost | predicted_H: 0.8900 -> 0.0000 (deboost -0.8900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_BB: 0.5560 -> 0.5050 (deboost -0.0510, 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.3120 -> 0.3306 (boost 0.0186, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_BB: 0.5075 -> 1.0000 (boost 0.4925, better) | predicted_RBI: 0.4413 -> 0.0000 (deboost -0.4413, worse) | AB rounded to 4 (raw=3.72), rates preserved: AVG=0.239 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5609 -> 1.0000 (boost 0.4391, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3306 -> 0.4000 (boost 0.0694, better) | predicted_SLG: 0.4319 -> 0.2500 (deboost -0.1819, 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_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4319 (boost 0.1819, better) | predicted_OBP: 0.4000 -> 0.3306 (deboost -0.0694, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663457",
"player_name": "Lars Nootbaar",
"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.222,
"predicted_3B": 0.0,
"predicted_AB": 3.72,
"predicted_AVG": 0.239,
"predicted_BB": 0.556,
"predicted_H": 0.89,
"predicted_HR": 0.16,
"predicted_OBP": 0.312,
"predicted_R": 0.556,
"predicted_RBI": 0.44,
"predicted_SLG": 0.429,
"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.2153,
"predicted_3B": 0.0019,
"predicted_AB": 3.7162,
"predicted_AVG": 0.2374,
"predicted_BB": 0.505,
"predicted_H": 0.883,
"predicted_HBP": 0.015,
"predicted_HR": 0.1654,
"predicted_OBP": 0.312,
"predicted_R": 0.5528,
"predicted_RBI": 0.4349,
"predicted_SLG": 0.4309,
"predicted_SO": 1.0003
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.222,
"after": 0.2153,
"delta": -0.0067,
"percent_delta": -0.0302,
"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.72,
"after": 3.7162,
"delta": -0.0038,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2374,
"delta": -0.0016,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.505,
"delta": -0.051,
"percent_delta": -0.0917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.883,
"delta": -0.007,
"percent_delta": -0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1654,
"delta": 0.0054,
"percent_delta": 0.0337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.312,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.556,
"after": 0.5528,
"delta": -0.0032,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4349,
"delta": -0.0051,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4309,
"delta": 0.0019,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0003,
"delta": 0.0003,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.556,
"after": 0.505,
"delta": -0.051,
"percent_delta": -0.0917,
"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": 9,
"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.2153,
"predicted_3B": 0.0019,
"predicted_AB": 3.7162,
"predicted_AVG": 0.2392,
"predicted_BB": 0.5075,
"predicted_H": 0.889,
"predicted_HBP": 0.015,
"predicted_HR": 0.1656,
"predicted_OBP": 0.3306,
"predicted_R": 0.5609,
"predicted_RBI": 0.4413,
"predicted_SLG": 0.4319,
"predicted_SO": 0.9954
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2153,
"after": 0.2153,
"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.7162,
"after": 3.7162,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2374,
"after": 0.2392,
"delta": 0.0018,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.505,
"after": 0.5075,
"delta": 0.0025,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.883,
"after": 0.889,
"delta": 0.006,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1654,
"after": 0.1656,
"delta": 0.0002,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3306,
"delta": 0.0186,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5528,
"after": 0.5609,
"delta": 0.0081,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4349,
"after": 0.4413,
"delta": 0.0064,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4309,
"after": 0.4319,
"delta": 0.001,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0003,
"after": 0.9954,
"delta": -0.0049,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_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.312,
"after": 0.3306,
"delta": 0.0186,
"percent_delta": 0.0596,
"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.72), rates preserved: AVG=0.239 HR/AB=0.045",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2153,
"after": 0.0,
"delta": -0.2153,
"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.7162,
"after": 4.0,
"delta": 0.2838,
"percent_delta": 0.0764,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5075,
"after": 1.0,
"delta": 0.4925,
"percent_delta": 0.9704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.889,
"after": 1.0,
"delta": 0.111,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1656,
"after": 0.0,
"delta": -0.1656,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4413,
"after": 0.0,
"delta": -0.4413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9954,
"after": 1.0,
"delta": 0.0046,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5075,
"after": 1.0,
"delta": 0.4925,
"percent_delta": 0.9704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4413,
"after": 0.0,
"delta": -0.4413,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5609,
"after": 1.0,
"delta": 0.4391,
"percent_delta": 0.7828,
"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.5609,
"after": 1.0,
"delta": 0.4391,
"percent_delta": 0.7828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 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.2392,
"after": 0.25,
"delta": 0.0108,
"percent_delta": 0.0452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3306,
"after": 0.4,
"delta": 0.0694,
"percent_delta": 0.2099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4319,
"after": 0.25,
"delta": -0.1819,
"percent_delta": -0.4212,
"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.3306,
"after": 0.4,
"delta": 0.0694,
"percent_delta": 0.2099,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4319,
"after": 0.25,
"delta": -0.1819,
"percent_delta": -0.4212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2392,
"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.3306,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4319,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2392,
"delta": -0.0108,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3306,
"delta": -0.0694,
"percent_delta": -0.1734,
"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.4319,
"delta": 0.1819,
"percent_delta": 0.7274,
"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.4319,
"delta": 0.1819,
"percent_delta": 0.7274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3306,
"delta": -0.0694,
"percent_delta": -0.1734,
"direction": "deboost",
"projection_effect": "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.72,
"after": 4.0,
"delta": 0.28,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2392,
"delta": 0.0002,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"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.312,
"after": 0.3306,
"delta": 0.0186,
"percent_delta": 0.0596,
"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.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4319,
"delta": 0.0029,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.72,
"after": 4.0,
"delta": 0.28,
"percent_delta": 0.0753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.89,
"after": 0.0,
"delta": -0.89,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.222 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.720 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.556 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.556 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.429 | - |
| 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.215 | -0.007 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.716 | -0.004 |
| predicted_AVG | 0.237 | -0.002 |
| predicted_BB | 0.505 | -0.051 |
| predicted_H | 0.883 | -0.007 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.165 | 0.005 |
| predicted_OBP | 0.312 | 0.000 |
| predicted_R | 0.553 | -0.003 |
| predicted_RBI | 0.435 | -0.005 |
| predicted_SLG | 0.431 | 0.002 |
| predicted_SO | 1.000 | 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.215 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.716 | 0.000 |
| predicted_AVG | 0.239 | 0.002 |
| predicted_BB | 0.507 | 0.002 |
| predicted_H | 0.889 | 0.006 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.166 | 0.000 |
| predicted_OBP | 0.331 | 0.019 |
| predicted_R | 0.561 | 0.008 |
| predicted_RBI | 0.441 | 0.006 |
| predicted_SLG | 0.432 | 0.001 |
| predicted_SO | 0.995 | -0.005 |
AB rounded to 4 (raw=3.72), rates preserved: AVG=0.239 HR/AB=0.045
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.215 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.284 |
| predicted_AVG | 0.250 | 0.011 |
| predicted_BB | 1.000 | 0.493 |
| predicted_H | 1.000 | 0.111 |
| predicted_HR | 0.000 | -0.166 |
| predicted_OBP | 0.400 | 0.069 |
| predicted_R | 1.000 | 0.439 |
| predicted_RBI | 0.000 | -0.441 |
| predicted_SLG | 0.250 | -0.182 |
| predicted_SO | 1.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 | 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 | 5 | - | 18.000 | 4.000 | 1.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 6.000 | 0.2222 | 0.3000 | 0.4444 | 0.2222 | 0.0556 | 0.0556 | 0.1111 | 0.3333 |
| last_10 | 0.20 | 9 | - | 32.000 | 7.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 5.000 | 9.000 | 0.2188 | 0.3243 | 0.4688 | 0.2188 | 0.0625 | 0.1562 | 0.1562 | 0.2812 |
| season | 0.60 | 9 | - | 32.000 | 7.000 | 2.000 | 0.000 | 2.000 | 5.000 | 5.000 | 5.000 | 9.000 | 0.2188 | 0.3243 | 0.4688 | 0.2188 | 0.0625 | 0.1562 | 0.1562 | 0.2812 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.7080 |
| predicted_AVG | 0.2340 |
| predicted_BB | 0.3960 |
| predicted_H | 0.8680 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1770 |
| predicted_OBP | 0.3120 |
| predicted_R | 0.5460 |
| predicted_RBI | 0.4240 |
| predicted_SLG | 0.4348 |
| predicted_SO | 1.0010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2220 | 0.2010 | 0.2153 | model_form_blend |
| predicted_3B | 0.0000 | 0.0060 | 0.0019 | model_form_blend |
| predicted_AB | 3.7200 | 3.7080 | 3.7162 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2340 | 0.2374 | model_form_blend |
| predicted_BB | 0.5560 | 0.3960 | 0.5050 | model_form_blend |
| predicted_H | 0.8900 | 0.8680 | 0.8830 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1600 | 0.1770 | 0.1654 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3120 | 0.3120 | model_form_blend |
| predicted_R | 0.5560 | 0.5460 | 0.5528 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4240 | 0.4349 | model_form_blend |
| predicted_SLG | 0.4290 | 0.4348 | 0.4309 | model_form_blend |
| predicted_SO | 1.0000 | 1.0010 | 1.0003 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 9 |
| Season rows before report date | 9 |
| Report year | 2026 |
| Profile rows used | 9 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| 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 | 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 | 20260614_STL@MIN |
| game_type | full |
| mlbID | 663457 |
| playerID | 663457 |
| playerName | Lars Nootbaar |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 21.2 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.38 |
| sl_xwoba | 0.437 |
| sl_xba | 0.305 |
| sl_xslg | 0.653 |
| sl_sweet_spot_percent | 42.9 |
| sl_barrel_batted_rate | 19.0 |
| sl_hard_hit_percent | 57.1 |
| sl_exit_velocity_avg | 94.5 |
| sl_launch_angle_avg | 9.5 |
| sl_whiff_percent | 14.6 |
| sl_swing_percent | 30.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.125 | 0.000 | 0.000 | Hitting_2B | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.125 | 3.000 | 3.000 | Hitting_AB | 3.125 | 3.000 | -0.125 | 0.000 |
| predicted_AVG | 0.236 | 0.333 | 0.333 | Hitting_AVG | 0.200 | 0.333 | 0.133 | 0.000 |
| predicted_BB | 0.375 | 1.000 | 0.000 | Hitting_BB | 0.375 | 1.000 | 0.625 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.625 | 1.000 | 0.375 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.125 | 0.000 | -0.125 | 0.000 |
| predicted_OBP | 0.298 | 0.500 | 0.333 | Hitting_OBP | 0.286 | 0.500 | 0.214 | 0.000 |
| predicted_R | 0.250 | 0.000 | 0.000 | Hitting_R | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_RBI | 0.470 | 0.000 | 0.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.383 | 0.333 | 0.333 | Hitting_SLG | 0.360 | 0.333 | -0.027 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 1.000 | 0.000 | 0.000 | 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 | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.3750 -> 1.0000 (boost 0.6250, better) |
| Biggest Deboost | predicted_RBI: 0.4700 -> 0.0000 (deboost -0.4700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AB: 3.1250 -> 3.2463 (boost 0.1213, better) | predicted_AVG: 0.2360 -> 0.2263 (deboost -0.0097, 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_OBP: 0.2966 -> 0.3064 (boost 0.0098, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 1 | 5 | predicted_H: 0.7246 -> 1.0000 (boost 0.2754, better) | predicted_RBI: 0.4987 -> 0.0000 (deboost -0.4987, worse) | AB rounded to 3 (raw=3.25), rates preserved: AVG=0.223 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3052 -> 0.0000 (deboost -0.3052, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2232 -> 0.3330 (boost 0.1098, better) | predicted_SLG: 0.3890 -> 0.3330 (deboost -0.0560, worse) | 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_BB: 0.0000 -> 1.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.3890 (boost 0.0560, better) | predicted_AVG: 0.3330 -> 0.2232 (deboost -0.1098, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699625",
"player_name": "Jimmy Crooks",
"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.125,
"predicted_3B": 0.0,
"predicted_AB": 3.125,
"predicted_AVG": 0.236,
"predicted_BB": 0.375,
"predicted_H": 0.72,
"predicted_HR": 0.13,
"predicted_OBP": 0.298,
"predicted_R": 0.25,
"predicted_RBI": 0.47,
"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.122,
"predicted_3B": 0.0021,
"predicted_AB": 3.2463,
"predicted_AVG": 0.2263,
"predicted_BB": 0.3875,
"predicted_H": 0.7197,
"predicted_HBP": 0.017,
"predicted_HR": 0.1372,
"predicted_OBP": 0.2966,
"predicted_R": 0.3008,
"predicted_RBI": 0.4915,
"predicted_SLG": 0.3795,
"predicted_SO": 1.0021
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.122,
"delta": -0.003,
"percent_delta": -0.024,
"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": 3.125,
"after": 3.2463,
"delta": 0.1213,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2263,
"delta": -0.0097,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.375,
"after": 0.3875,
"delta": 0.0125,
"percent_delta": 0.0333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7197,
"delta": -0.0003,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1372,
"delta": 0.0072,
"percent_delta": 0.0554,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2966,
"delta": -0.0014,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.3008,
"delta": 0.0508,
"percent_delta": 0.2032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.4915,
"delta": 0.0215,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3795,
"delta": -0.0035,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0021,
"delta": 0.0021,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.125,
"after": 3.2463,
"delta": 0.1213,
"percent_delta": 0.0388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2263,
"delta": -0.0097,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 8,
"season": 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.122,
"predicted_3B": 0.0021,
"predicted_AB": 3.2463,
"predicted_AVG": 0.2232,
"predicted_BB": 0.3894,
"predicted_H": 0.7246,
"predicted_HBP": 0.017,
"predicted_HR": 0.1374,
"predicted_OBP": 0.3064,
"predicted_R": 0.3052,
"predicted_RBI": 0.4987,
"predicted_SLG": 0.389,
"predicted_SO": 0.9972
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0021,
"after": 0.0021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2463,
"after": 3.2463,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2263,
"after": 0.2232,
"delta": -0.0031,
"percent_delta": -0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3875,
"after": 0.3894,
"delta": 0.0019,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7197,
"after": 0.7246,
"delta": 0.0049,
"percent_delta": 0.0068,
"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.1372,
"after": 0.1374,
"delta": 0.0002,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2966,
"after": 0.3064,
"delta": 0.0098,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3008,
"after": 0.3052,
"delta": 0.0044,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4915,
"after": 0.4987,
"delta": 0.0072,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3795,
"after": 0.389,
"delta": 0.0095,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0021,
"after": 0.9972,
"delta": -0.0049,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2966,
"after": 0.3064,
"delta": 0.0098,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.25), rates preserved: AVG=0.223 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"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": 3.2463,
"after": 3.0,
"delta": -0.2463,
"percent_delta": -0.0759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3894,
"after": 0.0,
"delta": -0.3894,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7246,
"after": 1.0,
"delta": 0.2754,
"percent_delta": 0.3801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1374,
"after": 0.0,
"delta": -0.1374,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4987,
"after": 0.0,
"delta": -0.4987,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9972,
"after": 1.0,
"delta": 0.0028,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7246,
"after": 1.0,
"delta": 0.2754,
"percent_delta": 0.3801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4987,
"after": 0.0,
"delta": -0.4987,
"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.3052,
"after": 0.0,
"delta": -0.3052,
"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.3052,
"after": 0.0,
"delta": -0.3052,
"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.2232,
"after": 0.333,
"delta": 0.1098,
"percent_delta": 0.4919,
"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.3064,
"after": 0.333,
"delta": 0.0266,
"percent_delta": 0.0868,
"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.389,
"after": 0.333,
"delta": -0.056,
"percent_delta": -0.144,
"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.2232,
"after": 0.333,
"delta": 0.1098,
"percent_delta": 0.4919,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.389,
"after": 0.333,
"delta": -0.056,
"percent_delta": -0.144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2232,
"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.3064,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.389,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2232,
"delta": -0.1098,
"percent_delta": -0.3297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.3064,
"delta": -0.0266,
"percent_delta": -0.0799,
"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.389,
"delta": 0.056,
"percent_delta": 0.1682,
"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.389,
"delta": 0.056,
"percent_delta": 0.1682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2232,
"delta": -0.1098,
"percent_delta": -0.3297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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": 3.0,
"delta": -0.125,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2232,
"delta": -0.0128,
"percent_delta": -0.0542,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.3064,
"delta": 0.0084,
"percent_delta": 0.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"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.383,
"after": 0.389,
"delta": 0.006,
"percent_delta": 0.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.375,
"after": 1.0,
"delta": 0.625,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.125 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.375 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.250 | - |
| predicted_RBI | 0.470 | - |
| 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.122 | -0.003 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.246 | 0.121 |
| predicted_AVG | 0.226 | -0.010 |
| predicted_BB | 0.388 | 0.013 |
| predicted_H | 0.720 | -0.000 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.137 | 0.007 |
| predicted_OBP | 0.297 | -0.001 |
| predicted_R | 0.301 | 0.051 |
| predicted_RBI | 0.491 | 0.022 |
| predicted_SLG | 0.380 | -0.004 |
| predicted_SO | 1.002 | 0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.246 | 0.000 |
| predicted_AVG | 0.223 | -0.003 |
| predicted_BB | 0.389 | 0.002 |
| predicted_H | 0.725 | 0.005 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.137 | 0.000 |
| predicted_OBP | 0.306 | 0.010 |
| predicted_R | 0.305 | 0.004 |
| predicted_RBI | 0.499 | 0.007 |
| predicted_SLG | 0.389 | 0.010 |
| predicted_SO | 0.997 | -0.005 |
AB rounded to 3 (raw=3.25), rates preserved: AVG=0.223 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.122 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.246 |
| predicted_AVG | 0.333 | 0.110 |
| predicted_BB | 0.000 | -0.389 |
| predicted_H | 1.000 | 0.275 |
| predicted_HR | 0.000 | -0.137 |
| predicted_OBP | 0.333 | 0.027 |
| predicted_R | 0.000 | -0.305 |
| predicted_RBI | 0.000 | -0.499 |
| predicted_SLG | 0.333 | -0.056 |
| predicted_SO | 1.000 | 0.003 |
Attached 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 6.000 | 0.1250 | 0.2632 | 0.3125 | 0.1250 | 0.0625 | 0.1875 | 0.1875 | 0.3750 |
| last_10 | 0.20 | 8 | - | 25.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 3.000 | 8.000 | 0.2000 | 0.2857 | 0.3600 | 0.2000 | 0.0400 | 0.1600 | 0.1200 | 0.3200 |
| season | 0.60 | 8 | - | 25.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 3.000 | 8.000 | 0.2000 | 0.2857 | 0.3600 | 0.2000 | 0.0400 | 0.1600 | 0.1200 | 0.3200 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1150 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.5310 |
| predicted_AVG | 0.2035 |
| predicted_BB | 0.4170 |
| predicted_H | 0.7190 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.1540 |
| predicted_OBP | 0.2933 |
| predicted_R | 0.4200 |
| predicted_RBI | 0.5420 |
| predicted_SLG | 0.3713 |
| predicted_SO | 1.0070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1150 | 0.1220 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0021 | model_form_blend |
| predicted_AB | 3.1250 | 3.5310 | 3.2463 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2035 | 0.2263 | model_form_blend |
| predicted_BB | 0.3750 | 0.4170 | 0.3875 | model_form_blend |
| predicted_H | 0.7200 | 0.7190 | 0.7197 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.1300 | 0.1540 | 0.1372 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2933 | 0.2966 | model_form_blend |
| predicted_R | 0.2500 | 0.4200 | 0.3008 | model_form_blend |
| predicted_RBI | 0.4700 | 0.5420 | 0.4915 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3713 | 0.3795 | model_form_blend |
| predicted_SO | 1.0000 | 1.0070 | 1.0021 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260612_STL@MIN |
| game_type | full |
| mlbID | 699625 |
| playerID | 699625 |
| playerName | Jimmy Crooks |
| pos | C |
| started | True |
| startingPosition | C |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-12 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.29 |
| sl_xwoba | 0.385 |
| sl_xba | 0.289 |
| sl_xslg | 0.527 |
| sl_sweet_spot_percent | 41.2 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 47.1 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 16.4 |
| sl_whiff_percent | 31.9 |
| 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.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.333 | 0.000 | 0.000 | Hitting_3B | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_AB | 4.000 | 3.000 | 4.000 | Hitting_AB | 4.000 | 4.000 | -1.000 | -1.000 |
| predicted_AVG | 0.260 | 0.333 | 0.250 | Hitting_AVG | 0.417 | 0.250 | -0.083 | 0.083 |
| predicted_BB | 0.000 | 1.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 1.000 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.970 | 1.000 | 1.000 | Hitting_H | 1.667 | 1.000 | -0.667 | 0.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_OBP | 0.332 | 0.500 | 0.250 | Hitting_OBP | 0.417 | 0.250 | 0.083 | 0.250 |
| predicted_R | 0.667 | 0.000 | 1.000 | Hitting_R | 0.667 | 0.000 | -0.667 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 1.333 | 0.000 | -1.333 | 0.000 |
| predicted_SLG | 0.490 | 0.333 | 0.250 | Hitting_SLG | 0.833 | 0.250 | -0.500 | 0.083 |
| predicted_SO | 0.667 | 0.000 | 1.000 | Hitting_SO | 0.667 | 0.000 | -0.667 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_AB: 4.0000 -> 3.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 | 4 | 3 | 1 | 3 | 1 | predicted_BB: 0.0000 -> 0.0518 (boost 0.0518, better) | predicted_3B: 0.3330 -> 0.2778 (deboost -0.0552, 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.4998 -> 0.5312 (boost 0.0314, better) | predicted_OBP: 0.3347 -> 0.2669 (deboost -0.0678, 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_RBI: 0.6503 -> 1.0000 (boost 0.3497, better) | predicted_3B: 0.2778 -> 0.0000 (deboost -0.2778, worse) | AB rounded to 4 (raw=4.00), rates preserved: AVG=0.256 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6472 -> 1.0000 (boost 0.3528, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5312 -> 0.2500 (deboost -0.2812, 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_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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.5312 (boost 0.2812, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "691458",
"player_name": "Blaze Jordan",
"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.0,
"predicted_3B": 0.333,
"predicted_AB": 4.0,
"predicted_AVG": 0.26,
"predicted_BB": 0.0,
"predicted_H": 0.97,
"predicted_HR": 0.16,
"predicted_OBP": 0.332,
"predicted_R": 0.667,
"predicted_RBI": 0.61,
"predicted_SLG": 0.49,
"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.0328,
"predicted_3B": 0.2778,
"predicted_AB": 3.9769,
"predicted_AVG": 0.2692,
"predicted_BB": 0.0518,
"predicted_H": 1.0165,
"predicted_HBP": 0.025,
"predicted_HR": 0.1667,
"predicted_OBP": 0.3347,
"predicted_R": 0.6378,
"predicted_RBI": 0.6409,
"predicted_SLG": 0.4998,
"predicted_SO": 0.6993
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0328,
"delta": 0.0328,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.333,
"after": 0.2778,
"delta": -0.0552,
"percent_delta": -0.1658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.9769,
"delta": -0.0231,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2692,
"delta": 0.0092,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0518,
"delta": 0.0518,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 1.0165,
"delta": 0.0465,
"percent_delta": 0.0479,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1667,
"delta": 0.0067,
"percent_delta": 0.0419,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3347,
"delta": 0.0027,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6378,
"delta": -0.0292,
"percent_delta": -0.0438,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.6409,
"delta": 0.0309,
"percent_delta": 0.0507,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.4998,
"delta": 0.0098,
"percent_delta": 0.02,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.667,
"after": 0.6993,
"delta": 0.0323,
"percent_delta": 0.0484,
"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_BB",
"before": 0.0,
"after": 0.0518,
"delta": 0.0518,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_3B",
"before": 0.333,
"after": 0.2778,
"delta": -0.0552,
"percent_delta": -0.1658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 3,
"last_10": 3,
"season": 3
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0328,
"predicted_3B": 0.2778,
"predicted_AB": 3.9769,
"predicted_AVG": 0.2573,
"predicted_BB": 0.0521,
"predicted_H": 1.0234,
"predicted_HBP": 0.025,
"predicted_HR": 0.1669,
"predicted_OBP": 0.2669,
"predicted_R": 0.6472,
"predicted_RBI": 0.6503,
"predicted_SLG": 0.5312,
"predicted_SO": 0.6959
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0328,
"after": 0.0328,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.2778,
"after": 0.2778,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9769,
"after": 3.9769,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2692,
"after": 0.2573,
"delta": -0.0119,
"percent_delta": -0.0442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0518,
"after": 0.0521,
"delta": 0.0003,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0165,
"after": 1.0234,
"delta": 0.0069,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1667,
"after": 0.1669,
"delta": 0.0002,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3347,
"after": 0.2669,
"delta": -0.0678,
"percent_delta": -0.2026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6378,
"after": 0.6472,
"delta": 0.0094,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6409,
"after": 0.6503,
"delta": 0.0094,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4998,
"after": 0.5312,
"delta": 0.0314,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6993,
"after": 0.6959,
"delta": -0.0034,
"percent_delta": -0.0049,
"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.4998,
"after": 0.5312,
"delta": 0.0314,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3347,
"after": 0.2669,
"delta": -0.0678,
"percent_delta": -0.2026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.00), rates preserved: AVG=0.256 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0328,
"after": 0.0,
"delta": -0.0328,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.2778,
"after": 0.0,
"delta": -0.2778,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.9769,
"after": 4.0,
"delta": 0.0231,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0521,
"after": 0.0,
"delta": -0.0521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0234,
"after": 1.0,
"delta": -0.0234,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1669,
"after": 0.0,
"delta": -0.1669,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6503,
"after": 1.0,
"delta": 0.3497,
"percent_delta": 0.5378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6959,
"after": 1.0,
"delta": 0.3041,
"percent_delta": 0.437,
"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_RBI",
"before": 0.6503,
"after": 1.0,
"delta": 0.3497,
"percent_delta": 0.5378,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_3B",
"before": 0.2778,
"after": 0.0,
"delta": -0.2778,
"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.6472,
"after": 1.0,
"delta": 0.3528,
"percent_delta": 0.5451,
"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.6472,
"after": 1.0,
"delta": 0.3528,
"percent_delta": 0.5451,
"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.2573,
"after": 0.25,
"delta": -0.0073,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2669,
"after": 0.25,
"delta": -0.0169,
"percent_delta": -0.0633,
"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.5312,
"after": 0.25,
"delta": -0.2812,
"percent_delta": -0.5294,
"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.5312,
"after": 0.25,
"delta": -0.2812,
"percent_delta": -0.5294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2573,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2669,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5312,
"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.25,
"after": 0.2573,
"delta": 0.0073,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2669,
"delta": 0.0169,
"percent_delta": 0.0677,
"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.5312,
"delta": 0.2812,
"percent_delta": 1.1247,
"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.5312,
"delta": 0.2812,
"percent_delta": 1.1247,
"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.333,
"after": 0.0,
"delta": -0.333,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_AVG",
"before": 0.26,
"after": 0.2573,
"delta": -0.0027,
"percent_delta": -0.0104,
"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": 0.97,
"after": 1.0,
"delta": 0.03,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.2669,
"delta": -0.0651,
"percent_delta": -0.1961,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.0,
"delta": -0.667,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.49,
"after": 0.5312,
"delta": 0.0412,
"percent_delta": 0.0841,
"direction": "boost",
"projection_effect": "better",
"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": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 3,
"worse_metrics": 6,
"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
},
"has_material_change": true,
"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.333 | - |
| predicted_AB | 4.000 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.490 | - |
| 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.033 | 0.033 |
| predicted_3B | 0.278 | -0.055 |
| predicted_AB | 3.977 | -0.023 |
| predicted_AVG | 0.269 | 0.009 |
| predicted_BB | 0.052 | 0.052 |
| predicted_H | 1.016 | 0.046 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.167 | 0.007 |
| predicted_OBP | 0.335 | 0.003 |
| predicted_R | 0.638 | -0.029 |
| predicted_RBI | 0.641 | 0.031 |
| predicted_SLG | 0.500 | 0.010 |
| predicted_SO | 0.699 | 0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.033 | 0.000 |
| predicted_3B | 0.278 | 0.000 |
| predicted_AB | 3.977 | 0.000 |
| predicted_AVG | 0.257 | -0.012 |
| predicted_BB | 0.052 | 0.000 |
| predicted_H | 1.023 | 0.007 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.167 | 0.000 |
| predicted_OBP | 0.267 | -0.068 |
| predicted_R | 0.647 | 0.009 |
| predicted_RBI | 0.650 | 0.009 |
| predicted_SLG | 0.531 | 0.031 |
| predicted_SO | 0.696 | -0.003 |
AB rounded to 4 (raw=4.00), rates preserved: AVG=0.256 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=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.033 |
| predicted_3B | 0.000 | -0.278 |
| predicted_AB | 4.000 | 0.023 |
| predicted_AVG | 0.250 | -0.007 |
| predicted_BB | 0.000 | -0.052 |
| predicted_H | 1.000 | -0.023 |
| predicted_HR | 0.000 | -0.167 |
| predicted_OBP | 0.250 | -0.017 |
| predicted_R | 1.000 | 0.353 |
| predicted_RBI | 1.000 | 0.350 |
| predicted_SLG | 0.250 | -0.281 |
| predicted_SO | 1.000 | 0.304 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -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 | 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 | - | 12.000 | 5.000 | 0.000 | 1.000 | 1.000 | 4.000 | 2.000 | 0.000 | 2.000 | 0.4167 | 0.4167 | 0.8333 | 0.4167 | 0.0833 | 0.3333 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 3 | - | 12.000 | 5.000 | 0.000 | 1.000 | 1.000 | 4.000 | 2.000 | 0.000 | 2.000 | 0.4167 | 0.4167 | 0.8333 | 0.4167 | 0.0833 | 0.3333 | 0.0000 | 0.1667 |
| season | 0.60 | 3 | - | 12.000 | 5.000 | 0.000 | 1.000 | 1.000 | 4.000 | 2.000 | 0.000 | 2.000 | 0.4167 | 0.4167 | 0.8333 | 0.4167 | 0.0833 | 0.3333 | 0.0000 | 0.1667 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1360 |
| predicted_3B | 0.1040 |
| predicted_AB | 3.9040 |
| predicted_AVG | 0.2980 |
| predicted_BB | 0.2150 |
| predicted_H | 1.1630 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1880 |
| predicted_OBP | 0.3430 |
| predicted_R | 0.5460 |
| predicted_RBI | 0.7380 |
| predicted_SLG | 0.5306 |
| predicted_SO | 0.8010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1360 | 0.0328 | model_form_blend |
| predicted_3B | 0.3330 | 0.1040 | 0.2778 | model_form_blend |
| predicted_AB | 4.0000 | 3.9040 | 3.9769 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2980 | 0.2692 | model_form_blend |
| predicted_BB | 0.0000 | 0.2150 | 0.0518 | model_form_blend |
| predicted_H | 0.9700 | 1.1630 | 1.0165 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.1600 | 0.1880 | 0.1667 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3430 | 0.3347 | model_form_blend |
| predicted_R | 0.6670 | 0.5460 | 0.6378 | model_form_blend |
| predicted_RBI | 0.6100 | 0.7380 | 0.6409 | model_form_blend |
| predicted_SLG | 0.4900 | 0.5306 | 0.4998 | model_form_blend |
| predicted_SO | 0.6670 | 0.8010 | 0.6993 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 3 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.417 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1B |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 691458 |
| playerID | 691458 |
| playerName | Blaze Jordan |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.682 |
| sl_xwoba | 0.386 |
| sl_xba | 0.27 |
| sl_xslg | 0.657 |
| sl_sweet_spot_percent | 16.7 |
| sl_barrel_batted_rate | 16.7 |
| sl_hard_hit_percent | 83.3 |
| sl_exit_velocity_avg | 99.3 |
| sl_launch_angle_avg | 3.1 |
| sl_whiff_percent | 15.0 |
| sl_swing_percent | 57.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.170 | 0.000 | 0.000 | Hitting_2B | 0.160 | 0.000 | -0.160 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.553 | 3.000 | 4.000 | Hitting_AB | 3.642 | 3.000 | -0.642 | 0.000 |
| predicted_AVG | 0.255 | 0.000 | 0.250 | Hitting_AVG | 0.256 | 0.667 | -0.256 | -0.667 |
| predicted_BB | 0.149 | 0.000 | 0.000 | Hitting_BB | 0.154 | 1.000 | -0.154 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.932 | 2.000 | -0.932 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.123 | 0.000 | -0.123 | 0.000 |
| predicted_OBP | 0.300 | 0.000 | 0.250 | Hitting_OBP | 0.287 | 0.750 | -0.287 | -0.750 |
| predicted_R | 0.426 | 0.000 | 0.000 | Hitting_R | 0.444 | 1.000 | -0.444 | -1.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.438 | 0.000 | -0.438 | 0.000 |
| predicted_SLG | 0.378 | 0.000 | 0.250 | Hitting_SLG | 0.402 | 0.667 | -0.402 | -0.667 |
| predicted_SO | 0.872 | 0.000 | 1.000 | Hitting_SO | 0.796 | 1.000 | -0.796 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 11 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 0.8720 -> 0.0000 (deboost -0.8720, 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 | 1 | 1 | predicted_SO: 0.8720 -> 0.9474 (boost 0.0754, 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.2988 -> 0.2657 (deboost -0.0331, 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.5644 -> 4.0000 (boost 0.4356, better) | predicted_RBI: 0.2738 -> 0.0000 (deboost -0.2738, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.233 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4327 -> 0.0000 (deboost -0.4327, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2330 -> 0.2500 (boost 0.0170, better) | predicted_SLG: 0.3496 -> 0.2500 (deboost -0.0996, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 0 | 3 | 1 | 2 | - | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3496 (boost 0.0996, better) | predicted_AVG: 0.2500 -> 0.2330 (deboost -0.0170, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701675",
"player_name": "Nathan Church",
"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.17,
"predicted_3B": 0.0,
"predicted_AB": 3.553,
"predicted_AVG": 0.255,
"predicted_BB": 0.149,
"predicted_H": 0.75,
"predicted_HR": 0.08,
"predicted_OBP": 0.3,
"predicted_R": 0.426,
"predicted_RBI": 0.28,
"predicted_SLG": 0.378,
"predicted_SO": 0.872
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1822,
"predicted_3B": 0.0008,
"predicted_AB": 3.5644,
"predicted_AVG": 0.2574,
"predicted_BB": 0.1576,
"predicted_H": 0.825,
"predicted_HBP": 0.016,
"predicted_HR": 0.0771,
"predicted_OBP": 0.2988,
"predicted_R": 0.4264,
"predicted_RBI": 0.2698,
"predicted_SLG": 0.3784,
"predicted_SO": 0.9474
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.1822,
"delta": 0.0122,
"percent_delta": 0.0718,
"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": 3.553,
"after": 3.5644,
"delta": 0.0114,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2574,
"delta": 0.0024,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.149,
"after": 0.1576,
"delta": 0.0086,
"percent_delta": 0.0577,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.825,
"delta": 0.075,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0771,
"delta": -0.0029,
"percent_delta": -0.0362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2988,
"delta": -0.0012,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 0.4264,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.2698,
"delta": -0.0102,
"percent_delta": -0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3784,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.872,
"after": 0.9474,
"delta": 0.0754,
"percent_delta": 0.0865,
"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_SO",
"before": 0.872,
"after": 0.9474,
"delta": 0.0754,
"percent_delta": 0.0865,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1822,
"predicted_3B": 0.0008,
"predicted_AB": 3.5644,
"predicted_AVG": 0.233,
"predicted_BB": 0.1584,
"predicted_H": 0.8306,
"predicted_HBP": 0.016,
"predicted_HR": 0.0772,
"predicted_OBP": 0.2657,
"predicted_R": 0.4327,
"predicted_RBI": 0.2738,
"predicted_SLG": 0.3496,
"predicted_SO": 0.9428
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1822,
"after": 0.1822,
"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.5644,
"after": 3.5644,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2574,
"after": 0.233,
"delta": -0.0244,
"percent_delta": -0.0948,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1576,
"after": 0.1584,
"delta": 0.0008,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.825,
"after": 0.8306,
"delta": 0.0056,
"percent_delta": 0.0068,
"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.0771,
"after": 0.0772,
"delta": 0.0001,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2988,
"after": 0.2657,
"delta": -0.0331,
"percent_delta": -0.1108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4264,
"after": 0.4327,
"delta": 0.0063,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2698,
"after": 0.2738,
"delta": 0.004,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3784,
"after": 0.3496,
"delta": -0.0288,
"percent_delta": -0.0761,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9474,
"after": 0.9428,
"delta": -0.0046,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.2988,
"after": 0.2657,
"delta": -0.0331,
"percent_delta": -0.1108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.233 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1822,
"after": 0.0,
"delta": -0.1822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5644,
"after": 4.0,
"delta": 0.4356,
"percent_delta": 0.1222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1584,
"after": 0.0,
"delta": -0.1584,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8306,
"after": 1.0,
"delta": 0.1694,
"percent_delta": 0.2039,
"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.0772,
"after": 0.0,
"delta": -0.0772,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2738,
"after": 0.0,
"delta": -0.2738,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9428,
"after": 1.0,
"delta": 0.0572,
"percent_delta": 0.0607,
"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.5644,
"after": 4.0,
"delta": 0.4356,
"percent_delta": 0.1222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2738,
"after": 0.0,
"delta": -0.2738,
"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.4327,
"after": 0.0,
"delta": -0.4327,
"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.4327,
"after": 0.0,
"delta": -0.4327,
"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.233,
"after": 0.25,
"delta": 0.017,
"percent_delta": 0.073,
"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.2657,
"after": 0.25,
"delta": -0.0157,
"percent_delta": -0.0591,
"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.3496,
"after": 0.25,
"delta": -0.0996,
"percent_delta": -0.2849,
"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.233,
"after": 0.25,
"delta": 0.017,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3496,
"after": 0.25,
"delta": -0.0996,
"percent_delta": -0.2849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.233,
"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.2657,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3496,
"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.233,
"delta": -0.017,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.2657,
"delta": 0.0157,
"percent_delta": 0.0626,
"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.3496,
"delta": 0.0996,
"percent_delta": 0.3982,
"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.3496,
"delta": 0.0996,
"percent_delta": 0.3982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.233,
"delta": -0.017,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "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.553,
"after": 3.0,
"delta": -0.553,
"percent_delta": -0.1556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.233,
"delta": -0.022,
"percent_delta": -0.0863,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2657,
"delta": -0.0343,
"percent_delta": -0.1143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3496,
"delta": -0.0284,
"percent_delta": -0.0751,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.872,
"after": 0.0,
"delta": -0.872,
"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_SO",
"before": 0.872,
"after": 0.0,
"delta": -0.872,
"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 | 3.553 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.149 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.300 | - |
| predicted_R | 0.426 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 0.872 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.012 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.564 | 0.011 |
| predicted_AVG | 0.257 | 0.002 |
| predicted_BB | 0.158 | 0.009 |
| predicted_H | 0.825 | 0.075 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.077 | -0.003 |
| predicted_OBP | 0.299 | -0.001 |
| predicted_R | 0.426 | 0.000 |
| predicted_RBI | 0.270 | -0.010 |
| predicted_SLG | 0.378 | 0.000 |
| predicted_SO | 0.947 | 0.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.182 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.564 | 0.000 |
| predicted_AVG | 0.233 | -0.024 |
| predicted_BB | 0.158 | 0.001 |
| predicted_H | 0.831 | 0.006 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.077 | 0.000 |
| predicted_OBP | 0.266 | -0.033 |
| predicted_R | 0.433 | 0.006 |
| predicted_RBI | 0.274 | 0.004 |
| predicted_SLG | 0.350 | -0.029 |
| predicted_SO | 0.943 | -0.005 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.233 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 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.182 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.436 |
| predicted_AVG | 0.250 | 0.017 |
| predicted_BB | 0.000 | -0.158 |
| predicted_H | 1.000 | 0.169 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.250 | -0.016 |
| predicted_R | 0.000 | -0.433 |
| predicted_RBI | 0.000 | -0.274 |
| predicted_SLG | 0.250 | -0.100 |
| predicted_SO | 1.000 | 0.057 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 8.000 | 0.2353 | 0.2778 | 0.2941 | 0.2353 | 0.0000 | 0.0000 | 0.0588 | 0.4706 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 3.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 12.000 | 0.3056 | 0.3243 | 0.3889 | 0.3056 | 0.0000 | 0.0000 | 0.0278 | 0.3333 |
| season | 0.60 | 47 | - | 167.000 | 43.000 | 8.000 | 0.000 | 5.000 | 17.000 | 20.000 | 7.000 | 41.000 | 0.2575 | 0.2898 | 0.3952 | 0.2575 | 0.0299 | 0.1018 | 0.0419 | 0.2455 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2000 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.5810 |
| predicted_AVG | 0.2609 |
| predicted_BB | 0.1700 |
| predicted_H | 0.9340 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0730 |
| predicted_OBP | 0.2971 |
| predicted_R | 0.4270 |
| predicted_RBI | 0.2550 |
| predicted_SLG | 0.3789 |
| predicted_SO | 1.0570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.2000 | 0.1822 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.5530 | 3.5810 | 3.5644 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2609 | 0.2574 | model_form_blend |
| predicted_BB | 0.1490 | 0.1700 | 0.1576 | model_form_blend |
| predicted_H | 0.7500 | 0.9340 | 0.8250 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0800 | 0.0730 | 0.0771 | model_form_blend |
| predicted_OBP | 0.3000 | 0.2971 | 0.2988 | model_form_blend |
| predicted_R | 0.4260 | 0.4270 | 0.4264 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2550 | 0.2698 | model_form_blend |
| predicted_SLG | 0.3780 | 0.3789 | 0.3784 | model_form_blend |
| predicted_SO | 0.8720 | 1.0570 | 0.9474 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 47 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, 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.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 | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 701675 |
| playerID | 701675 |
| playerName | Nathan Church |
| pos | LF |
| started | True |
| startingPosition | CF |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.294 |
| sl_xwoba | 0.278 |
| sl_xba | 0.233 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 31.7 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 57.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 1.538 | 1.000 | 1.462 | 2.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.615 | 0.000 | -0.615 | 2.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.462 | 4.000 | 1.538 | 3.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.500 | 6.000 | -0.300 | -0.800 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.077 | 6.000 | -1.077 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669160",
"player_name": "Dustin May",
"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": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 2.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 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.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 | 2.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 30.000 | 11.000 | 21.000 | 9.000 | 34.000 | 1.000 | 3.3000 | 1.0000 | 0.3667 | 0.7000 | 0.3000 | 1.1333 | 0.0333 |
| last_10 | 0.35 | 10 | 59.100 | 20.000 | 50.000 | 17.000 | 55.000 | 3.000 | 3.0337 | 1.1292 | 0.3371 | 0.8427 | 0.2865 | 0.9270 | 0.0506 |
| season | 0.20 | 13 | 72.200 | 34.000 | 71.000 | 20.000 | 66.000 | 5.000 | 4.2110 | 1.2523 | 0.4679 | 0.9771 | 0.2752 | 0.9083 | 0.0688 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8160 |
| predicted_ER | 2.4020 |
| predicted_ERA | 3.6888 |
| predicted_H | 4.9900 |
| predicted_HR | 0.4330 |
| predicted_IP | 6.0000 |
| predicted_SO | 5.8200 |
| predicted_WHIP | 1.1617 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.8160 | 2.3694 | model_form_blend |
| predicted_ER | 2.0000 | 2.4020 | 2.2141 | model_form_blend |
| predicted_ERA | - | 3.6888 | 3.6888 | form_only |
| predicted_H | 7.0000 | 4.9900 | 5.9294 | model_form_blend |
| predicted_HR | 0.0000 | 0.4330 | 0.2306 | model_form_blend |
| predicted_IP | 5.2000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 4.0000 | 5.8200 | 4.9694 | model_form_blend |
| predicted_WHIP | - | 1.1617 | 1.1617 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 13 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 7 |
| R | 2 |
| ER | 2 |
| BB | 3 |
| SO | 4 |
| HR | 0 |
| BF | 27 |
| Pitches | 104 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 22 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.21 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 6 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 101 |
| Pitching_R | 0 |
| Pitching_SO | 6 |
| Pitching_Strikes | 70 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_STL@NYM |
| game_type | full |
| mlbID | 669160 |
| playerID | 669160 |
| playerName | Dustin May |
| pos | P |
| started | True |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-09 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.313 |
| sl_xwoba | 0.301 |
| sl_sweet_spot_percent | 33.0 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 47.4 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 47.5 |
| sl_avg_best_speed | 79.511400777 |
| sl_avg_hyper_speed | 94.853972427 |
| 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.323 | 0.000 | 0.677 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.323 | 1.000 | 0.677 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.774 | 3.000 | 0.226 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.835 | 1.200 | 0.165 | -0.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.871 | 3.000 | -0.871 | -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": "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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 2.000 | 7.000 | 0.000 | 5.000 | 1.000 | 3.1765 | 1.2353 | 0.3529 | 1.2353 | 0.0000 | 0.8823 | 0.1765 |
| last_10 | 0.35 | 10 | 10.200 | 2.000 | 9.000 | 0.000 | 11.000 | 1.000 | 1.6875 | 0.8438 | 0.1875 | 0.8438 | 0.0000 | 1.0312 | 0.0938 |
| season | 0.20 | 31 | 30.100 | 10.000 | 24.000 | 10.000 | 27.000 | 4.000 | 2.9670 | 1.1209 | 0.3297 | 0.7912 | 0.3297 | 0.8901 | 0.1319 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2000 |
| predicted_ER | 0.3840 |
| predicted_ERA | 3.4561 |
| predicted_H | 0.9930 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9350 |
| predicted_WHIP | 1.1925 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2000 | 0.6336 | model_form_blend |
| predicted_ER | 1.0000 | 0.3840 | 0.7178 | model_form_blend |
| predicted_ERA | - | 3.4561 | 3.4561 | form_only |
| predicted_H | 1.0000 | 0.9930 | 0.9968 | model_form_blend |
| predicted_HR | 1.0000 | 0.1420 | 0.6070 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9350 | 0.4283 | model_form_blend |
| predicted_WHIP | - | 1.1925 | 1.1925 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 0 |
| HR | 1 |
| BF | 5 |
| Pitches | 5 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.97 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 34 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 25 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 666277 |
| playerID | 666277 |
| playerName | George Soriano |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.5 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.276 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 24.4 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 40.2 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 48.6 |
| sl_avg_best_speed | 79.929879756 |
| sl_avg_hyper_speed | 94.730405 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 0.364 | 1.000 | 0.636 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.424 | 2.000 | -0.424 | -2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.909 | 3.000 | 0.091 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.758 | 0.100 | 0.242 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.970 | 1.000 | -0.970 | -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": "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": 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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 3.000 | 6.000 | 1.000 | 4.000 | 1.000 | 6.7500 | 1.7500 | 0.7500 | 1.5000 | 0.2500 | 1.0000 | 0.2500 |
| last_10 | 0.35 | 10 | 8.100 | 6.000 | 11.000 | 3.000 | 11.000 | 1.000 | 6.4800 | 1.6800 | 0.7200 | 1.3200 | 0.3600 | 1.3200 | 0.1200 |
| season | 0.20 | 33 | 32.000 | 14.000 | 30.000 | 12.000 | 32.000 | 4.000 | 3.9375 | 1.3125 | 0.4375 | 0.9375 | 0.3750 | 1.0000 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2850 |
| predicted_ER | 0.5080 |
| predicted_ERA | 5.3764 |
| predicted_H | 0.9950 |
| predicted_HR | 0.1400 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8790 |
| predicted_WHIP | 1.5036 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2850 | 0.6685 | model_form_blend |
| predicted_ER | 0.0000 | 0.5080 | 0.2355 | model_form_blend |
| predicted_ERA | - | 5.3764 | 5.3764 | form_only |
| predicted_H | 1.0000 | 0.9950 | 0.9977 | model_form_blend |
| predicted_HR | 0.0000 | 0.1400 | 0.0649 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8790 | 0.4075 | model_form_blend |
| predicted_WHIP | - | 1.5036 | 1.5036 | 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 | 33 |
| Season rows before report date | 33 |
| Report year | 2026 |
| Profile rows used | 33 |
| 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 | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 3.94 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 19 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260614_STL@MIN |
| game_type | full |
| mlbID | 668941 |
| playerID | 668941 |
| playerName | JoJo Romero |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.312 |
| sl_xwoba | 0.335 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 44.8 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 39.4 |
| sl_avg_best_speed | 81.702878333 |
| sl_avg_hyper_speed | 95.858921667 |
| 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 | 3.000 | -0.333 | -3.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.433 | 1.000 | -0.433 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.900 | 0.000 | -0.900 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.957 | 1.000 | 0.043 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.067 | 1.000 | -0.067 | 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": "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": 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 | 4.000 | 6.000 | 6.000 | 5.000 | 0.000 | 7.2000 | 2.4000 | 0.8000 | 1.2000 | 1.2000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 7.000 | 10.000 | 8.000 | 9.000 | 0.000 | 6.0968 | 1.7419 | 0.6774 | 0.9677 | 0.7742 | 0.8710 | 0.0000 |
| season | 0.20 | 30 | 30.100 | 13.000 | 27.000 | 10.000 | 32.000 | 1.000 | 3.8571 | 1.2198 | 0.4286 | 0.8901 | 0.3297 | 1.0550 | 0.0330 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6430 |
| predicted_ER | 0.5980 |
| predicted_ERA | 5.3835 |
| predicted_H | 1.0180 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9510 |
| predicted_WHIP | 1.6609 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6430 | 0.2945 | model_form_blend |
| predicted_ER | 0.0000 | 0.5980 | 0.2739 | model_form_blend |
| predicted_ERA | - | 5.3835 | 5.3835 | form_only |
| predicted_H | 0.0000 | 1.0180 | 0.4663 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0321 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9510 | 0.9776 | model_form_blend |
| predicted_WHIP | - | 1.6609 | 1.6609 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| 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 | 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 | 3.86 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 31 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260613_STL@MIN |
| game_type | full |
| mlbID | 676617 |
| playerID | 676617 |
| playerName | Riley O'Brien |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-13 |
| sl_k_percent | 24.8 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.29 |
| sl_xwoba | 0.316 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 4.9 |
| sl_hard_hit_percent | 39.0 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 46.7 |
| sl_avg_best_speed | 75.78665 |
| sl_avg_hyper_speed | 94.266975513 |
| 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.581 | 0.000 | -0.581 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.548 | 0.000 | -0.548 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.839 | 0.000 | -0.839 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.748 | 1.000 | -0.648 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.097 | 1.000 | -1.097 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "592773",
"player_name": "Ryne Stanek",
"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": 0.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 3.000 | 4.000 | 0.000 | 4.000 | 3.000 | 4.7647 | 0.7059 | 0.5294 | 0.7059 | 0.0000 | 0.7059 | 0.5294 |
| last_10 | 0.35 | 10 | 10.000 | 3.000 | 7.000 | 3.000 | 9.000 | 3.000 | 2.7000 | 1.0000 | 0.3000 | 0.7000 | 0.3000 | 0.9000 | 0.3000 |
| season | 0.20 | 31 | 28.100 | 17.000 | 26.000 | 18.000 | 34.000 | 5.000 | 5.4000 | 1.5529 | 0.6000 | 0.9176 | 0.6353 | 1.2000 | 0.1765 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2010 |
| predicted_ER | 0.3280 |
| predicted_ERA | 4.3101 |
| predicted_H | 0.5850 |
| predicted_HR | 0.1840 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6180 |
| predicted_WHIP | 1.1455 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2010 | 0.0906 | model_form_blend |
| predicted_ER | 0.0000 | 0.3280 | 0.1479 | model_form_blend |
| predicted_ERA | - | 4.3101 | 4.3101 | form_only |
| predicted_H | 0.0000 | 0.5850 | 0.2638 | model_form_blend |
| predicted_HR | 0.0000 | 0.1840 | 0.0830 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6180 | 0.2787 | model_form_blend |
| predicted_WHIP | - | 1.1455 | 1.1455 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| 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 | 5.40 |
| 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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260613_STL@MIN |
| game_type | full |
| mlbID | 592773 |
| playerID | 592773 |
| playerName | Ryne Stanek |
| pos | P |
| started | False |
| startingPosition | P |
| team | STL |
| teamID | 26 |
| game_date | 2026-06-13 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 14.0 |
| sl_woba | 0.341 |
| sl_xwoba | 0.317 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 32.5 |
| sl_swing_percent | 49.8 |
| sl_avg_best_speed | 79.475449211 |
| sl_avg_hyper_speed | 95.167068533 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TB 5 - 4 LAD | TB | 0.566 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | TB 7 - 4 LAD | TB | - | 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.5663 |
| 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.773 | 3.350 | - | Base ML historical model prediction |
| 2 | variance_applied | 7 | 3 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 4 | 3 | 0.5663 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 4 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | target_tie_break | 5 | 4 | - | Resolved tied pre-simulation target using calibrated winner probability |
| 6 | capped_target | 5 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 7 | 4 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.46613562231759664,
"base_low_score_probability": 0.41545064377682406,
"low_score_signal_threshold": 0.5,
"low_score_signal_strength": 0.050684978540772585,
"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": 9,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 11,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 96,
"near_bucket_sample_size": 96,
"medium_bucket_sample_size": 187,
"wide_bucket_sample_size": 200,
"global_sample_size": 214,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.6458,
"bayesian_hit_rate": 0.6228,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.8421,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5,
"calibrated_pick_probability": 0.5663,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "LAD",
"games": 72,
"wins": 45,
"losses": 27,
"win_pct": 0.625,
"runs_scored": 386,
"runs_allowed": 245,
"run_differential": 141,
"run_differential_per_game": 1.9583333333333333,
"available": true
},
"away": {
"team": "TB",
"games": 68,
"wins": 41,
"losses": 27,
"win_pct": 0.6029411764705882,
"runs_scored": 308,
"runs_allowed": 300,
"run_differential": 8,
"run_differential_per_game": 0.11764705882352941,
"available": true
},
"run_differential_edge_per_game": 1.8407,
"win_pct_edge": 0.0221,
"quality_edge": 1.8738,
"margin_adjustment": 0.787,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 3.316,
"home_runs": 2.031,
"home_win_probability": 0.3908
}
}{
"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": "LAD",
"final_score_winner": "TB",
"pre_simulation_winner": "TB",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "TB 5 - 4 LAD",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 4,
"score_text": "TB 7 - 4 LAD",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"total_run_delta": 2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}{
"applied": true,
"confidence_cap": 0.6,
"winner_flipped": false,
"reasons": [
"season-to-date record and run differential support the home team over a close road lean"
],
"signals": {
"home": {
"team": "LAD",
"games": 72,
"wins": 45,
"losses": 27,
"win_pct": 0.625,
"runs_scored": 386,
"runs_allowed": 245,
"run_differential": 141,
"run_differential_per_game": 1.9583333333333333,
"available": true
},
"away": {
"team": "TB",
"games": 68,
"wins": 41,
"losses": 27,
"win_pct": 0.6029411764705882,
"runs_scored": 308,
"runs_allowed": 300,
"run_differential": 8,
"run_differential_per_game": 0.11764705882352941,
"available": true
},
"home_quality_edge": 0.2429,
"original_score": {
"away_runs": 3.316,
"home_runs": 2.031,
"home_win_probability": 0.3908
},
"adjusted_score": {
"away_runs": 3.005,
"home_runs": 2.721,
"home_win_probability": 0.51
}
}
}{
"applied": false,
"raw_margin": -0.2837,
"final_margin": -0.2837,
"margin_cap": 4.25,
"season_quality_edge": 1.8738,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.566316,
"final_confidence": 0.566316,
"confidence_cap": 0.66,
"score_gap": 0.2837,
"calibration_sample_size": 96,
"calibration_empirical_hit_rate": 0.6458,
"calibration_bayesian_hit_rate": 0.6228,
"calibration_sparse_bucket": false,
"season_quality_edge": 1.8738,
"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": 5,
"home_runs": 4,
"score_text": "TB 5 - 4 LAD",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 4,
"score_text": "TB 7 - 4 LAD",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"total_run_delta": 2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}{
"away_runs": 5,
"home_runs": 4,
"confidence": 0.566316,
"home_win_probability": 0.43368399999999996,
"away_win_probability": 0.566316,
"predicted_score_text": "TB 5 - 4 LAD",
"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": "TB",
"original_runs": 4,
"run_delta": 0.4246,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 30.0,
"quality": 0.13183298981425653,
"contact": -0.04415173149268282,
"power": -0.2823107885449771,
"discipline": 0.4126708598419125,
"xwoba": 0.3091,
"recent_xwoba": 0.3091,
"barrel": 5.816666666666666,
"ab_hard_contact": 0.06245724497347546,
"ab_bat_speed": 70.6016384245361,
"ab_strikeout_rate": 0.19761209755157122,
"available_players": 9,
"top_players": [
{
"player_id": "670764",
"player_name": "Taylor Walls",
"position": "SS",
"weight": 3.0,
"quality": -0.9308305783411372,
"contact": -1.7775862565968223,
"power": -1.793461537200735,
"discipline": 0.40863157894736835,
"xwoba": 0.247,
"recent_xwoba": 0.247,
"barrel": 2.7000000000000006,
"ab_hard_contact": -1.3301831249670728,
"ab_bat_speed": 61.07811038011696,
"ab_strikeout_rate": 0.24078947368421053,
"available": 1.0
},
{
"player_id": "691406",
"player_name": "Junior Caminero",
"position": "3B",
"weight": 4.0,
"quality": 0.9826614546783793,
"contact": 1.077470041910435,
"power": 1.0620572940029027,
"discipline": 0.9068038365143629,
"xwoba": 0.363,
"recent_xwoba": 0.363,
"barrel": 12.3,
"ab_hard_contact": 1.0670506419628132,
"ab_bat_speed": 78.56293650793651,
"ab_strikeout_rate": 0.16254578754578755,
"available": 1.0
},
{
"player_id": "666018",
"player_name": "Jonathan Aranda",
"position": "1B",
"weight": 4.0,
"quality": 0.8924939854649075,
"contact": 0.9554862356862361,
"power": 0.9248702719740055,
"discipline": 0.6966170233275495,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 11.5,
"ab_hard_contact": 1.2048340109086813,
"ab_bat_speed": 69.23668742368741,
"ab_strikeout_rate": 0.2310897435897436,
"available": 1.0
},
{
"player_id": "650490",
"player_name": "Yandy Díaz",
"position": "DH",
"weight": 4.0,
"quality": 0.8750850062393538,
"contact": 1.3139609609609604,
"power": 0.6832014270655801,
"discipline": 0.7718258145363409,
"xwoba": 0.371,
"recent_xwoba": 0.371,
"barrel": 8.5,
"ab_hard_contact": 1.3268856841687546,
"ab_bat_speed": 72.64145833333333,
"ab_strikeout_rate": 0.12366666666666667,
"available": 1.0
},
{
"player_id": "596103",
"player_name": "Austin Slater",
"position": "RF",
"weight": 3.0,
"quality": -0.3492352204371803,
"contact": -2.0,
"power": -1.710373186003202,
"discipline": -0.35707894736842105,
"xwoba": 0.215,
"recent_xwoba": 0.215,
"barrel": 2.6,
"ab_hard_contact": -1.2070827676830975,
"ab_bat_speed": 70.44894444444444,
"ab_strikeout_rate": 0.3375,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "641778",
"player_name": "Eric Lauer",
"quality": -0.5837095016820365,
"contact": -0.9910203824312693,
"command": -0.5331428571428571,
"movement": -1.1545249879778894,
"xwoba": 0.353,
"whiff": 19.5,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
},
"home": {
"team": "LAD",
"original_runs": 3,
"run_delta": 0.7451,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.514893259103091,
"contact": 0.6562210658563249,
"power": 0.7183820855544107,
"discipline": 0.21870574584460534,
"xwoba": 0.35565625000000006,
"recent_xwoba": 0.35565625000000006,
"barrel": 10.7875,
"ab_hard_contact": 0.25072353241807654,
"ab_bat_speed": 70.44572971339394,
"ab_strikeout_rate": 0.23928967238847754,
"available_players": 9,
"top_players": [
{
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"weight": 4.0,
"quality": 1.6306320111845918,
"contact": 1.7270588211726012,
"power": 2.0,
"discipline": 0.7899210526315793,
"xwoba": 0.427,
"recent_xwoba": 0.427,
"barrel": 17.1,
"ab_hard_contact": 1.2539879039722313,
"ab_bat_speed": 73.65034166666666,
"ab_strikeout_rate": 0.221,
"available": 1.0
},
{
"player_id": "571970",
"player_name": "Max Muncy",
"position": "3B",
"weight": 3.0,
"quality": 1.0307243829337411,
"contact": 1.163235596708316,
"power": 1.694140714312886,
"discipline": 0.2806393065998329,
"xwoba": 0.396,
"recent_xwoba": 0.396,
"barrel": 16.9,
"ab_hard_contact": 1.0782428576862881,
"ab_bat_speed": 70.70347280092592,
"ab_strikeout_rate": 0.2576388888888889,
"available": 1.0
},
{
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"weight": 4.0,
"quality": 0.9410236774889713,
"contact": 1.0934305636268136,
"power": 0.9774465195665255,
"discipline": 0.5929485251590516,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 11.4,
"ab_hard_contact": 0.78283515323527,
"ab_bat_speed": 69.57375961538462,
"ab_strikeout_rate": 0.15961538461538463,
"available": 1.0
},
{
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"weight": 4.0,
"quality": 0.6127905633120025,
"contact": 0.7992677617786631,
"power": 0.7776796108240985,
"discipline": -0.19723262702210045,
"xwoba": 0.346,
"recent_xwoba": 0.346,
"barrel": 9.7,
"ab_hard_contact": 0.6987350736248107,
"ab_bat_speed": 71.2382103909465,
"ab_strikeout_rate": 0.20393939393939395,
"available": 1.0
},
{
"player_id": "687221",
"player_name": "Dalton Rushing",
"position": "C",
"weight": 3.0,
"quality": 0.15872793286116782,
"contact": 0.5340208427951764,
"power": 0.49510744230650217,
"discipline": -0.23072709551656906,
"xwoba": 0.361,
"recent_xwoba": 0.361,
"barrel": 9.8,
"ab_hard_contact": 1.0179583699395682,
"ab_bat_speed": 70.4629732510288,
"ab_strikeout_rate": 0.29814814814814816,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "607259",
"player_name": "Nick Martinez",
"quality": -0.33391282402557987,
"contact": -0.091059713307857,
"command": -0.562857142857143,
"movement": -0.8759060735202548,
"xwoba": 0.329,
"whiff": 18.2,
"faced_est_woba": 0.267543125,
"faced_launch_speed": 83.8287503543084,
"faced_strikeout_rate": 0.23125,
"faced_run_exp": 0.007916194341372912
}
}
},
"tie_break_resolution": {
"applied": true,
"reason": "MLB prediction target cannot remain tied before inning simulation",
"winner_side": "away",
"winner_team": "TB",
"home_win_probability": 0.4337,
"away_win_probability": 0.5663
},
"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": 5,
"home_runs": 4,
"predicted_score_text": "TB 5 - 4 LAD",
"confidence": 0.566316,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "enhanced_prediction.pre_simulation_target",
"final_prediction_synced": true,
"final_prediction_source": "pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"simulation_score_matches_prediction": false,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "TB 5 - 4 LAD",
"winner": "TB"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 4,
"score_text": "TB 7 - 4 LAD",
"winner": "TB"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"total_run_delta": 2,
"score_source": "enhanced_prediction.pre_simulation_target",
"simulation_usage": "advisory_box_score_draw",
"final_prediction_source": "pre_simulation_target"
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away TB | True | 1.0012 | 1.0012 | 1 | 9 | 0 |
| Home LAD | True | 1.0546 | 1.0546 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Yandy Díaz | 39 | 1.0665 | 0.8866 | negative_batter_regression | 0.3710 | 0.2910 | 0.4690 | 8.50 | 45.30 | 90.60 | 7.10 | 14 | 12.10 | 9.30 | -0.8857 |
| LF | Ryan Vilade | 188 | 0.9942 | -0.0774 | negative_batter_regression | 0.3070 | 0.2480 | 0.3750 | 3.60 | 38.10 | 89.40 | 16.90 | 20.30 | 18.50 | 10.10 | -1.2286 |
| 1B | Jonathan Aranda | 171 | 1.0906 | 1.2076 | neutral | 0.3730 | 0.2650 | 0.4730 | 11.50 | 46 | 90.70 | 13.80 | 22 | 24 | 14.20 | 0.4000 |
| 3B | Junior Caminero | 78 | 1.0770 | 1.0267 | neutral | 0.3630 | 0.2680 | 0.4670 | 12.30 | 48.80 | 92.50 | 7.90 | 22.10 | 16.90 | 13.90 | -0.2857 |
| 2B | Ben Williamson | 187 | 0.9899 | -0.1342 | neutral | 0.3000 | 0.2510 | 0.3320 | 0.90 | 38.10 | 88.60 | 4.50 | 18.10 | 20.20 | 9.80 | 0.0286 |
| RF | Austin Slater | 453 | 0.9381 | -0.8248 | negative_batter_regression | 0.2150 | 0.1660 | 0.2220 | 2.60 | 15.40 | 85.40 | 7.70 | 27.50 | 29.20 | 9.20 | -1.3143 |
| C | Nick Fortes | 378 | 0.9771 | -0.3047 | neutral | 0.2830 | 0.2540 | 0.3380 | 1.50 | 40.30 | 86.60 | 6.70 | 14.90 | 12.80 | 2.30 | -0.3714 |
| CF | Cedric Mullins | 296 | 0.9491 | -0.6781 | neutral | 0.2630 | 0.1860 | 0.3080 | 3.80 | 31.10 | 88.30 | 29.10 | 20.50 | 18.50 | 8.60 | -0.2000 |
| SS | Taylor Walls | 81 | 0.9280 | -0.9604 | negative_batter_regression | 0.2470 | 0.1740 | 0.2290 | 2.70 | 17 | 83.10 | 21.20 | 22.60 | 24.30 | 12.20 | -1.0857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Mookie Betts | 183 | 1.0243 | 0.3246 | positive_batter_regression | 0.3250 | 0.2630 | 0.4240 | 8.10 | 37.10 | 90 | 19.30 | 13.60 | 12.70 | 7.60 | 1.5143 |
| CF | Andy Pages | 5 | 1.0623 | 0.8306 | neutral | 0.3460 | 0.2770 | 0.4760 | 9.70 | 47.70 | 89.90 | 16.20 | 23.50 | 19.90 | 6.40 | -0.3143 |
| 1B | Freddie Freeman | 53 | 1.0935 | 1.2465 | neutral | 0.3730 | 0.2790 | 0.4890 | 11.40 | 45.50 | 90.80 | 11.90 | 22.30 | 16.80 | 11.40 | 0.3143 |
| DH | Shohei Ohtani | 18 | 1.1459 | 1.9452 | neutral | 0.4270 | 0.3030 | 0.5750 | 17.10 | 53.80 | 93.80 | 13 | 28 | 22 | 16.10 | 0.2571 |
| 3B | Max Muncy | 16 | 1.1037 | 1.3821 | neutral | 0.3960 | 0.2740 | 0.5500 | 16.90 | 48.10 | 90.50 | 12.80 | 27.60 | 23.90 | 12.60 | 0.0286 |
| RF | Kyle Tucker | 177 | 1.0155 | 0.2062 | neutral | 0.3250 | 0.2470 | 0.3710 | 5.20 | 38.20 | 88.80 | 16.10 | 23.70 | 20.40 | 12.80 | 0.1429 |
| LF | Ryan Ward | 252 | 1.0279 | 0.3726 | neutral | 0.3450 | 0.2610 | 0.5100 | 12.50 | 37.50 | 89.60 | 13.80 | 24.40 | 29.70 | 5.40 | -0.0286 |
| C | Dalton Rushing | 91 | 1.0239 | 0.3187 | neutral | 0.3610 | 0.2680 | 0.4560 | 9.80 | 40.20 | 88.30 | 15.30 | 30.30 | 25 | 9.80 | -0.7143 |
| 2B | Alex Freeland | 144 | 0.9945 | -0.0727 | neutral | 0.2970 | 0.2200 | 0.3490 | 7.20 | 39.20 | 89.40 | 9.80 | 27.10 | 26.30 | 10.90 | -0.0571 |
{
"home": {
"applied": true,
"offense_factor": 1.0546,
"raw_average_factor": 1.0546,
"team_espn_average_rank": 104.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "605141",
"player_name": "Mookie Betts",
"offense_factor": 1.0243,
"quality_score": 0.3246,
"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": 183,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 183,
"gp_value": 37.0,
"gp_rank": 318,
"ab_value": 147.0,
"ab_rank": 239,
"r_value": 22.0,
"r_rank": 187,
"h_value": 30.0,
"h_rank": 258,
"avg_value": 0.2040816,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 7.0,
"hr_rank": 114,
"rbi_value": 18.0,
"rbi_rank": 222,
"tb_value": 55.0,
"tb_rank": 1275,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 20.0,
"so_rank": 342,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.2670807,
"obp_rank": "-",
"slg_value": 0.3741496,
"slg_rank": "-",
"ops_value": 0.6412303,
"ops_rank": null,
"war_value": 0.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 12.7,
"bb_percent": 7.6,
"woba": 0.272,
"xwoba": 0.325,
"xba": 0.263,
"xslg": 0.424,
"sweet_spot_percent": 42.7,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 37.1,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 19.3,
"whiff_percent": 13.6,
"swing_percent": 40.7
},
"components": {
"expected_quality": 0.5923,
"regression_edge": 1.5143,
"xwoba_edge": 0.5714,
"xba_edge": 0.7143,
"xslg_edge": 0.7,
"barrel_edge": 0.2667,
"hard_hit_edge": -0.2143,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.5667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0623,
"quality_score": 0.8306,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 5,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 5,
"gp_value": 71.0,
"gp_rank": 17,
"ab_value": 275.0,
"ab_rank": 17,
"r_value": 42.0,
"r_rank": 34,
"h_value": 75.0,
"h_rank": 18,
"avg_value": 0.2727272,
"avg_rank": 48.0,
"2b_value": 15.0,
"2b_rank": 24,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 15.0,
"hr_rank": 22,
"rbi_value": 56.0,
"rbi_rank": 1,
"tb_value": 137.0,
"tb_rank": 242,
"bb_value": 19.0,
"bb_rank": 153,
"so_value": 60.0,
"so_rank": 74,
"sb_value": 7.0,
"sb_rank": 58,
"obp_value": 0.3189368,
"obp_rank": "103",
"slg_value": 0.4981818,
"slg_rank": "28",
"ops_value": 0.8171186,
"ops_rank": 75.0,
"war_value": 3.55,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 19.9,
"bb_percent": 6.4,
"woba": 0.357,
"xwoba": 0.346,
"xba": 0.277,
"xslg": 0.476,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 47.7,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 16.2,
"whiff_percent": 23.5,
"swing_percent": 49.4
},
"components": {
"expected_quality": 1.017,
"regression_edge": -0.3143,
"xwoba_edge": 1.1714,
"xba_edge": 1.1143,
"xslg_edge": 1.4429,
"barrel_edge": 0.6222,
"hard_hit_edge": 1.3,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.0935,
"quality_score": 1.2465,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 53,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 53,
"gp_value": 69.0,
"gp_rank": 44,
"ab_value": 262.0,
"ab_rank": 36,
"r_value": 39.0,
"r_rank": 49,
"h_value": 72.0,
"h_rank": 30,
"avg_value": 0.2748091,
"avg_rank": 45.0,
"2b_value": 17.0,
"2b_rank": 11,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 11.0,
"hr_rank": 51,
"rbi_value": 38.0,
"rbi_rank": 44,
"tb_value": 124.0,
"tb_rank": 328,
"bb_value": 35.0,
"bb_rank": 31,
"so_value": 51.0,
"so_rank": 123,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.3630363,
"obp_rank": "37",
"slg_value": 0.4732824,
"slg_rank": "40",
"ops_value": 0.8363187,
"ops_rank": 77.0,
"war_value": 1.9,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 16.8,
"bb_percent": 11.4,
"woba": 0.362,
"xwoba": 0.373,
"xba": 0.279,
"xslg": 0.489,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 45.5,
"exit_velocity_avg": 90.8,
"launch_angle_avg": 11.9,
"whiff_percent": 22.3,
"swing_percent": 49.6
},
"components": {
"expected_quality": 1.3983,
"regression_edge": 0.3143,
"xwoba_edge": 1.9429,
"xba_edge": 1.1714,
"xslg_edge": 1.6286,
"barrel_edge": 1.0,
"hard_hit_edge": 0.9857,
"exit_velocity_edge": 0.8,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.1459,
"quality_score": 1.9452,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660271",
"espn_id": 39832,
"player_name": "Shohei Ohtani",
"team": "LAD",
"role": "batter",
"espn_rank": 18,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 18,
"gp_value": 65.0,
"gp_rank": 120,
"ab_value": 248.0,
"ab_rank": 78,
"r_value": 50.0,
"r_rank": 7,
"h_value": 75.0,
"h_rank": 18,
"avg_value": 0.3024193,
"avg_rank": 13.0,
"2b_value": 15.0,
"2b_rank": 24,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 14.0,
"hr_rank": 29,
"rbi_value": 41.0,
"rbi_rank": 31,
"tb_value": 136.0,
"tb_rank": 159,
"bb_value": 51.0,
"bb_rank": 5,
"so_value": 69.0,
"so_rank": 42,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.42671,
"obp_rank": "3",
"slg_value": 0.548387,
"slg_rank": "11",
"ops_value": 0.975097,
"ops_rank": 14.0,
"war_value": 2.87,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 22.0,
"bb_percent": 16.1,
"woba": 0.418,
"xwoba": 0.427,
"xba": 0.303,
"xslg": 0.575,
"sweet_spot_percent": 42.9,
"barrel_batted_rate": 17.1,
"hard_hit_percent": 53.8,
"exit_velocity_avg": 93.8,
"launch_angle_avg": 13.0,
"whiff_percent": 28.0,
"swing_percent": 43.5
},
"components": {
"expected_quality": 2.22,
"regression_edge": 0.2571,
"xwoba_edge": 2.5,
"xba_edge": 1.8571,
"xslg_edge": 2.5,
"barrel_edge": 2.2667,
"hard_hit_edge": 2.1714,
"exit_velocity_edge": 2.0,
"sweet_spot_edge": 1.6,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "571970",
"player_name": "Max Muncy",
"offense_factor": 1.1037,
"quality_score": 1.3821,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571970",
"espn_id": 33303,
"player_name": "Max Muncy",
"team": "LAD",
"role": "batter",
"espn_rank": 16,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 16,
"gp_value": 66.0,
"gp_rank": 94,
"ab_value": 216.0,
"ab_rank": 128,
"r_value": 46.0,
"r_rank": 13,
"h_value": 58.0,
"h_rank": 96,
"avg_value": 0.2685185,
"avg_rank": 53.0,
"2b_value": 9.0,
"2b_rank": 145,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 16.0,
"hr_rank": 15,
"rbi_value": 28.0,
"rbi_rank": 120,
"tb_value": 115.0,
"tb_rank": 666,
"bb_value": 32.0,
"bb_rank": 42,
"so_value": 60.0,
"so_rank": 74,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3705179,
"obp_rank": "29",
"slg_value": 0.5324074,
"slg_rank": "18",
"ops_value": 0.9029253,
"ops_rank": 11.0,
"war_value": 2.89,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 189.0,
"k_percent": 23.9,
"bb_percent": 12.6,
"woba": 0.395,
"xwoba": 0.396,
"xba": 0.274,
"xslg": 0.55,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 16.9,
"hard_hit_percent": 48.1,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 12.8,
"whiff_percent": 27.6,
"swing_percent": 43.7
},
"components": {
"expected_quality": 1.866,
"regression_edge": 0.0286,
"xwoba_edge": 2.5,
"xba_edge": 1.0286,
"xslg_edge": 2.5,
"barrel_edge": 2.2222,
"hard_hit_edge": 1.3571,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0155,
"quality_score": 0.2062,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 177,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 177,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 251.0,
"ab_rank": 69,
"r_value": 42.0,
"r_rank": 34,
"h_value": 59.0,
"h_rank": 90,
"avg_value": 0.2350597,
"avg_rank": 113.0,
"2b_value": 16.0,
"2b_rank": 14,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 5.0,
"hr_rank": 176,
"rbi_value": 36.0,
"rbi_rank": 55,
"tb_value": 94.0,
"tb_rank": 662,
"bb_value": 37.0,
"bb_rank": 26,
"so_value": 60.0,
"so_rank": 74,
"sb_value": 6.0,
"sb_rank": 73,
"obp_value": 0.3344709,
"obp_rank": "80",
"slg_value": 0.3745019,
"slg_rank": "117",
"ops_value": 0.7089728,
"ops_rank": 37.0,
"war_value": 0.65,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 20.4,
"bb_percent": 12.8,
"woba": 0.32,
"xwoba": 0.325,
"xba": 0.247,
"xslg": 0.371,
"sweet_spot_percent": 35.1,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 38.2,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 16.1,
"whiff_percent": 23.7,
"swing_percent": 48.5
},
"components": {
"expected_quality": 0.2165,
"regression_edge": 0.1429,
"xwoba_edge": 0.5714,
"xba_edge": 0.2571,
"xslg_edge": -0.0571,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.0571,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 0.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "669899",
"player_name": "Ryan Ward",
"offense_factor": 1.0279,
"quality_score": 0.3726,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669899",
"espn_id": 4091943,
"player_name": "Ryan Ward",
"team": "LAD",
"role": "batter",
"espn_rank": 252,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 252,
"gp_value": 13.0,
"gp_rank": 450,
"ab_value": 38.0,
"ab_rank": 431,
"r_value": 7.0,
"r_rank": 380,
"h_value": 9.0,
"h_rank": 416,
"avg_value": 0.2368421,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 11.0,
"rbi_rank": 299,
"tb_value": 21.0,
"tb_rank": 1839,
"bb_value": 3.0,
"bb_rank": 418,
"so_value": 13.0,
"so_rank": 410,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.2926829,
"obp_rank": "-",
"slg_value": 0.5526315,
"slg_rank": "-",
"ops_value": 0.8453144,
"ops_rank": null,
"war_value": 0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 6.0,
"k_percent": 29.7,
"bb_percent": 5.4,
"woba": 0.346,
"xwoba": 0.345,
"xba": 0.261,
"xslg": 0.51,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 13.8,
"whiff_percent": 24.4,
"swing_percent": 52.6
},
"components": {
"expected_quality": 0.9674,
"regression_edge": -0.0286,
"xwoba_edge": 1.1429,
"xba_edge": 0.6571,
"xslg_edge": 1.9286,
"barrel_edge": 1.2444,
"hard_hit_edge": -0.1571,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "687221",
"player_name": "Dalton Rushing",
"offense_factor": 1.0239,
"quality_score": 0.3187,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687221",
"espn_id": 4619839,
"player_name": "Dalton Rushing",
"team": "LAD",
"role": "batter",
"espn_rank": 91,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 91,
"gp_value": 40.0,
"gp_rank": 296,
"ab_value": 119.0,
"ab_rank": 278,
"r_value": 21.0,
"r_rank": 194,
"h_value": 32.0,
"h_rank": 247,
"avg_value": 0.2689075,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 8.0,
"hr_rank": 93,
"rbi_value": 21.0,
"rbi_rank": 190,
"tb_value": 62.0,
"tb_rank": 1135,
"bb_value": 13.0,
"bb_rank": 228,
"so_value": 35.0,
"so_rank": 226,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3602941,
"obp_rank": "-",
"slg_value": 0.5210084,
"slg_rank": "-",
"ops_value": 0.8813025,
"ops_rank": null,
"war_value": 1.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 92.0,
"k_percent": 25.0,
"bb_percent": 9.8,
"woba": 0.386,
"xwoba": 0.361,
"xba": 0.268,
"xslg": 0.456,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 40.2,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 15.3,
"whiff_percent": 30.3,
"swing_percent": 49.1
},
"components": {
"expected_quality": 0.9398,
"regression_edge": -0.7143,
"xwoba_edge": 1.6,
"xba_edge": 0.8571,
"xslg_edge": 1.1571,
"barrel_edge": 0.6444,
"hard_hit_edge": 0.2286,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "690976",
"player_name": "Alex Freeland",
"offense_factor": 0.9945,
"quality_score": -0.0727,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690976",
"espn_id": 4727589,
"player_name": "Alex Freeland",
"team": "LAD",
"role": "batter",
"espn_rank": 144,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 144,
"gp_value": 49.0,
"gp_rank": 231,
"ab_value": 137.0,
"ab_rank": 248,
"r_value": 17.0,
"r_rank": 237,
"h_value": 32.0,
"h_rank": 247,
"avg_value": 0.2335766,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 16.0,
"rbi_rank": 249,
"tb_value": 47.0,
"tb_rank": 1552,
"bb_value": 17.0,
"bb_rank": 179,
"so_value": 42.0,
"so_rank": 169,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3184713,
"obp_rank": "-",
"slg_value": 0.3430656,
"slg_rank": "-",
"ops_value": 0.6615369,
"ops_rank": null,
"war_value": 0.87,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 113.0,
"k_percent": 26.3,
"bb_percent": 10.9,
"woba": 0.299,
"xwoba": 0.297,
"xba": 0.22,
"xslg": 0.349,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 39.2,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 9.8,
"whiff_percent": 27.1,
"swing_percent": 39.6
},
"components": {
"expected_quality": -0.1553,
"regression_edge": -0.0571,
"xwoba_edge": -0.2286,
"xba_edge": -0.5143,
"xslg_edge": -0.3714,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.0857,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": 0.1167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0012,
"raw_average_factor": 1.0012,
"team_espn_average_rank": 207.89,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "650490",
"player_name": "Yandy Díaz",
"offense_factor": 1.0665,
"quality_score": 0.8866,
"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": 39,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 39,
"gp_value": 65.0,
"gp_rank": 120,
"ab_value": 250.0,
"ab_rank": 73,
"r_value": 34.0,
"r_rank": 72,
"h_value": 80.0,
"h_rank": 7,
"avg_value": 0.32,
"avg_rank": 5.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 12.0,
"hr_rank": 42,
"rbi_value": 46.0,
"rbi_rank": 14,
"tb_value": 129.0,
"tb_rank": 349,
"bb_value": 27.0,
"bb_rank": 69,
"so_value": 35.0,
"so_rank": 226,
"sb_value": 1.0,
"sb_rank": 235,
"obp_value": 0.3986013,
"obp_rank": "6",
"slg_value": 0.516,
"slg_rank": "22",
"ops_value": 0.9146013,
"ops_rank": 28.0,
"war_value": 2.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 214.0,
"k_percent": 12.1,
"bb_percent": 9.3,
"woba": 0.402,
"xwoba": 0.371,
"xba": 0.291,
"xslg": 0.469,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 7.1,
"whiff_percent": 14.0,
"swing_percent": 46.6
},
"components": {
"expected_quality": 1.204,
"regression_edge": -0.8857,
"xwoba_edge": 1.8857,
"xba_edge": 1.5143,
"xslg_edge": 1.3429,
"barrel_edge": 0.3556,
"hard_hit_edge": 0.9571,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -1.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "668723",
"player_name": "Ryan Vilade",
"offense_factor": 0.9942,
"quality_score": -0.0774,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "668723",
"espn_id": 40960,
"player_name": "Ryan Vilade",
"team": "TB",
"role": "batter",
"espn_rank": 188,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 188,
"gp_value": 41.0,
"gp_rank": 283,
"ab_value": 103.0,
"ab_rank": 307,
"r_value": 10.0,
"r_rank": 334,
"h_value": 30.0,
"h_rank": 258,
"avg_value": 0.2912621,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 256,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 3.0,
"hr_rank": 232,
"rbi_value": 23.0,
"rbi_rank": 171,
"tb_value": 46.0,
"tb_rank": 1344,
"bb_value": 12.0,
"bb_rank": 245,
"so_value": 22.0,
"so_rank": 323,
"sb_value": 3.0,
"sb_rank": 144,
"obp_value": 0.3559322,
"obp_rank": "-",
"slg_value": 0.4466019,
"slg_rank": "-",
"ops_value": 0.8025341,
"ops_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 74.0,
"k_percent": 18.5,
"bb_percent": 10.1,
"woba": 0.35,
"xwoba": 0.307,
"xba": 0.248,
"xslg": 0.375,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 16.9,
"whiff_percent": 20.3,
"swing_percent": 49.8
},
"components": {
"expected_quality": 0.0001,
"regression_edge": -1.2286,
"xwoba_edge": 0.0571,
"xba_edge": 0.2857,
"xslg_edge": 0.0,
"barrel_edge": -0.7333,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.25,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "666018",
"player_name": "Jonathan Aranda",
"offense_factor": 1.0906,
"quality_score": 1.2076,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666018",
"espn_id": 40810,
"player_name": "Jonathan Aranda",
"team": "TB",
"role": "batter",
"espn_rank": 171,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 171,
"gp_value": 67.0,
"gp_rank": 78,
"ab_value": 243.0,
"ab_rank": 90,
"r_value": 35.0,
"r_rank": 67,
"h_value": 66.0,
"h_rank": 61,
"avg_value": 0.2716049,
"avg_rank": 49.0,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 11.0,
"hr_rank": 51,
"rbi_value": 48.0,
"rbi_rank": 11,
"tb_value": 109.0,
"tb_rank": 712,
"bb_value": 41.0,
"bb_rank": 16,
"so_value": 70.0,
"so_rank": 40,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3754266,
"obp_rank": "23",
"slg_value": 0.4485596,
"slg_rank": "55",
"ops_value": 0.8239862,
"ops_rank": 78.0,
"war_value": 0.69,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 24.0,
"bb_percent": 14.2,
"woba": 0.359,
"xwoba": 0.373,
"xba": 0.265,
"xslg": 0.473,
"sweet_spot_percent": 37.1,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 46.0,
"exit_velocity_avg": 90.7,
"launch_angle_avg": 13.8,
"whiff_percent": 22.0,
"swing_percent": 43.8
},
"components": {
"expected_quality": 1.3391,
"regression_edge": 0.4,
"xwoba_edge": 1.9429,
"xba_edge": 0.7714,
"xslg_edge": 1.4,
"barrel_edge": 1.0222,
"hard_hit_edge": 1.0571,
"exit_velocity_edge": 0.76,
"sweet_spot_edge": 0.6333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691406",
"player_name": "Junior Caminero",
"offense_factor": 1.077,
"quality_score": 1.0267,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691406",
"espn_id": 4905921,
"player_name": "Junior Caminero",
"team": "TB",
"role": "batter",
"espn_rank": 78,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 78,
"gp_value": 68.0,
"gp_rank": 57,
"ab_value": 258.0,
"ab_rank": 43,
"r_value": 42.0,
"r_rank": 34,
"h_value": 70.0,
"h_rank": 39,
"avg_value": 0.2713178,
"avg_rank": 50.0,
"2b_value": 11.0,
"2b_rank": 96,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 15.0,
"hr_rank": 22,
"rbi_value": 32.0,
"rbi_rank": 87,
"tb_value": 126.0,
"tb_rank": 581,
"bb_value": 41.0,
"bb_rank": 16,
"so_value": 51.0,
"so_rank": 123,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.37,
"obp_rank": "31",
"slg_value": 0.488372,
"slg_rank": "33",
"ops_value": 0.858372,
"ops_rank": 2.0,
"war_value": 1.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 16.9,
"bb_percent": 13.9,
"woba": 0.373,
"xwoba": 0.363,
"xba": 0.268,
"xslg": 0.467,
"sweet_spot_percent": 25.5,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 48.8,
"exit_velocity_avg": 92.5,
"launch_angle_avg": 7.9,
"whiff_percent": 22.1,
"swing_percent": 41.0
},
"components": {
"expected_quality": 1.2404,
"regression_edge": -0.2857,
"xwoba_edge": 1.6571,
"xba_edge": 0.8571,
"xslg_edge": 1.3143,
"barrel_edge": 1.2,
"hard_hit_edge": 1.4571,
"exit_velocity_edge": 1.48,
"sweet_spot_edge": -1.3,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "810938",
"player_name": "Ben Williamson",
"offense_factor": 0.9899,
"quality_score": -0.1342,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "810938",
"espn_id": 4626239,
"player_name": "Ben Williamson",
"team": "TB",
"role": "batter",
"espn_rank": 187,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 187,
"gp_value": 51.0,
"gp_rank": 219,
"ab_value": 149.0,
"ab_rank": 236,
"r_value": 23.0,
"r_rank": 179,
"h_value": 38.0,
"h_rank": 212,
"avg_value": 0.2550335,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 202,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 19.0,
"rbi_rank": 210,
"tb_value": 50.0,
"tb_rank": 1625,
"bb_value": 16.0,
"bb_rank": 186,
"so_value": 33.0,
"so_rank": 244,
"sb_value": 5.0,
"sb_rank": 89,
"obp_value": 0.3313253,
"obp_rank": "-",
"slg_value": 0.3355704,
"slg_rank": "-",
"ops_value": 0.6668957,
"ops_rank": null,
"war_value": 0.6,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 125.0,
"k_percent": 20.2,
"bb_percent": 9.8,
"woba": 0.299,
"xwoba": 0.3,
"xba": 0.251,
"xslg": 0.332,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 0.9,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 4.5,
"whiff_percent": 18.1,
"swing_percent": 40.9
},
"components": {
"expected_quality": -0.2793,
"regression_edge": 0.0286,
"xwoba_edge": -0.1429,
"xba_edge": 0.3714,
"xslg_edge": -0.6143,
"barrel_edge": -1.3333,
"hard_hit_edge": -0.0714,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "596103",
"player_name": "Austin Slater",
"offense_factor": 0.9381,
"quality_score": -0.8248,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "596103",
"espn_id": 35265,
"player_name": "Austin Slater",
"team": "TB",
"role": "batter",
"espn_rank": 453,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 453,
"gp_value": 25.0,
"gp_rank": 379,
"ab_value": 58.0,
"ab_rank": 389,
"r_value": 5.0,
"r_rank": 411,
"h_value": 13.0,
"h_rank": 380,
"avg_value": 0.2241379,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 347,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 3.0,
"rbi_rank": 445,
"tb_value": 16.0,
"tb_rank": 2418,
"bb_value": 6.0,
"bb_rank": 350,
"so_value": 19.0,
"so_rank": 354,
"sb_value": 2.0,
"sb_rank": 179,
"obp_value": 0.2923076,
"obp_rank": "-",
"slg_value": 0.275862,
"slg_rank": "-",
"ops_value": 0.5681696,
"ops_rank": null,
"war_value": -0.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 47.0,
"k_percent": 29.2,
"bb_percent": 9.2,
"woba": 0.261,
"xwoba": 0.215,
"xba": 0.166,
"xslg": 0.222,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 15.4,
"exit_velocity_avg": 85.4,
"launch_angle_avg": 7.7,
"whiff_percent": 27.5,
"swing_percent": 46.7
},
"components": {
"expected_quality": -1.9173,
"regression_edge": -1.3143,
"xwoba_edge": -2.5,
"xba_edge": -2.0571,
"xslg_edge": -2.1857,
"barrel_edge": -0.9556,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.36,
"sweet_spot_edge": -0.9667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "663743",
"player_name": "Nick Fortes",
"offense_factor": 0.9771,
"quality_score": -0.3047,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663743",
"espn_id": 41674,
"player_name": "Nick Fortes",
"team": "TB",
"role": "batter",
"espn_rank": 378,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 378,
"gp_value": 54.0,
"gp_rank": 202,
"ab_value": 160.0,
"ab_rank": 214,
"r_value": 16.0,
"r_rank": 245,
"h_value": 43.0,
"h_rank": 181,
"avg_value": 0.26875,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 118,
"3b_value": 0.0,
"3b_rank": 190,
"hr_value": 1.0,
"hr_rank": 359,
"rbi_value": 14.0,
"rbi_rank": 261,
"tb_value": 56.0,
"tb_rank": 1756,
"bb_value": 4.0,
"bb_rank": 401,
"so_value": 22.0,
"so_rank": 323,
"sb_value": 0.0,
"sb_rank": 337,
"obp_value": 0.3099415,
"obp_rank": "-",
"slg_value": 0.35,
"slg_rank": "-",
"ops_value": 0.6599415,
"ops_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 133.0,
"k_percent": 12.8,
"bb_percent": 2.3,
"woba": 0.296,
"xwoba": 0.283,
"xba": 0.254,
"xslg": 0.338,
"sweet_spot_percent": 23.6,
"barrel_batted_rate": 1.5,
"hard_hit_percent": 40.3,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 6.7,
"whiff_percent": 14.9,
"swing_percent": 52.1
},
"components": {
"expected_quality": -0.5256,
"regression_edge": -0.3714,
"xwoba_edge": -0.6286,
"xba_edge": 0.4571,
"xslg_edge": -0.5286,
"barrel_edge": -1.2,
"hard_hit_edge": 0.2429,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": -1.6167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "656775",
"player_name": "Cedric Mullins",
"offense_factor": 0.9491,
"quality_score": -0.6781,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656775",
"espn_id": 35578,
"player_name": "Cedric Mullins",
"team": "TB",
"role": "batter",
"espn_rank": 296,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 296,
"gp_value": 61.0,
"gp_rank": 155,
"ab_value": 204.0,
"ab_rank": 142,
"r_value": 24.0,
"r_rank": 168,
"h_value": 41.0,
"h_rank": 193,
"avg_value": 0.2009803,
"avg_rank": 154.0,
"2b_value": 4.0,
"2b_rank": 295,
"3b_value": 1.0,
"3b_rank": 67,
"hr_value": 6.0,
"hr_rank": 147,
"rbi_value": 21.0,
"rbi_rank": 190,
"tb_value": 65.0,
"tb_rank": 1063,
"bb_value": 21.0,
"bb_rank": 133,
"so_value": 43.0,
"so_rank": 166,
"sb_value": 12.0,
"sb_rank": 20,
"obp_value": 0.2900432,
"obp_rank": "138",
"slg_value": 0.3186274,
"slg_rank": "150",
"ops_value": 0.6086706,
"ops_rank": 288.0,
"war_value": 0.12,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 176.0,
"k_percent": 18.5,
"bb_percent": 8.6,
"woba": 0.27,
"xwoba": 0.263,
"xba": 0.186,
"xslg": 0.308,
"sweet_spot_percent": 27.0,
"barrel_batted_rate": 3.8,
"hard_hit_percent": 31.1,
"exit_velocity_avg": 88.3,
"launch_angle_avg": 29.1,
"whiff_percent": 20.5,
"swing_percent": 49.0
},
"components": {
"expected_quality": -0.9531,
"regression_edge": -0.2,
"xwoba_edge": -1.2,
"xba_edge": -1.4857,
"xslg_edge": -0.9571,
"barrel_edge": -0.6889,
"hard_hit_edge": -1.0714,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -1.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670764",
"player_name": "Taylor Walls",
"offense_factor": 0.928,
"quality_score": -0.9604,
"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": 81,
"espn_total_ranked": 562,
"metrics": {
"espn_rank": 81,
"gp_value": 52.0,
"gp_rank": 213,
"ab_value": 151.0,
"ab_rank": 233,
"r_value": 23.0,
"r_rank": 179,
"h_value": 33.0,
"h_rank": 238,
"avg_value": 0.218543,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 229,
"3b_value": 2.0,
"3b_rank": 15,
"hr_value": 0.0,
"hr_rank": 437,
"rbi_value": 15.0,
"rbi_rank": 254,
"tb_value": 43.0,
"tb_rank": 1808,
"bb_value": 22.0,
"bb_rank": 118,
"so_value": 44.0,
"so_rank": 158,
"sb_value": 10.0,
"sb_rank": 34,
"obp_value": 0.3238636,
"obp_rank": "-",
"slg_value": 0.2847682,
"slg_rank": "-",
"ops_value": 0.6086318,
"ops_rank": null,
"war_value": 1.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 139.0,
"k_percent": 24.3,
"bb_percent": 12.2,
"woba": 0.285,
"xwoba": 0.247,
"xba": 0.174,
"xslg": 0.229,
"sweet_spot_percent": 28.3,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 17.0,
"exit_velocity_avg": 83.1,
"launch_angle_avg": 21.2,
"whiff_percent": 22.6,
"swing_percent": 43.3
},
"components": {
"expected_quality": -1.5907,
"regression_edge": -1.0857,
"xwoba_edge": -1.6571,
"xba_edge": -1.8286,
"xslg_edge": -2.0857,
"barrel_edge": -0.9333,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.28,
"sweet_spot_edge": -0.8333,
"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 TB | True | 9 | -0.2338 | 0.9640 | 1.0199 | 0.9108 | 0.9036 | 0.9616 | negative_pitcher_regression | 0.3290 | 0.2970 | 13.80 | 4.10 | 18.20 | 6.60 | 31.70 | |
| Home LAD | True | 545 | -0.4934 | 0.7360 | 1.0419 | 0.9470 | 0.9838 | 1.0792 | neutral | 0.3530 | 0.3470 | 16.10 | 8 | 19.50 | 11.20 | 39.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TB | True | None | 83 | 86.75 | 2181 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1667 | |
| Home LAD | True | None | 76 | 86.12 | 2015 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2020 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0308 |
| home_runs_vs_away_pitcher | 1.0192 |
| home_pitcher_quality_edge | -0.2596 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "641778",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 184.0,
"k_percent": 16.1,
"bb_percent": 8.0,
"woba": 0.347,
"xwoba": 0.353,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 39.6,
"avg_best_speed": 78.119,
"avg_hyper_speed": 93.983,
"whiff_percent": 19.5,
"swing_percent": 50.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.827,
"command_and_miss": -0.6693,
"regression_edge": -0.1714,
"xwoba_edge": -1.0857,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.8571,
"bb_edge": 0.275,
"pitch_design_score": -0.202
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641778",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1203,
"release_spin_rate": 2015.1551,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.202,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4431,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.4934,
"sample_weight": 0.736,
"run_prevention_factor": 1.0419,
"strikeout_factor": 0.947,
"walk_factor": 0.9838,
"homer_factor": 1.0792,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641778",
"espn_id": 39915,
"player_name": "Eric Lauer",
"team": "LAD",
"role": "pitcher",
"espn_rank": 545,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 545,
"gp_value": 11.0,
"gp_rank": 370,
"gs_value": 9.0,
"gs_rank": 120,
"qs_value": 1.0,
"qs_rank": 132,
"era_value": 5.4683,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 52.2,
"ip_rank": 123,
"h_value": 50.0,
"h_rank": 116,
"er_value": 32.0,
"er_rank": 67,
"hr_value": 15.0,
"hr_rank": 9,
"bb_value": 18.0,
"bb_rank": 138,
"k_value": 36.0,
"k_rank": 181,
"k_per_9_value": 6.151899,
"k_per_9_rank": 39,
"whip_value": 1.2911,
"whip_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "607259",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 241.0,
"k_percent": 13.8,
"bb_percent": 4.1,
"woba": 0.297,
"xwoba": 0.329,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 31.7,
"avg_best_speed": 75.1597,
"avg_hyper_speed": 93.2191,
"whiff_percent": 18.2,
"swing_percent": 49.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.073,
"command_and_miss": -0.6871,
"regression_edge": -0.9143,
"xwoba_edge": -0.4,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.9857,
"whiff_edge": -1.0429,
"bb_edge": 1.25,
"pitch_design_score": -0.1667
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607259",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 86.75066286916015,
"release_spin_rate": 2181.3128103098234,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 86.75066286916015,
"release_spin_rate": 2181.3128103098234,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7507,
"release_spin_rate": 2181.3128,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1667,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1909,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2338,
"sample_weight": 0.964,
"run_prevention_factor": 1.0199,
"strikeout_factor": 0.9108,
"walk_factor": 0.9036,
"homer_factor": 0.9616,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "607259",
"espn_id": 33372,
"player_name": "Nick Martinez",
"team": "TB",
"role": "pitcher",
"espn_rank": 9,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 9,
"gp_value": 13.0,
"gp_rank": 308,
"gs_value": 13.0,
"gs_rank": 58,
"qs_value": 8.0,
"qs_rank": 13,
"era_value": 2.4334,
"era_rank": 7.0,
"w_value": 6.0,
"w_rank": 21,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 77.2,
"ip_rank": 38,
"h_value": 77.0,
"h_rank": 20,
"er_value": 21.0,
"er_rank": 136,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 13.0,
"bb_rank": 213,
"k_value": 44.0,
"k_rank": 134,
"k_per_9_value": 5.098712,
"k_per_9_rank": 95,
"whip_value": 1.1587,
"whip_rank": 32.0,
"war_value": 2.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0308,
"home_runs_vs_away_pitcher": 1.0192,
"home_pitcher_quality_edge": -0.2596
},
"score_before": {
"away_runs": 3.56,
"home_runs": 1.5684
},
"score_after": {
"away_runs": 3.6698,
"home_runs": 1.5985,
"home_win_probability": 0.3193
},
"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 TB | 13-47 | 0.217 | 0.80 | 3.20 | -139 | cold | strong | |
| Home LAD | 20-39 | 0.339 | 1.60 | 2.90 | -76 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TB | 41-27 | 0.603 | 8 | 0.118 | True |
| Home LAD | 45-27 | 0.625 | 141 | 1.958 | True |
| Signal | - | - | 1.841 | 1.874 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TB | - | - | 5 | - | - | - | - |
| Game target LAD | - | - | 4 | - | - | - | - |
| Player finalized TB | 30 | 9 | 1 | 0 | 2 | 2 | 7 |
| Player finalized LAD | 32 | 9 | 8 | 0 | 6 | 4 | 8 |
| Player model fractional TB | 30.60 | 7.50 | 3.57 | 0.83 | 3.70 | 3.22 | 6.68 |
| Player model fractional LAD | 32.56 | 8.20 | 5.58 | 1.52 | 5.22 | 4.04 | 7.82 |
| Simulation box TB | 34 | 7 | 7 | 2 | 7 | 4 | 7 |
| Simulation box LAD | 33 | 6 | 4 | 2 | 4 | 2 | 4 |
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 TB | Starter | Nick Martinez | 6 | 2 | 4 | 3 | 0 | 3.40 | 1.28 | True |
| Away TB | Middle Reliever | Bryan Baker | 1.10 | 0 | 0 | 0 | 1 | 2.31 | 0.95 | True |
| Away TB | Middle Reliever | Kevin Kelly | 1 | 0 | 0 | 1 | 1 | 2.55 | 1.11 | True |
| Away TB | Middle Reliever | Garrett Cleavinger | 0.20 | 2 | 0 | 2 | 0 | 6.06 | 1.37 | True |
| Home LAD | Starter | Eric Lauer | 5 | 4 | 3 | 5 | 2 | 5.04 | 1.24 | True |
| Home LAD | Middle Reliever | Tanner Scott | 1 | 0 | 0 | 0 | 0 | 4.25 | 1.18 | True |
| Home LAD | Middle Reliever | Will Klein | 1.20 | 0 | 1 | 0 | 0 | 3.61 | 1.60 | True |
| Home LAD | Middle Reliever | Alex Vesia | 0.20 | 0 | 2 | 0 | 0 | 4.55 | 1.31 | True |
| Home LAD | Middle Reliever | Blake Treinen | 0.20 | 3 | 1 | 2 | 2 | 4.63 | 1.49 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | TB | batter | DH | Yandy Díaz | better | 11 | 6 | 5 | 7 | 4 | predicted_RBI | 2.3500 | boost | better |
| away | TB | pitcher | Starter | Nick Martinez | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 2.0000 | boost | better |
| away | TB | batter | C | Nick Fortes | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.6800 | boost | better |
| home | LAD | batter | 3B | Max Muncy | better | 10 | 8 | 2 | 9 | 1 | predicted_RBI | 1.4200 | boost | better |
| home | LAD | batter | LF | Ryan Ward | better | 8 | 7 | 1 | 7 | 1 | predicted_RBI | 1.4000 | boost | better |
| away | TB | batter | LF | Ryan Vilade | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 1.2890 | boost | better |
| away | TB | batter | 3B | Junior Caminero | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.2500 | boost | worse |
| away | TB | batter | 2B | Ben Williamson | worse | 10 | 5 | 5 | 4 | 6 | predicted_H | 1.2300 | boost | better |
| home | LAD | batter | SS | Mookie Betts | worse | 9 | 1 | 8 | 2 | 7 | predicted_AB | -1.2300 | deboost | worse |
| home | LAD | batter | 2B | Alex Freeland | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 1.1460 | boost | better |
| home | LAD | batter | DH | Shohei Ohtani | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | -1.1000 | deboost | worse |
| away | TB | pitcher | Middle Reliever | Bryan Baker | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | -1.0000 | deboost | worse |
| away | TB | pitcher | Middle Reliever | Garrett Cleavinger | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | LAD | batter | 1B | Freddie Freeman | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | -1.0000 | deboost | worse |
| home | LAD | pitcher | Starter | Eric Lauer | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | LAD | pitcher | Middle Reliever | Alex Vesia | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | TB | batter | 1B | Jonathan Aranda | better | 7 | 5 | 2 | 4 | 3 | predicted_SO | 0.9550 | boost | worse |
| home | LAD | batter | RF | Kyle Tucker | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.9000 | deboost | worse |
| away | TB | batter | SS | Taylor Walls | worse | 10 | 5 | 5 | 4 | 6 | predicted_2B | 0.8750 | boost | better |
| home | LAD | batter | C | Dalton Rushing | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | 0.8680 | boost | better |
| away | TB | batter | RF | Austin Slater | worse | 10 | 3 | 7 | 4 | 6 | predicted_BB | 0.8280 | boost | better |
| away | TB | batter | CF | Cedric Mullins | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -0.8200 | deboost | worse |
| home | LAD | batter | CF | Andy Pages | worse | 8 | 3 | 5 | 2 | 6 | predicted_RBI | -0.5700 | deboost | worse |
| home | LAD | pitcher | Middle Reliever | Blake Treinen | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | LAD | pitcher | Middle Reliever | Will Klein | 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 | Nick Martinez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.2338 |
| ESPN Rank | 9 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1667 |
| Avg Velo | 86.7507 |
| Avg Spin | 2181.3128 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 4 |
| Season ERA | 2.4335 |
| Season WHIP | 1.1588 |
| Role Avg IP | 5.9740 |
| Recent Avg IP | 6 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"opponent": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"edges": {
"quality_edge": -0.2709,
"offense_edge": -0.0495,
"opponent_offense_edge": 0.1968,
"defense_strength": 0.0457,
"opponent_defense_weakness": -0.3046,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9827,
"run_prevention": 1.0405,
"strikeout": 0.9761
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607259",
"profile": {
"available": true,
"pitcher_id": "607259",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 241.0,
"k_percent": 13.8,
"bb_percent": 4.1,
"woba": 0.297,
"xwoba": 0.329,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 31.7,
"avg_best_speed": 75.1597,
"avg_hyper_speed": 93.2191,
"whiff_percent": 18.2,
"swing_percent": 49.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.073,
"command_and_miss": -0.6871,
"regression_edge": -0.9143,
"xwoba_edge": -0.4,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.9857,
"whiff_edge": -1.0429,
"bb_edge": 1.25,
"pitch_design_score": -0.1667
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607259",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 86.75066286916015,
"release_spin_rate": 2181.3128103098234,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 86.75066286916015,
"release_spin_rate": 2181.3128103098234,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7507,
"release_spin_rate": 2181.3128,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1667,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1909,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2338,
"sample_weight": 0.964,
"run_prevention_factor": 1.0199,
"strikeout_factor": 0.9108,
"walk_factor": 0.9036,
"homer_factor": 0.9616,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "607259",
"espn_id": 33372,
"player_name": "Nick Martinez",
"team": "TB",
"role": "pitcher",
"espn_rank": 9,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 9,
"gp_value": 13.0,
"gp_rank": 308,
"gs_value": 13.0,
"gs_rank": 58,
"qs_value": 8.0,
"qs_rank": 13,
"era_value": 2.4334,
"era_rank": 7.0,
"w_value": 6.0,
"w_rank": 21,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 77.2,
"ip_rank": 38,
"h_value": 77.0,
"h_rank": 20,
"er_value": 21.0,
"er_rank": 136,
"hr_value": 6.0,
"hr_rank": 114,
"bb_value": 13.0,
"bb_rank": 213,
"k_value": 44.0,
"k_rank": 134,
"k_per_9_value": 5.098712,
"k_per_9_rank": 95,
"whip_value": 1.1587,
"whip_rank": 32.0,
"war_value": 2.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0192,
"adjusted": 2
},
"predicted_H": {
"original": 7.0,
"factor": 1.0192,
"adjusted": 7
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9071,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.963,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.914,
"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": 61.0,
"ER": 17,
"H": 65,
"BB": 9,
"SO": 33,
"HR": 3,
"ERA": 2.5081967213114753,
"WHIP": 1.2131147540983604,
"K9": 4.868852459016393,
"HR9": 0.44262295081967207,
"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-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "607259",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 86.75066286916015,
"release_spin_rate": 2181.3128103098234,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 86.75066286916015,
"release_spin_rate": 2181.3128103098234,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.7507,
"release_spin_rate": 2181.3128,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1667,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1909,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"role": "pitcher",
"player_id": "607259",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 12.0,
"R": 12.0,
"H": 37.0,
"BB": 3.0,
"SO": 13.0,
"HR": 3.0,
"BF": 125.0,
"Pitches": 390.0
},
"per_game": {
"IP": 6.0,
"ER": 2.4,
"R": 2.4,
"H": 7.4,
"BB": 0.6,
"SO": 2.6,
"HR": 0.6,
"BF": 25.0,
"Pitches": 78.0
},
"rates": {
"ERA": 3.6,
"WHIP": 1.3333,
"ER_per_IP": 0.4,
"H_per_IP": 1.23333,
"BB_per_IP": 0.1,
"SO_per_IP": 0.43333,
"HR_per_IP": 0.1
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.0,
"ER": 17.0,
"R": 17.0,
"H": 65.0,
"BB": 9.0,
"SO": 33.0,
"HR": 3.0,
"BF": 252.0,
"Pitches": 802.0
},
"per_game": {
"IP": 6.0,
"ER": 1.7,
"R": 1.7,
"H": 6.5,
"BB": 0.9,
"SO": 3.3,
"HR": 0.3,
"BF": 25.2,
"Pitches": 80.2
},
"rates": {
"ERA": 2.5082,
"WHIP": 1.2131,
"ER_per_IP": 0.27869,
"H_per_IP": 1.06557,
"BB_per_IP": 0.14754,
"SO_per_IP": 0.54098,
"HR_per_IP": 0.04918
}
},
"season": {
"games": 13,
"totals": {
"IP": 77.2,
"ER": 21.0,
"R": 21.0,
"H": 77.0,
"BB": 13.0,
"SO": 44.0,
"HR": 6.0,
"BF": 318.0,
"Pitches": 1058.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6154,
"R": 1.6154,
"H": 5.9231,
"BB": 1.0,
"SO": 3.3846,
"HR": 0.4615,
"BF": 24.4615,
"Pitches": 81.3846
},
"rates": {
"ERA": 2.4335,
"WHIP": 1.1588,
"ER_per_IP": 0.27039,
"H_per_IP": 0.99142,
"BB_per_IP": 0.16738,
"SO_per_IP": 0.56652,
"HR_per_IP": 0.07725
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.265,
"predicted_H": 6.501,
"predicted_BB": 1.166,
"predicted_SO": 3.713,
"predicted_HR": 0.579,
"predicted_ERA": 3.3968,
"predicted_WHIP": 1.2777
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4674,
"form_weight": 0.5326,
"form_reliability": 0.7222,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7222,
"prior_weight": 0.2778
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.265,
"final": 2.1411,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 6.501,
"final": 4.8647,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.166,
"final": 0.621,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 3.713,
"final": 2.9124,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.579,
"final": 1.2431,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3968,
"final": 3.3968,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2777,
"final": 1.2777,
"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.3390 |
| ESPN Rank | 84 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 1.9059 |
| Season WHIP | 0.9529 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"opponent": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"edges": {
"quality_edge": -0.2709,
"offense_edge": -0.0495,
"opponent_offense_edge": 0.1968,
"defense_strength": 0.0457,
"opponent_defense_weakness": -0.3046,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9827,
"run_prevention": 1.0405,
"strikeout": 0.9761
},
"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": 27.5,
"bb_percent": 10.1,
"woba": 0.233,
"xwoba": 0.264,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 32.4,
"avg_best_speed": 73.6632,
"avg_hyper_speed": 93.0208,
"whiff_percent": 32.8,
"swing_percent": 52.0
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.2138,
"command_and_miss": 0.6236,
"regression_edge": -0.8857,
"xwoba_edge": 1.4571,
"barrel_edge": 0.3111,
"hard_hit_edge": 0.8857,
"whiff_edge": 1.0429,
"bb_edge": -0.25,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "641329",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.339,
"sample_weight": 0.45,
"run_prevention_factor": 0.9712,
"strikeout_factor": 1.0311,
"walk_factor": 1.009,
"homer_factor": 0.9532,
"woba_minus_xwoba": -0.031,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "641329",
"espn_id": 40884,
"player_name": "Bryan Baker",
"team": "TB",
"role": "pitcher",
"espn_rank": 84,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 84,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 1.9058,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 0.0,
"l_rank": 424,
"sv_value": 18.0,
"sv_rank": 3,
"hld_value": 1.0,
"hld_rank": 193,
"ip_value": 28.1,
"ip_rank": 267,
"h_value": 16.0,
"h_rank": 391,
"er_value": 6.0,
"er_rank": 452,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 11.0,
"bb_rank": 265,
"k_value": 32.0,
"k_rank": 212,
"k_per_9_value": 10.164706,
"k_per_9_rank": 21,
"whip_value": 0.9529,
"whip_rank": null,
"war_value": 1.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.004,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9789,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.014,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 0,
"H": 4,
"BB": 3,
"SO": 9,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.7,
"K9": 8.1,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "641329",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.61,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5288,
"prior_weight": 0.4712
},
"role": "pitcher",
"player_id": "641329",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 30,
"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": 4.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 63.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.6
},
"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": 0.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 145.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.3,
"SO": 0.9,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7,
"ER_per_IP": 0.0,
"H_per_IP": 0.4,
"BB_per_IP": 0.3,
"SO_per_IP": 0.9,
"HR_per_IP": 0.0
}
},
"season": {
"games": 30,
"totals": {
"IP": 28.1,
"ER": 6.0,
"R": 6.0,
"H": 16.0,
"BB": 11.0,
"SO": 32.0,
"HR": 1.0,
"BF": 113.0,
"Pitches": 460.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.5333,
"BB": 0.3667,
"SO": 1.0667,
"HR": 0.0333,
"BF": 3.7667,
"Pitches": 15.3333
},
"rates": {
"ERA": 1.9059,
"WHIP": 0.9529,
"ER_per_IP": 0.21176,
"H_per_IP": 0.56471,
"BB_per_IP": 0.38824,
"SO_per_IP": 1.12941,
"HR_per_IP": 0.03529
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.256,
"predicted_H": 0.687,
"predicted_BB": 0.267,
"predicted_SO": 0.916,
"predicted_HR": 0.072,
"predicted_ERA": 2.3071,
"predicted_WHIP": 0.9537
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5491,
"form_weight": 0.4509,
"form_reliability": 0.5288,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.61,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5288,
"prior_weight": 0.4712
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.256,
"final": 0.1154,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.687,
"final": 0.3098,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.267,
"final": 0.6695,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.916,
"final": 0.9621,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.072,
"final": 0.0325,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3071,
"final": 2.3071,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9537,
"final": 0.9537,
"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.0365 |
| ESPN Rank | 83 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 2.2737 |
| Season WHIP | 0.8211 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"opponent": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"edges": {
"quality_edge": -0.2709,
"offense_edge": -0.0495,
"opponent_offense_edge": 0.1968,
"defense_strength": 0.0457,
"opponent_defense_weakness": -0.3046,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9827,
"run_prevention": 1.0405,
"strikeout": 0.9761
},
"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": 20.0,
"bb_percent": 5.5,
"woba": 0.226,
"xwoba": 0.302,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 46.3,
"avg_best_speed": 79.9918,
"avg_hyper_speed": 94.9953,
"whiff_percent": 18.3,
"swing_percent": 46.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.3764,
"command_and_miss": -0.3536,
"regression_edge": -2.0,
"xwoba_edge": 0.3714,
"barrel_edge": -0.0889,
"hard_hit_edge": -1.1,
"whiff_edge": -1.0286,
"bb_edge": 0.9,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "687330",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.0365,
"sample_weight": 0.45,
"run_prevention_factor": 1.0031,
"strikeout_factor": 0.9745,
"walk_factor": 0.9676,
"homer_factor": 1.018,
"woba_minus_xwoba": -0.076,
"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": 83,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 83,
"gp_value": 30.0,
"gp_rank": 51,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.2736,
"era_rank": null,
"w_value": 4.0,
"w_rank": 59,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 14.0,
"hld_rank": 5,
"ip_value": 31.2,
"ip_rank": 210,
"h_value": 20.0,
"h_rank": 318,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 6.0,
"bb_rank": 428,
"k_value": 25.0,
"k_rank": 292,
"k_per_9_value": 7.105263,
"k_per_9_rank": 37,
"whip_value": 0.821,
"whip_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0014,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0014,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0081,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9885,
"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": 2,
"H": 8,
"BB": 2,
"SO": 9,
"HR": 1,
"ERA": 1.6363636363636367,
"WHIP": 0.9090909090909093,
"K9": 7.363636363636365,
"HR9": 0.8181818181818183,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "687330",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.271,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5564,
"prior_weight": 0.4436
},
"role": "pitcher",
"player_id": "687330",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 5.0,
"Pitches": 17.6
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.83333,
"BB_per_IP": 0.16667,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 2.0,
"R": 2.0,
"H": 8.0,
"BB": 2.0,
"SO": 9.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 148.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 0.9,
"HR": 0.1,
"BF": 4.1,
"Pitches": 14.8
},
"rates": {
"ERA": 1.6364,
"WHIP": 0.9091,
"ER_per_IP": 0.18182,
"H_per_IP": 0.72727,
"BB_per_IP": 0.18182,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 30,
"totals": {
"IP": 31.2,
"ER": 8.0,
"R": 10.0,
"H": 20.0,
"BB": 6.0,
"SO": 25.0,
"HR": 2.0,
"BF": 117.0,
"Pitches": 444.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2667,
"R": 0.3333,
"H": 0.6667,
"BB": 0.2,
"SO": 0.8333,
"HR": 0.0667,
"BF": 3.9,
"Pitches": 14.8
},
"rates": {
"ERA": 2.2737,
"WHIP": 0.8211,
"ER_per_IP": 0.25263,
"H_per_IP": 0.63158,
"BB_per_IP": 0.18947,
"SO_per_IP": 0.78947,
"HR_per_IP": 0.06316
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.307,
"predicted_H": 0.923,
"predicted_BB": 0.28,
"predicted_SO": 1.033,
"predicted_HR": 0.097,
"predicted_ERA": 2.5539,
"predicted_WHIP": 1.1102
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5374,
"form_weight": 0.4626,
"form_reliability": 0.5564,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.271,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5564,
"prior_weight": 0.4436
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.307,
"final": 0.142,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.923,
"final": 0.9644,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.28,
"final": 0.6669,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.033,
"final": 0.4778,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.097,
"final": 0.0449,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5539,
"final": 2.5539,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1102,
"final": 1.1102,
"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.0488 |
| ESPN Rank | 578 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 5.5102 |
| Season WHIP | 1.4694 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"opponent": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"edges": {
"quality_edge": -0.2709,
"offense_edge": -0.0495,
"opponent_offense_edge": 0.1968,
"defense_strength": 0.0457,
"opponent_defense_weakness": -0.3046,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9827,
"run_prevention": 1.0405,
"strikeout": 0.9761
},
"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.0,
"bb_percent": 12.7,
"woba": 0.342,
"xwoba": 0.3,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 48.7,
"avg_best_speed": 77.25,
"avg_hyper_speed": 94.6769,
"whiff_percent": 26.0,
"swing_percent": 46.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.1965,
"command_and_miss": 0.3786,
"regression_edge": 1.2,
"xwoba_edge": 0.4286,
"barrel_edge": -0.0889,
"hard_hit_edge": -1.4429,
"whiff_edge": 0.0714,
"bb_edge": -0.9,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "664076",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0488,
"sample_weight": 0.45,
"run_prevention_factor": 0.9959,
"strikeout_factor": 1.0226,
"walk_factor": 1.0324,
"homer_factor": 1.0234,
"woba_minus_xwoba": 0.042,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "664076",
"espn_id": 36429,
"player_name": "Garrett Cleavinger",
"team": "TB",
"role": "pitcher",
"espn_rank": 578,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 578,
"gp_value": 19.0,
"gp_rank": 186,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 5.5102,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 9.0,
"hld_rank": 27,
"ip_value": 16.1,
"ip_rank": 416,
"h_value": 15.0,
"h_rank": 405,
"er_value": 10.0,
"er_rank": 308,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 9.0,
"bb_rank": 322,
"k_value": 24.0,
"k_rank": 302,
"k_per_9_value": 13.22449,
"k_per_9_rank": 19,
"whip_value": 1.4693,
"whip_rank": null,
"war_value": -0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9982,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9982,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0146,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0105,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0102,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 9.1,
"ER": 7,
"H": 8,
"BB": 4,
"SO": 14,
"HR": 2,
"ERA": 6.75,
"WHIP": 1.2857142857142856,
"K9": 13.5,
"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-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "664076",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.234,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3928,
"prior_weight": 0.6072
},
"role": "pitcher",
"player_id": "664076",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 5.0,
"R": 5.0,
"H": 4.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 78.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 0.8,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 3.6,
"Pitches": 15.6
},
"rates": {
"ERA": 11.25,
"WHIP": 1.5,
"ER_per_IP": 1.25,
"H_per_IP": 1.0,
"BB_per_IP": 0.5,
"SO_per_IP": 1.75,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 7.0,
"H": 8.0,
"BB": 4.0,
"SO": 14.0,
"HR": 2.0,
"BF": 40.0,
"Pitches": 162.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 0.8,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 4.0,
"Pitches": 16.2
},
"rates": {
"ERA": 6.75,
"WHIP": 1.2857,
"ER_per_IP": 0.75,
"H_per_IP": 0.85714,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.5,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 19,
"totals": {
"IP": 16.1,
"ER": 10.0,
"R": 11.0,
"H": 15.0,
"BB": 9.0,
"SO": 24.0,
"HR": 2.0,
"BF": 73.0,
"Pitches": 284.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5263,
"R": 0.5789,
"H": 0.7895,
"BB": 0.4737,
"SO": 1.2632,
"HR": 0.1053,
"BF": 3.8421,
"Pitches": 14.9474
},
"rates": {
"ERA": 5.5102,
"WHIP": 1.4694,
"ER_per_IP": 0.61224,
"H_per_IP": 0.91837,
"BB_per_IP": 0.55102,
"SO_per_IP": 1.46939,
"HR_per_IP": 0.12245
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.498,
"predicted_H": 0.707,
"predicted_BB": 0.303,
"predicted_SO": 0.885,
"predicted_HR": 0.127,
"predicted_ERA": 6.0626,
"predicted_WHIP": 1.3669
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6065,
"form_weight": 0.3935,
"form_reliability": 0.3928,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.234,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3928,
"prior_weight": 0.6072
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.498,
"final": 1.409,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.707,
"final": 1.4913,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.303,
"final": 0.1192,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.885,
"final": 0.9548,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.127,
"final": 0.05,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0626,
"final": 6.0626,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3669,
"final": 1.3669,
"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.169 | 0.000 | 0.000 | Hitting_2B | 0.185 | 0.000 | -0.185 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 4.400 | 5.000 | 4.000 | Hitting_AB | 3.918 | 4.000 | 1.082 | 1.000 |
| predicted_AVG | 0.260 | 0.400 | 0.250 | Hitting_AVG | 0.319 | 0.000 | 0.081 | 0.400 |
| predicted_BB | 0.415 | 0.000 | 0.000 | Hitting_BB | 0.395 | 1.000 | -0.395 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.140 | 2.000 | 1.000 | Hitting_H | 1.249 | 0.000 | 0.751 | 2.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.146 | 0.000 | 0.854 | 1.000 |
| predicted_OBP | 0.367 | 0.400 | 0.250 | Hitting_OBP | 0.398 | 0.200 | 0.002 | 0.200 |
| predicted_R | 0.523 | 1.000 | 0.000 | Hitting_R | 0.549 | 0.000 | 0.451 | 1.000 |
| predicted_RBI | 0.650 | 3.000 | 1.000 | Hitting_RBI | 0.704 | 0.000 | 2.296 | 3.000 |
| predicted_SLG | 0.434 | 1.000 | 0.250 | Hitting_SLG | 0.491 | 0.000 | 0.509 | 1.000 |
| predicted_SO | 0.538 | 0.000 | 0.000 | Hitting_SO | 0.554 | 1.000 | -0.554 | -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.6500 -> 3.0000 (boost 2.3500, better) |
| Biggest Deboost | predicted_SO: 0.5380 -> 0.0000 (deboost -0.5380, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AVG: 0.2600 -> 0.2805 (boost 0.0205, better) | predicted_AB: 4.4000 -> 4.1754 (deboost -0.2246, 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.3775 -> 0.3374 (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 | 8 | 1 | 7 | 2 | 6 | predicted_RBI: 0.6063 -> 1.0000 (boost 0.3937, better) | predicted_SO: 0.5354 -> 0.0000 (deboost -0.5354, better) | AB rounded to 4 (raw=4.40), rates preserved: AVG=0.254 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4486 -> 0.0000 (deboost -0.4486, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4066 -> 0.2500 (deboost -0.1566, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4066 (boost 0.1566, better) | - | 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.169,
"predicted_3B": 0.015,
"predicted_AB": 4.4,
"predicted_AVG": 0.26,
"predicted_BB": 0.415,
"predicted_H": 1.14,
"predicted_HR": 0.15,
"predicted_OBP": 0.367,
"predicted_R": 0.523,
"predicted_RBI": 0.65,
"predicted_SLG": 0.434,
"predicted_SO": 0.538
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1517,
"predicted_3B": 0.0129,
"predicted_AB": 4.1754,
"predicted_AVG": 0.2805,
"predicted_BB": 0.4467,
"predicted_H": 1.1624,
"predicted_HBP": 0.062,
"predicted_HR": 0.142,
"predicted_OBP": 0.3775,
"predicted_R": 0.4804,
"predicted_RBI": 0.6492,
"predicted_SLG": 0.44,
"predicted_SO": 0.53
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.1517,
"delta": -0.0173,
"percent_delta": -0.1024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0129,
"delta": -0.0021,
"percent_delta": -0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 4.1754,
"delta": -0.2246,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2805,
"delta": 0.0205,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.4467,
"delta": 0.0317,
"percent_delta": 0.0764,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 1.1624,
"delta": 0.0224,
"percent_delta": 0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.142,
"delta": -0.008,
"percent_delta": -0.0533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3775,
"delta": 0.0105,
"percent_delta": 0.0286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 0.4804,
"delta": -0.0426,
"percent_delta": -0.0815,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 0.6492,
"delta": -0.0008,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.44,
"delta": 0.006,
"percent_delta": 0.0138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 0.53,
"delta": -0.008,
"percent_delta": -0.0149,
"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_AVG",
"before": 0.26,
"after": 0.2805,
"delta": 0.0205,
"percent_delta": 0.0788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.4,
"after": 4.1754,
"delta": -0.2246,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1517,
"predicted_3B": 0.0129,
"predicted_AB": 4.1754,
"predicted_AVG": 0.2672,
"predicted_BB": 0.4422,
"predicted_H": 1.1157,
"predicted_HBP": 0.062,
"predicted_HR": 0.1349,
"predicted_OBP": 0.3374,
"predicted_R": 0.4486,
"predicted_RBI": 0.6063,
"predicted_SLG": 0.4066,
"predicted_SO": 0.5354
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1517,
"after": 0.1517,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1754,
"after": 4.1754,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2805,
"after": 0.2672,
"delta": -0.0133,
"percent_delta": -0.0474,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4467,
"after": 0.4422,
"delta": -0.0045,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1624,
"after": 1.1157,
"delta": -0.0467,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.062,
"after": 0.062,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.142,
"after": 0.1349,
"delta": -0.0071,
"percent_delta": -0.05,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3775,
"after": 0.3374,
"delta": -0.0401,
"percent_delta": -0.1062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4804,
"after": 0.4486,
"delta": -0.0318,
"percent_delta": -0.0662,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6492,
"after": 0.6063,
"delta": -0.0429,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.44,
"after": 0.4066,
"delta": -0.0334,
"percent_delta": -0.0759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.53,
"after": 0.5354,
"delta": 0.0054,
"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_OBP",
"before": 0.3775,
"after": 0.3374,
"delta": -0.0401,
"percent_delta": -0.1062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.40), rates preserved: AVG=0.254 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1517,
"after": 0.0,
"delta": -0.1517,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1754,
"after": 4.0,
"delta": -0.1754,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4422,
"after": 0.0,
"delta": -0.4422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1157,
"after": 1.0,
"delta": -0.1157,
"percent_delta": -0.1037,
"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.1349,
"after": 0.0,
"delta": -0.1349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6063,
"after": 1.0,
"delta": 0.3937,
"percent_delta": 0.6493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5354,
"after": 0.0,
"delta": -0.5354,
"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_RBI",
"before": 0.6063,
"after": 1.0,
"delta": 0.3937,
"percent_delta": 0.6493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.5354,
"after": 0.0,
"delta": -0.5354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": {
"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": 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4486,
"after": 0.0,
"delta": -0.4486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4486,
"after": 0.0,
"delta": -0.4486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2672,
"after": 0.25,
"delta": -0.0172,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3374,
"after": 0.25,
"delta": -0.0874,
"percent_delta": -0.259,
"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.4066,
"after": 0.25,
"delta": -0.1566,
"percent_delta": -0.3851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4066,
"after": 0.25,
"delta": -0.1566,
"percent_delta": -0.3851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"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": 5.0,
"predicted_AVG": 0.2672,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3374,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4066,
"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.2672,
"delta": 0.0172,
"percent_delta": 0.0688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.3374,
"delta": 0.0874,
"percent_delta": 0.3495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.25,
"after": 0.4066,
"delta": 0.1566,
"percent_delta": 0.6266,
"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.4066,
"delta": 0.1566,
"percent_delta": 0.6266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.169,
"after": 0.0,
"delta": -0.169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.4,
"after": 5.0,
"delta": 0.6,
"percent_delta": 0.1364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2672,
"delta": 0.0072,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.415,
"after": 0.0,
"delta": -0.415,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.14,
"after": 2.0,
"delta": 0.86,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.367,
"after": 0.3374,
"delta": -0.0296,
"percent_delta": -0.0807,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.523,
"after": 1.0,
"delta": 0.477,
"percent_delta": 0.912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.65,
"after": 3.0,
"delta": 2.35,
"percent_delta": 3.6154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4066,
"delta": -0.0274,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.65,
"after": 3.0,
"delta": 2.35,
"percent_delta": 3.6154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.169 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 4.400 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.415 | - |
| predicted_H | 1.140 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.367 | - |
| predicted_R | 0.523 | - |
| predicted_RBI | 0.650 | - |
| predicted_SLG | 0.434 | - |
| predicted_SO | 0.538 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | -0.017 |
| predicted_3B | 0.013 | -0.002 |
| predicted_AB | 4.175 | -0.225 |
| predicted_AVG | 0.281 | 0.021 |
| predicted_BB | 0.447 | 0.032 |
| predicted_H | 1.162 | 0.022 |
| predicted_HBP | 0.062 | - |
| predicted_HR | 0.142 | -0.008 |
| predicted_OBP | 0.378 | 0.011 |
| predicted_R | 0.480 | -0.043 |
| predicted_RBI | 0.649 | -0.001 |
| predicted_SLG | 0.440 | 0.006 |
| predicted_SO | 0.530 | -0.008 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.152 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 4.175 | 0.000 |
| predicted_AVG | 0.267 | -0.013 |
| predicted_BB | 0.442 | -0.005 |
| predicted_H | 1.116 | -0.047 |
| predicted_HBP | 0.062 | 0.000 |
| predicted_HR | 0.135 | -0.007 |
| predicted_OBP | 0.337 | -0.040 |
| predicted_R | 0.449 | -0.032 |
| predicted_RBI | 0.606 | -0.043 |
| predicted_SLG | 0.407 | -0.033 |
| predicted_SO | 0.535 | 0.005 |
AB rounded to 4 (raw=4.40), rates preserved: AVG=0.254 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.200)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 0.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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.152 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 4.000 | -0.175 |
| predicted_AVG | 0.250 | -0.017 |
| predicted_BB | 0.000 | -0.442 |
| predicted_H | 1.000 | -0.116 |
| predicted_HR | 0.000 | -0.135 |
| predicted_OBP | 0.250 | -0.087 |
| predicted_R | 0.000 | -0.449 |
| predicted_RBI | 1.000 | 0.394 |
| predicted_SLG | 0.250 | -0.157 |
| predicted_SO | 0.000 | -0.535 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.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 | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 4.000 | 2.000 | 0.2632 | 0.3913 | 0.2632 | 0.2632 | 0.0000 | 0.1053 | 0.2105 | 0.1053 |
| last_10 | 0.20 | 10 | - | 40.000 | 14.000 | 1.000 | 0.000 | 1.000 | 8.000 | 3.000 | 5.000 | 4.000 | 0.3500 | 0.4130 | 0.4500 | 0.3500 | 0.0250 | 0.2000 | 0.1250 | 0.1000 |
| season | 0.60 | 65 | - | 250.000 | 80.000 | 11.000 | 1.000 | 12.000 | 46.000 | 34.000 | 27.000 | 35.000 | 0.3200 | 0.3986 | 0.5160 | 0.3200 | 0.0480 | 0.1840 | 0.1080 | 0.1400 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1280 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8680 |
| predicted_AVG | 0.3086 |
| predicted_BB | 0.4900 |
| predicted_H | 1.1930 |
| predicted_HBP | 0.0620 |
| predicted_HR | 0.1310 |
| predicted_OBP | 0.3918 |
| predicted_R | 0.4220 |
| predicted_RBI | 0.6480 |
| predicted_SLG | 0.4482 |
| predicted_SO | 0.5190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1690 | 0.1280 | 0.1517 | model_form_blend |
| predicted_3B | 0.0150 | 0.0100 | 0.0129 | model_form_blend |
| predicted_AB | 4.4000 | 3.8680 | 4.1754 | model_form_blend |
| predicted_AVG | 0.2600 | 0.3086 | 0.2805 | model_form_blend |
| predicted_BB | 0.4150 | 0.4900 | 0.4467 | model_form_blend |
| predicted_H | 1.1400 | 1.1930 | 1.1624 | model_form_blend |
| predicted_HBP | - | 0.0620 | 0.0620 | form_only |
| predicted_HR | 0.1500 | 0.1310 | 0.1420 | model_form_blend |
| predicted_OBP | 0.3670 | 0.3918 | 0.3775 | model_form_blend |
| predicted_R | 0.5230 | 0.4220 | 0.4804 | model_form_blend |
| predicted_RBI | 0.6500 | 0.6480 | 0.6492 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4482 | 0.4400 | model_form_blend |
| predicted_SO | 0.5380 | 0.5190 | 0.5300 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 233 |
| Season rows before report date | 233 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260614_TB@LAA |
| game_type | full |
| mlbID | 650490 |
| playerID | 650490 |
| playerName | Yandy Díaz |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-14 |
| sl_k_percent | 12.1 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.402 |
| sl_xwoba | 0.371 |
| sl_xba | 0.291 |
| sl_xslg | 0.469 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 7.1 |
| sl_whiff_percent | 14.0 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.132 | 0.000 | 0.000 | Hitting_2B | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.056 | 0.000 | -0.056 | 0.000 |
| predicted_AB | 2.711 | 4.000 | 3.000 | Hitting_AB | 2.900 | 3.000 | 1.100 | 1.000 |
| predicted_AVG | 0.282 | 0.000 | 0.333 | Hitting_AVG | 0.337 | 0.000 | -0.337 | 0.000 |
| predicted_BB | 0.289 | 0.000 | 0.000 | Hitting_BB | 0.344 | 1.000 | -0.344 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.750 | 0.000 | 1.000 | Hitting_H | 0.978 | 0.000 | -0.978 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.089 | 0.000 | -0.089 | 0.000 |
| predicted_OBP | 0.332 | 0.000 | 0.333 | Hitting_OBP | 0.398 | 0.250 | -0.398 | -0.250 |
| predicted_R | 0.263 | 0.000 | 0.000 | Hitting_R | 0.367 | 0.000 | -0.367 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.711 | 0.000 | -0.711 | 0.000 |
| predicted_SLG | 0.413 | 0.000 | 0.333 | Hitting_SLG | 0.525 | 0.000 | -0.525 | 0.000 |
| predicted_SO | 0.579 | 1.000 | 1.000 | Hitting_SO | 0.578 | 2.000 | 0.422 | -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: 2.7110 -> 4.0000 (boost 1.2890, better) |
| Biggest Deboost | predicted_H: 0.7500 -> 0.0000 (deboost -0.7500, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_AB: 2.7110 -> 2.8642 (boost 0.1532, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2833 -> 0.2691 (deboost -0.0142, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.6270 -> 1.0000 (boost 0.3730, worse) | predicted_RBI: 0.4566 -> 0.0000 (deboost -0.4566, worse) | AB rounded to 3 (raw=2.86), rates preserved: AVG=0.269 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2547 -> 0.0000 (deboost -0.2547, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2691 -> 0.3330 (boost 0.0639, better) | predicted_SLG: 0.4207 -> 0.3330 (deboost -0.0877, 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_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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4207 (boost 0.0877, better) | predicted_AVG: 0.3330 -> 0.2691 (deboost -0.0639, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668723",
"player_name": "Ryan Vilade",
"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.132,
"predicted_3B": 0.026,
"predicted_AB": 2.711,
"predicted_AVG": 0.282,
"predicted_BB": 0.289,
"predicted_H": 0.75,
"predicted_HR": 0.09,
"predicted_OBP": 0.332,
"predicted_R": 0.263,
"predicted_RBI": 0.46,
"predicted_SLG": 0.413,
"predicted_SO": 0.579
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1449,
"predicted_3B": 0.0225,
"predicted_AB": 2.8642,
"predicted_AVG": 0.2833,
"predicted_BB": 0.2941,
"predicted_H": 0.803,
"predicted_HBP": 0.006,
"predicted_HR": 0.0857,
"predicted_OBP": 0.3359,
"predicted_R": 0.2727,
"predicted_RBI": 0.4889,
"predicted_SLG": 0.4181,
"predicted_SO": 0.6207
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.1449,
"delta": 0.0129,
"percent_delta": 0.0977,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0225,
"delta": -0.0035,
"percent_delta": -0.1346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.711,
"after": 2.8642,
"delta": 0.1532,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2833,
"delta": 0.0013,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.2941,
"delta": 0.0051,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.803,
"delta": 0.053,
"percent_delta": 0.0707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0857,
"delta": -0.0043,
"percent_delta": -0.0478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3359,
"delta": 0.0039,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.263,
"after": 0.2727,
"delta": 0.0097,
"percent_delta": 0.0369,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4889,
"delta": 0.0289,
"percent_delta": 0.0628,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4181,
"delta": 0.0051,
"percent_delta": 0.0123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.579,
"after": 0.6207,
"delta": 0.0417,
"percent_delta": 0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.711,
"after": 2.8642,
"delta": 0.1532,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1449,
"predicted_3B": 0.0225,
"predicted_AB": 2.8642,
"predicted_AVG": 0.2691,
"predicted_BB": 0.2911,
"predicted_H": 0.7707,
"predicted_HBP": 0.006,
"predicted_HR": 0.0814,
"predicted_OBP": 0.3365,
"predicted_R": 0.2547,
"predicted_RBI": 0.4566,
"predicted_SLG": 0.4207,
"predicted_SO": 0.627
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1449,
"after": 0.1449,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0225,
"after": 0.0225,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8642,
"after": 2.8642,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2833,
"after": 0.2691,
"delta": -0.0142,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2941,
"after": 0.2911,
"delta": -0.003,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.803,
"after": 0.7707,
"delta": -0.0323,
"percent_delta": -0.0402,
"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.0857,
"after": 0.0814,
"delta": -0.0043,
"percent_delta": -0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3359,
"after": 0.3365,
"delta": 0.0006,
"percent_delta": 0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2727,
"after": 0.2547,
"delta": -0.018,
"percent_delta": -0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4889,
"after": 0.4566,
"delta": -0.0323,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4181,
"after": 0.4207,
"delta": 0.0026,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6207,
"after": 0.627,
"delta": 0.0063,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2833,
"after": 0.2691,
"delta": -0.0142,
"percent_delta": -0.0501,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.86), rates preserved: AVG=0.269 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1449,
"after": 0.0,
"delta": -0.1449,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0225,
"after": 0.0,
"delta": -0.0225,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8642,
"after": 3.0,
"delta": 0.1358,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2911,
"after": 0.0,
"delta": -0.2911,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7707,
"after": 1.0,
"delta": 0.2293,
"percent_delta": 0.2975,
"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.0814,
"after": 0.0,
"delta": -0.0814,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4566,
"after": 0.0,
"delta": -0.4566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 1.0,
"delta": 0.373,
"percent_delta": 0.5949,
"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": 0.627,
"after": 1.0,
"delta": 0.373,
"percent_delta": 0.5949,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4566,
"after": 0.0,
"delta": -0.4566,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2547,
"after": 0.0,
"delta": -0.2547,
"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.2547,
"after": 0.0,
"delta": -0.2547,
"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.2691,
"after": 0.333,
"delta": 0.0639,
"percent_delta": 0.2375,
"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.3365,
"after": 0.333,
"delta": -0.0035,
"percent_delta": -0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4207,
"after": 0.333,
"delta": -0.0877,
"percent_delta": -0.2085,
"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.2691,
"after": 0.333,
"delta": 0.0639,
"percent_delta": 0.2375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4207,
"after": 0.333,
"delta": -0.0877,
"percent_delta": -0.2085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 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_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.2691,
"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.3365,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4207,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2691,
"delta": -0.0639,
"percent_delta": -0.1919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3365,
"delta": 0.0035,
"percent_delta": 0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4207,
"delta": 0.0877,
"percent_delta": 0.2633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4207,
"delta": 0.0877,
"percent_delta": 0.2633,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2691,
"delta": -0.0639,
"percent_delta": -0.1919,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.711,
"after": 4.0,
"delta": 1.289,
"percent_delta": 0.4755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.282,
"after": 0.2691,
"delta": -0.0129,
"percent_delta": -0.0457,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.289,
"after": 0.0,
"delta": -0.289,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.332,
"after": 0.3365,
"delta": 0.0045,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.0,
"delta": -0.46,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.413,
"after": 0.4207,
"delta": 0.0077,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.579,
"after": 1.0,
"delta": 0.421,
"percent_delta": 0.7271,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.711,
"after": 4.0,
"delta": 1.289,
"percent_delta": 0.4755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.75,
"after": 0.0,
"delta": -0.75,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.132 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 2.711 | - |
| predicted_AVG | 0.282 | - |
| predicted_BB | 0.289 | - |
| predicted_H | 0.750 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.332 | - |
| predicted_R | 0.263 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.413 | - |
| predicted_SO | 0.579 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.013 |
| predicted_3B | 0.022 | -0.003 |
| predicted_AB | 2.864 | 0.153 |
| predicted_AVG | 0.283 | 0.001 |
| predicted_BB | 0.294 | 0.005 |
| predicted_H | 0.803 | 0.053 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.086 | -0.004 |
| predicted_OBP | 0.336 | 0.004 |
| predicted_R | 0.273 | 0.010 |
| predicted_RBI | 0.489 | 0.029 |
| predicted_SLG | 0.418 | 0.005 |
| predicted_SO | 0.621 | 0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.000 |
| predicted_3B | 0.022 | 0.000 |
| predicted_AB | 2.864 | 0.000 |
| predicted_AVG | 0.269 | -0.014 |
| predicted_BB | 0.291 | -0.003 |
| predicted_H | 0.771 | -0.032 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.081 | -0.004 |
| predicted_OBP | 0.337 | 0.001 |
| predicted_R | 0.255 | -0.018 |
| predicted_RBI | 0.457 | -0.032 |
| predicted_SLG | 0.421 | 0.003 |
| predicted_SO | 0.627 | 0.006 |
AB rounded to 3 (raw=2.86), rates preserved: AVG=0.269 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.145 |
| predicted_3B | 0.000 | -0.022 |
| predicted_AB | 3.000 | 0.136 |
| predicted_AVG | 0.333 | 0.064 |
| predicted_BB | 0.000 | -0.291 |
| predicted_H | 1.000 | 0.229 |
| predicted_HR | 0.000 | -0.081 |
| predicted_OBP | 0.333 | -0.004 |
| predicted_R | 0.000 | -0.255 |
| predicted_RBI | 0.000 | -0.457 |
| predicted_SLG | 0.333 | -0.088 |
| predicted_SO | 1.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 | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 5.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 0.3333 | 0.3889 | 0.4000 | 0.3333 | 0.0000 | 0.0667 | 0.1333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 34.000 | 9.000 | 2.000 | 0.000 | 1.000 | 7.000 | 2.000 | 2.000 | 9.000 | 0.2647 | 0.2973 | 0.4118 | 0.2647 | 0.0294 | 0.2059 | 0.0588 | 0.2647 |
| season | 0.60 | 38 | - | 103.000 | 30.000 | 5.000 | 1.000 | 3.000 | 22.000 | 10.000 | 11.000 | 22.000 | 0.2913 | 0.3534 | 0.4466 | 0.2913 | 0.0291 | 0.2136 | 0.1068 | 0.2136 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1650 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.1040 |
| predicted_AVG | 0.2854 |
| predicted_BB | 0.3020 |
| predicted_H | 0.8860 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.0790 |
| predicted_OBP | 0.3419 |
| predicted_R | 0.2880 |
| predicted_RBI | 0.5340 |
| predicted_SLG | 0.4260 |
| predicted_SO | 0.6860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.1650 | 0.1449 | model_form_blend |
| predicted_3B | 0.0260 | 0.0170 | 0.0225 | model_form_blend |
| predicted_AB | 2.7110 | 3.1040 | 2.8642 | model_form_blend |
| predicted_AVG | 0.2820 | 0.2854 | 0.2833 | model_form_blend |
| predicted_BB | 0.2890 | 0.3020 | 0.2941 | model_form_blend |
| predicted_H | 0.7500 | 0.8860 | 0.8030 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0900 | 0.0790 | 0.0857 | model_form_blend |
| predicted_OBP | 0.3320 | 0.3419 | 0.3359 | model_form_blend |
| predicted_R | 0.2630 | 0.2880 | 0.2727 | model_form_blend |
| predicted_RBI | 0.4600 | 0.5340 | 0.4889 | model_form_blend |
| predicted_SLG | 0.4130 | 0.4260 | 0.4181 | model_form_blend |
| predicted_SO | 0.5790 | 0.6860 | 0.6207 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 90 |
| Season rows before report date | 90 |
| Report year | 2026 |
| Profile rows used | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.291 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260612_TB@LAA |
| game_type | full |
| mlbID | 668723 |
| playerID | 668723 |
| playerName | Ryan Vilade |
| pos | RF |
| started | True |
| startingPosition | LF |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-12 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.35 |
| sl_xwoba | 0.307 |
| sl_xba | 0.248 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 16.9 |
| sl_whiff_percent | 20.3 |
| 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.149 | 0.000 | 0.000 | Hitting_2B | 0.166 | 1.000 | -0.166 | -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 | 4.000 | Hitting_AB | 3.730 | 5.000 | 0.270 | -1.000 |
| predicted_AVG | 0.246 | 0.250 | 0.250 | Hitting_AVG | 0.286 | 0.400 | -0.036 | -0.150 |
| predicted_BB | 0.612 | 1.000 | 1.000 | Hitting_BB | 0.602 | 0.000 | 0.398 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.990 | 1.000 | 1.000 | Hitting_H | 1.066 | 2.000 | -0.066 | -1.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.183 | 0.000 | 0.817 | 1.000 |
| predicted_OBP | 0.338 | 0.400 | 0.400 | Hitting_OBP | 0.381 | 0.400 | 0.019 | 0.000 |
| predicted_R | 0.522 | 1.000 | 0.000 | Hitting_R | 0.577 | 1.000 | 0.423 | 0.000 |
| predicted_RBI | 0.640 | 1.000 | 1.000 | Hitting_RBI | 0.817 | 0.000 | 0.183 | 1.000 |
| predicted_SLG | 0.401 | 1.000 | 0.250 | Hitting_SLG | 0.477 | 0.600 | 0.523 | 0.400 |
| predicted_SO | 1.045 | 2.000 | 1.000 | Hitting_SO | 1.062 | 1.000 | 0.938 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 7 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 2 |
| Better Metrics | 4 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_SO: 1.0450 -> 2.0000 (boost 0.9550, worse) |
| Biggest Deboost | predicted_2B: 0.1490 -> 0.0000 (deboost -0.1490, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2460 -> 0.2524 (boost 0.0064, better) | predicted_AB: 4.0300 -> 3.9264 (deboost -0.1036, 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.3945 -> 0.3671 (deboost -0.0274, 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 | 4 | 2 | predicted_BB: 0.5656 -> 1.0000 (boost 0.4344, better) | predicted_2B: 0.1507 -> 0.0000 (deboost -0.1507, worse) | AB rounded to 4 (raw=4.03), rates preserved: AVG=0.236 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4366 -> 0.0000 (deboost -0.4366, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3373 -> 0.4000 (boost 0.0627, better) | predicted_SLG: 0.3671 -> 0.2500 (deboost -0.1171, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 2 | 1 | predicted_HR: 0.0000 -> 1.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.2500 -> 0.3671 (boost 0.1171, better) | predicted_OBP: 0.4000 -> 0.3373 (deboost -0.0627, 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.149,
"predicted_3B": 0.0,
"predicted_AB": 4.03,
"predicted_AVG": 0.246,
"predicted_BB": 0.612,
"predicted_H": 0.99,
"predicted_HR": 0.13,
"predicted_OBP": 0.338,
"predicted_R": 0.522,
"predicted_RBI": 0.64,
"predicted_SLG": 0.401,
"predicted_SO": 1.045
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1507,
"predicted_3B": 0.0004,
"predicted_AB": 3.9264,
"predicted_AVG": 0.2524,
"predicted_BB": 0.5714,
"predicted_H": 0.9892,
"predicted_HBP": 0.029,
"predicted_HR": 0.1194,
"predicted_OBP": 0.3426,
"predicted_R": 0.4675,
"predicted_RBI": 0.6544,
"predicted_SLG": 0.3945,
"predicted_SO": 1.0048
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.149,
"after": 0.1507,
"delta": 0.0017,
"percent_delta": 0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9264,
"delta": -0.1036,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2524,
"delta": 0.0064,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.612,
"after": 0.5714,
"delta": -0.0406,
"percent_delta": -0.0663,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9892,
"delta": -0.0008,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1194,
"delta": -0.0106,
"percent_delta": -0.0815,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3426,
"delta": 0.0046,
"percent_delta": 0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.522,
"after": 0.4675,
"delta": -0.0545,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 0.6544,
"delta": 0.0144,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3945,
"delta": -0.0065,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.045,
"after": 1.0048,
"delta": -0.0402,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2524,
"delta": 0.0064,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.03,
"after": 3.9264,
"delta": -0.1036,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1507,
"predicted_3B": 0.0004,
"predicted_AB": 3.9264,
"predicted_AVG": 0.2418,
"predicted_BB": 0.5656,
"predicted_H": 0.9494,
"predicted_HBP": 0.029,
"predicted_HR": 0.1134,
"predicted_OBP": 0.3373,
"predicted_R": 0.4366,
"predicted_RBI": 0.6111,
"predicted_SLG": 0.3671,
"predicted_SO": 1.0149
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1507,
"after": 0.1507,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9264,
"after": 3.9264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2524,
"after": 0.2418,
"delta": -0.0106,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5714,
"after": 0.5656,
"delta": -0.0058,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9892,
"after": 0.9494,
"delta": -0.0398,
"percent_delta": -0.0402,
"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.1194,
"after": 0.1134,
"delta": -0.006,
"percent_delta": -0.0503,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3426,
"after": 0.3373,
"delta": -0.0053,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4675,
"after": 0.4366,
"delta": -0.0309,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6544,
"after": 0.6111,
"delta": -0.0433,
"percent_delta": -0.0662,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3945,
"after": 0.3671,
"delta": -0.0274,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0048,
"after": 1.0149,
"delta": 0.0101,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3945,
"after": 0.3671,
"delta": -0.0274,
"percent_delta": -0.0695,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.03), rates preserved: AVG=0.236 HR/AB=0.028",
"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.1507,
"after": 0.0,
"delta": -0.1507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9264,
"after": 4.0,
"delta": 0.0736,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5656,
"after": 1.0,
"delta": 0.4344,
"percent_delta": 0.768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9494,
"after": 1.0,
"delta": 0.0506,
"percent_delta": 0.0533,
"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.1134,
"after": 0.0,
"delta": -0.1134,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6111,
"after": 1.0,
"delta": 0.3889,
"percent_delta": 0.6364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0149,
"after": 1.0,
"delta": -0.0149,
"percent_delta": -0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5656,
"after": 1.0,
"delta": 0.4344,
"percent_delta": 0.768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1507,
"after": 0.0,
"delta": -0.1507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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.4366,
"after": 0.0,
"delta": -0.4366,
"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.4366,
"after": 0.0,
"delta": -0.4366,
"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.2418,
"after": 0.25,
"delta": 0.0082,
"percent_delta": 0.0339,
"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.3373,
"after": 0.4,
"delta": 0.0627,
"percent_delta": 0.1859,
"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.3671,
"after": 0.25,
"delta": -0.1171,
"percent_delta": -0.319,
"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.3373,
"after": 0.4,
"delta": 0.0627,
"percent_delta": 0.1859,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3671,
"after": 0.25,
"delta": -0.1171,
"percent_delta": -0.319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 3,
"deboosted_metrics": 0,
"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": 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.2418,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3373,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3671,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2418,
"delta": -0.0082,
"percent_delta": -0.0328,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.4,
"after": 0.3373,
"delta": -0.0627,
"percent_delta": -0.1568,
"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.3671,
"delta": 0.1171,
"percent_delta": 0.4683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3671,
"delta": 0.1171,
"percent_delta": 0.4683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3373,
"delta": -0.0627,
"percent_delta": -0.1568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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.03,
"after": 4.0,
"delta": -0.03,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2418,
"delta": -0.0042,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.612,
"after": 1.0,
"delta": 0.388,
"percent_delta": 0.634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 1.0,
"delta": 0.01,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 1.0,
"delta": 0.87,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3373,
"delta": -0.0007,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.522,
"after": 1.0,
"delta": 0.478,
"percent_delta": 0.9157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.64,
"after": 1.0,
"delta": 0.36,
"percent_delta": 0.5625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.3671,
"delta": -0.0339,
"percent_delta": -0.0845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.045,
"after": 2.0,
"delta": 0.955,
"percent_delta": 0.9139,
"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_SO",
"before": 1.045,
"after": 2.0,
"delta": 0.955,
"percent_delta": 0.9139,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.149,
"after": 0.0,
"delta": -0.149,
"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.149 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.612 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.522 | - |
| predicted_RBI | 0.640 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 1.045 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | 0.002 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.926 | -0.104 |
| predicted_AVG | 0.252 | 0.006 |
| predicted_BB | 0.571 | -0.041 |
| predicted_H | 0.989 | -0.001 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.119 | -0.011 |
| predicted_OBP | 0.343 | 0.005 |
| predicted_R | 0.468 | -0.054 |
| predicted_RBI | 0.654 | 0.014 |
| predicted_SLG | 0.395 | -0.007 |
| predicted_SO | 1.005 | -0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.926 | 0.000 |
| predicted_AVG | 0.242 | -0.011 |
| predicted_BB | 0.566 | -0.006 |
| predicted_H | 0.949 | -0.040 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.113 | -0.006 |
| predicted_OBP | 0.337 | -0.005 |
| predicted_R | 0.437 | -0.031 |
| predicted_RBI | 0.611 | -0.043 |
| predicted_SLG | 0.367 | -0.027 |
| predicted_SO | 1.015 | 0.010 |
AB rounded to 4 (raw=4.03), rates preserved: AVG=0.236 HR/AB=0.028
| 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.151 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.074 |
| predicted_AVG | 0.250 | 0.008 |
| predicted_BB | 1.000 | 0.434 |
| predicted_H | 1.000 | 0.051 |
| predicted_HR | 0.000 | -0.113 |
| predicted_OBP | 0.400 | 0.063 |
| predicted_R | 0.000 | -0.437 |
| predicted_RBI | 1.000 | 0.389 |
| predicted_SLG | 0.250 | -0.117 |
| predicted_SO | 1.000 | -0.015 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.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 | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 1.000 | 0.000 | 0.000 | 4.000 | 1.000 | 1.000 | 3.000 | 0.2857 | 0.3182 | 0.3333 | 0.2857 | 0.0000 | 0.1905 | 0.0476 | 0.1429 |
| last_10 | 0.20 | 10 | - | 38.000 | 8.000 | 1.000 | 0.000 | 0.000 | 5.000 | 1.000 | 6.000 | 10.000 | 0.2105 | 0.3182 | 0.2368 | 0.2105 | 0.0000 | 0.1316 | 0.1579 | 0.2632 |
| season | 0.60 | 67 | - | 243.000 | 66.000 | 10.000 | 0.000 | 11.000 | 48.000 | 35.000 | 41.000 | 70.000 | 0.2716 | 0.3754 | 0.4486 | 0.2716 | 0.0453 | 0.1975 | 0.1687 | 0.2881 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1530 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.7850 |
| predicted_AVG | 0.2611 |
| predicted_BB | 0.5160 |
| predicted_H | 0.9880 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.1050 |
| predicted_OBP | 0.3489 |
| predicted_R | 0.3930 |
| predicted_RBI | 0.6740 |
| predicted_SLG | 0.3856 |
| predicted_SO | 0.9500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1490 | 0.1530 | 0.1507 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.0300 | 3.7850 | 3.9264 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2611 | 0.2524 | model_form_blend |
| predicted_BB | 0.6120 | 0.5160 | 0.5714 | model_form_blend |
| predicted_H | 0.9900 | 0.9880 | 0.9892 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.1300 | 0.1050 | 0.1194 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3489 | 0.3426 | model_form_blend |
| predicted_R | 0.5220 | 0.3930 | 0.4675 | model_form_blend |
| predicted_RBI | 0.6400 | 0.6740 | 0.6544 | model_form_blend |
| predicted_SLG | 0.4010 | 0.3856 | 0.3945 | model_form_blend |
| predicted_SO | 1.0450 | 0.9500 | 1.0048 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.272 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 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 | 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 | 1B |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 666018 |
| playerID | 666018 |
| playerName | Jonathan Aranda |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-14 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 14.2 |
| sl_woba | 0.359 |
| sl_xwoba | 0.373 |
| sl_xba | 0.265 |
| sl_xslg | 0.473 |
| sl_sweet_spot_percent | 37.1 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 46.0 |
| sl_exit_velocity_avg | 90.7 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 22.0 |
| 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.162 | 0.000 | 0.000 | Hitting_2B | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.140 | 3.000 | 4.000 | Hitting_AB | 3.931 | 5.000 | -0.931 | -2.000 |
| predicted_AVG | 0.240 | 0.000 | 0.250 | Hitting_AVG | 0.267 | 0.200 | -0.267 | -0.200 |
| predicted_BB | 0.603 | 1.000 | 1.000 | Hitting_BB | 0.619 | 0.000 | 0.381 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_H | 0.990 | 0.000 | 1.000 | Hitting_H | 1.049 | 1.000 | -1.049 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 0.000 | Hitting_HR | 0.239 | 1.000 | -0.239 | -1.000 |
| predicted_OBP | 0.330 | 0.250 | 0.400 | Hitting_OBP | 0.365 | 0.200 | -0.115 | 0.050 |
| predicted_R | 0.618 | 1.000 | 1.000 | Hitting_R | 0.664 | 1.000 | 0.336 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 0.000 | Hitting_RBI | 0.534 | 2.000 | -0.534 | -2.000 |
| predicted_SLG | 0.433 | 0.000 | 0.250 | Hitting_SLG | 0.482 | 0.800 | -0.482 | -0.800 |
| predicted_SO | 0.750 | 2.000 | 1.000 | Hitting_SO | 0.733 | 1.000 | 1.267 | 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.7500 -> 2.0000 (boost 1.2500, worse) |
| Biggest Deboost | predicted_AB: 4.1400 -> 3.0000 (deboost -1.1400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 1 | 2 | predicted_SO: 0.7500 -> 0.8592 (boost 0.1092, worse) | predicted_AB: 4.1400 -> 4.0202 (deboost -0.1198, 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.4386 -> 0.4072 (deboost -0.0314, 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_BB: 0.5626 -> 1.0000 (boost 0.4374, better) | predicted_RBI: 0.4110 -> 0.0000 (deboost -0.4110, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.227 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5356 -> 1.0000 (boost 0.4644, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3275 -> 0.4000 (boost 0.0725, better) | predicted_SLG: 0.4072 -> 0.2500 (deboost -0.1572, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_AB: 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.4072 (boost 0.1572, better) | predicted_OBP: 0.4000 -> 0.3275 (deboost -0.0725, worse) | 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.162,
"predicted_3B": 0.0,
"predicted_AB": 4.14,
"predicted_AVG": 0.24,
"predicted_BB": 0.603,
"predicted_H": 0.99,
"predicted_HR": 0.18,
"predicted_OBP": 0.33,
"predicted_R": 0.618,
"predicted_RBI": 0.46,
"predicted_SLG": 0.433,
"predicted_SO": 0.75
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1764,
"predicted_3B": 0.0004,
"predicted_AB": 4.0202,
"predicted_AVG": 0.2439,
"predicted_BB": 0.5683,
"predicted_H": 0.9777,
"predicted_HBP": 0.003,
"predicted_HR": 0.183,
"predicted_OBP": 0.3333,
"predicted_R": 0.5735,
"predicted_RBI": 0.4401,
"predicted_SLG": 0.4386,
"predicted_SO": 0.8592
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1764,
"delta": 0.0144,
"percent_delta": 0.0889,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0202,
"delta": -0.1198,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2439,
"delta": 0.0039,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.603,
"after": 0.5683,
"delta": -0.0347,
"percent_delta": -0.0575,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.9777,
"delta": -0.0123,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.183,
"delta": 0.003,
"percent_delta": 0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3333,
"delta": 0.0033,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.618,
"after": 0.5735,
"delta": -0.0445,
"percent_delta": -0.072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.4401,
"delta": -0.0199,
"percent_delta": -0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4386,
"delta": 0.0056,
"percent_delta": 0.0129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.8592,
"delta": 0.1092,
"percent_delta": 0.1456,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.75,
"after": 0.8592,
"delta": 0.1092,
"percent_delta": 0.1456,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 4.0202,
"delta": -0.1198,
"percent_delta": -0.0289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_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.0004,
"predicted_AB": 4.0202,
"predicted_AVG": 0.2334,
"predicted_BB": 0.5626,
"predicted_H": 0.9384,
"predicted_HBP": 0.003,
"predicted_HR": 0.1739,
"predicted_OBP": 0.3275,
"predicted_R": 0.5356,
"predicted_RBI": 0.411,
"predicted_SLG": 0.4072,
"predicted_SO": 0.8679
},
"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.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0202,
"after": 4.0202,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2439,
"after": 0.2334,
"delta": -0.0105,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5683,
"after": 0.5626,
"delta": -0.0057,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9777,
"after": 0.9384,
"delta": -0.0393,
"percent_delta": -0.0402,
"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.183,
"after": 0.1739,
"delta": -0.0091,
"percent_delta": -0.0497,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3333,
"after": 0.3275,
"delta": -0.0058,
"percent_delta": -0.0174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5735,
"after": 0.5356,
"delta": -0.0379,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4401,
"after": 0.411,
"delta": -0.0291,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4386,
"after": 0.4072,
"delta": -0.0314,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8592,
"after": 0.8679,
"delta": 0.0087,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.4386,
"after": 0.4072,
"delta": -0.0314,
"percent_delta": -0.0716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.14), rates preserved: AVG=0.227 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1764,
"after": 0.0,
"delta": -0.1764,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0202,
"after": 4.0,
"delta": -0.0202,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5626,
"after": 1.0,
"delta": 0.4374,
"percent_delta": 0.7775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9384,
"after": 1.0,
"delta": 0.0616,
"percent_delta": 0.0656,
"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.1739,
"after": 0.0,
"delta": -0.1739,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.411,
"after": 0.0,
"delta": -0.411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8679,
"after": 1.0,
"delta": 0.1321,
"percent_delta": 0.1522,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5626,
"after": 1.0,
"delta": 0.4374,
"percent_delta": 0.7775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.411,
"after": 0.0,
"delta": -0.411,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5356,
"after": 1.0,
"delta": 0.4644,
"percent_delta": 0.8671,
"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.5356,
"after": 1.0,
"delta": 0.4644,
"percent_delta": 0.8671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 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.2334,
"after": 0.25,
"delta": 0.0166,
"percent_delta": 0.0711,
"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.3275,
"after": 0.4,
"delta": 0.0725,
"percent_delta": 0.2214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4072,
"after": 0.25,
"delta": -0.1572,
"percent_delta": -0.3861,
"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.3275,
"after": 0.4,
"delta": 0.0725,
"percent_delta": 0.2214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4072,
"after": 0.25,
"delta": -0.1572,
"percent_delta": -0.3861,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2334,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3275,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4072,
"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.25,
"after": 0.2334,
"delta": -0.0166,
"percent_delta": -0.0663,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3275,
"delta": -0.0725,
"percent_delta": -0.1812,
"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.4072,
"delta": 0.1572,
"percent_delta": 0.629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4072,
"delta": 0.1572,
"percent_delta": 0.629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3275,
"delta": -0.0725,
"percent_delta": -0.1812,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 3.0,
"delta": -1.14,
"percent_delta": -0.2754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2334,
"delta": -0.0066,
"percent_delta": -0.0275,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.603,
"after": 1.0,
"delta": 0.397,
"percent_delta": 0.6584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 0.0,
"delta": -0.99,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3275,
"delta": -0.0025,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.618,
"after": 1.0,
"delta": 0.382,
"percent_delta": 0.6181,
"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.433,
"after": 0.4072,
"delta": -0.0258,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 2.0,
"delta": 1.25,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.75,
"after": 2.0,
"delta": 1.25,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 3.0,
"delta": -1.14,
"percent_delta": -0.2754,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.603 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.618 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.433 | - |
| predicted_SO | 0.750 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | 0.014 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.020 | -0.120 |
| predicted_AVG | 0.244 | 0.004 |
| predicted_BB | 0.568 | -0.035 |
| predicted_H | 0.978 | -0.012 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.183 | 0.003 |
| predicted_OBP | 0.333 | 0.003 |
| predicted_R | 0.574 | -0.044 |
| predicted_RBI | 0.440 | -0.020 |
| predicted_SLG | 0.439 | 0.006 |
| predicted_SO | 0.859 | 0.109 |
Step 3: 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.000 | 0.000 |
| predicted_AB | 4.020 | 0.000 |
| predicted_AVG | 0.233 | -0.011 |
| predicted_BB | 0.563 | -0.006 |
| predicted_H | 0.938 | -0.039 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.174 | -0.009 |
| predicted_OBP | 0.328 | -0.006 |
| predicted_R | 0.536 | -0.038 |
| predicted_RBI | 0.411 | -0.029 |
| predicted_SLG | 0.407 | -0.031 |
| predicted_SO | 0.868 | 0.009 |
AB rounded to 4 (raw=4.14), rates preserved: AVG=0.227 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.176 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | -0.020 |
| predicted_AVG | 0.250 | 0.017 |
| predicted_BB | 1.000 | 0.437 |
| predicted_H | 1.000 | 0.062 |
| predicted_HR | 0.000 | -0.174 |
| predicted_OBP | 0.400 | 0.073 |
| predicted_R | 1.000 | 0.464 |
| predicted_RBI | 0.000 | -0.411 |
| predicted_SLG | 0.250 | -0.157 |
| predicted_SO | 1.000 | 0.132 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 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 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 2.000 | 8.000 | 0.2000 | 0.2727 | 0.4000 | 0.2000 | 0.0500 | 0.1000 | 0.1000 | 0.4000 |
| last_10 | 0.20 | 10 | - | 39.000 | 9.000 | 3.000 | 0.000 | 1.000 | 2.000 | 5.000 | 5.000 | 13.000 | 0.2308 | 0.3182 | 0.3846 | 0.2308 | 0.0256 | 0.0513 | 0.1282 | 0.3333 |
| season | 0.60 | 68 | - | 258.000 | 70.000 | 11.000 | 0.000 | 15.000 | 32.000 | 42.000 | 41.000 | 51.000 | 0.2713 | 0.3700 | 0.4884 | 0.2713 | 0.0581 | 0.1240 | 0.1589 | 0.1977 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8570 |
| predicted_AVG | 0.2491 |
| predicted_BB | 0.5210 |
| predicted_H | 0.9610 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.1870 |
| predicted_OBP | 0.3378 |
| predicted_R | 0.5130 |
| predicted_RBI | 0.4130 |
| predicted_SLG | 0.4463 |
| predicted_SO | 1.0080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.1960 | 0.1764 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.1400 | 3.8570 | 4.0202 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2491 | 0.2439 | model_form_blend |
| predicted_BB | 0.6030 | 0.5210 | 0.5683 | model_form_blend |
| predicted_H | 0.9900 | 0.9610 | 0.9777 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.1800 | 0.1870 | 0.1830 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3378 | 0.3333 | model_form_blend |
| predicted_R | 0.6180 | 0.5130 | 0.5735 | model_form_blend |
| predicted_RBI | 0.4600 | 0.4130 | 0.4401 | model_form_blend |
| predicted_SLG | 0.4330 | 0.4463 | 0.4386 | model_form_blend |
| predicted_SO | 0.7500 | 1.0080 | 0.8592 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 247 |
| Season rows before report date | 247 |
| Report year | 2026 |
| Profile rows used | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 691406 |
| playerID | 691406 |
| playerName | Junior Caminero |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.9 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.373 |
| sl_xwoba | 0.363 |
| sl_xba | 0.268 |
| sl_xslg | 0.467 |
| sl_sweet_spot_percent | 25.5 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 48.8 |
| sl_exit_velocity_avg | 92.5 |
| sl_launch_angle_avg | 7.9 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 41.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.146 | 0.000 | 0.000 | Hitting_2B | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 3.104 | 4.000 | 3.000 | Hitting_AB | 3.289 | 4.000 | 0.711 | 0.000 |
| predicted_AVG | 0.253 | 0.500 | 0.333 | Hitting_AVG | 0.270 | 0.250 | 0.230 | 0.250 |
| predicted_BB | 0.312 | 0.000 | 0.000 | Hitting_BB | 0.408 | 0.000 | -0.408 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 0.770 | 2.000 | 1.000 | Hitting_H | 0.887 | 1.000 | 1.113 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.007 | 1.000 | -0.007 | -1.000 |
| predicted_OBP | 0.299 | 0.500 | 0.333 | Hitting_OBP | 0.352 | 0.250 | 0.148 | 0.250 |
| predicted_R | 0.479 | 1.000 | 0.000 | Hitting_R | 0.556 | 1.000 | 0.444 | 0.000 |
| predicted_RBI | 0.410 | 1.000 | 0.000 | Hitting_RBI | 0.423 | 1.000 | 0.577 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_SLG | 0.367 | 0.500 | 0.333 | Hitting_SLG | 0.353 | 1.000 | 0.147 | -0.500 |
| predicted_SO | 0.688 | 1.000 | 1.000 | Hitting_SO | 0.704 | 0.000 | 0.296 | 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_H: 0.7700 -> 2.0000 (boost 1.2300, better) |
| Biggest Deboost | predicted_BB: 0.3120 -> 0.0000 (deboost -0.3120, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.1040 -> 3.2125 (boost 0.1085, better) | predicted_AVG: 0.2530 -> 0.2478 (deboost -0.0052, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2478 -> 0.2349 (deboost -0.0129, 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.6880 -> 1.0000 (boost 0.3120, worse) | predicted_RBI: 0.3882 -> 0.0000 (deboost -0.3882, worse) | AB rounded to 3 (raw=3.21), rates preserved: AVG=0.235 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4519 -> 0.0000 (deboost -0.4519, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2349 -> 0.3330 (boost 0.0981, better) | predicted_SLG: 0.3619 -> 0.3330 (deboost -0.0289, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3619 (boost 0.0289, better) | predicted_AVG: 0.3330 -> 0.2349 (deboost -0.0981, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "810938",
"player_name": "Ben Williamson",
"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.146,
"predicted_3B": 0.021,
"predicted_AB": 3.104,
"predicted_AVG": 0.253,
"predicted_BB": 0.312,
"predicted_H": 0.77,
"predicted_HR": 0.08,
"predicted_OBP": 0.299,
"predicted_R": 0.479,
"predicted_RBI": 0.41,
"predicted_SLG": 0.367,
"predicted_SO": 0.688
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1488,
"predicted_3B": 0.0178,
"predicted_AB": 3.2125,
"predicted_AVG": 0.2478,
"predicted_BB": 0.2865,
"predicted_H": 0.7862,
"predicted_HBP": 0.016,
"predicted_HR": 0.0784,
"predicted_OBP": 0.2971,
"predicted_R": 0.4839,
"predicted_RBI": 0.4157,
"predicted_SLG": 0.3646,
"predicted_SO": 0.6811
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.1488,
"delta": 0.0028,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0178,
"delta": -0.0032,
"percent_delta": -0.1524,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.104,
"after": 3.2125,
"delta": 0.1085,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2478,
"delta": -0.0052,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.2865,
"delta": -0.0255,
"percent_delta": -0.0817,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 0.7862,
"delta": 0.0162,
"percent_delta": 0.021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0784,
"delta": -0.0016,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2971,
"delta": -0.0019,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.479,
"after": 0.4839,
"delta": 0.0049,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.4157,
"delta": 0.0057,
"percent_delta": 0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3646,
"delta": -0.0024,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.688,
"after": 0.6811,
"delta": -0.0069,
"percent_delta": -0.01,
"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_AB",
"before": 3.104,
"after": 3.2125,
"delta": 0.1085,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2478,
"delta": -0.0052,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1488,
"predicted_3B": 0.0178,
"predicted_AB": 3.2125,
"predicted_AVG": 0.2349,
"predicted_BB": 0.2836,
"predicted_H": 0.7546,
"predicted_HBP": 0.016,
"predicted_HR": 0.0745,
"predicted_OBP": 0.297,
"predicted_R": 0.4519,
"predicted_RBI": 0.3882,
"predicted_SLG": 0.3619,
"predicted_SO": 0.688
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1488,
"after": 0.1488,
"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": 3.2125,
"after": 3.2125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2478,
"after": 0.2349,
"delta": -0.0129,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2865,
"after": 0.2836,
"delta": -0.0029,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7862,
"after": 0.7546,
"delta": -0.0316,
"percent_delta": -0.0402,
"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.0784,
"after": 0.0745,
"delta": -0.0039,
"percent_delta": -0.0497,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2971,
"after": 0.297,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4839,
"after": 0.4519,
"delta": -0.032,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4157,
"after": 0.3882,
"delta": -0.0275,
"percent_delta": -0.0662,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3646,
"after": 0.3619,
"delta": -0.0027,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6811,
"after": 0.688,
"delta": 0.0069,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2478,
"after": 0.2349,
"delta": -0.0129,
"percent_delta": -0.0521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.21), rates preserved: AVG=0.235 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1488,
"after": 0.0,
"delta": -0.1488,
"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": 3.2125,
"after": 3.0,
"delta": -0.2125,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2836,
"after": 0.0,
"delta": -0.2836,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7546,
"after": 1.0,
"delta": 0.2454,
"percent_delta": 0.3252,
"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.0745,
"after": 0.0,
"delta": -0.0745,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3882,
"after": 0.0,
"delta": -0.3882,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.688,
"after": 1.0,
"delta": 0.312,
"percent_delta": 0.4535,
"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.688,
"after": 1.0,
"delta": 0.312,
"percent_delta": 0.4535,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3882,
"after": 0.0,
"delta": -0.3882,
"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.4519,
"after": 0.0,
"delta": -0.4519,
"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.4519,
"after": 0.0,
"delta": -0.4519,
"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.2349,
"after": 0.333,
"delta": 0.0981,
"percent_delta": 0.4176,
"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.297,
"after": 0.333,
"delta": 0.036,
"percent_delta": 0.1212,
"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.3619,
"after": 0.333,
"delta": -0.0289,
"percent_delta": -0.0799,
"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.2349,
"after": 0.333,
"delta": 0.0981,
"percent_delta": 0.4176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3619,
"after": 0.333,
"delta": -0.0289,
"percent_delta": -0.0799,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2349,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.297,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3619,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2349,
"delta": -0.0981,
"percent_delta": -0.2946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.297,
"delta": -0.036,
"percent_delta": -0.1082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3619,
"delta": 0.0289,
"percent_delta": 0.0867,
"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.3619,
"delta": 0.0289,
"percent_delta": 0.0867,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2349,
"delta": -0.0981,
"percent_delta": -0.2946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.104,
"after": 4.0,
"delta": 0.896,
"percent_delta": 0.2887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2349,
"delta": -0.0181,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 2.0,
"delta": 1.23,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.297,
"delta": -0.002,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.479,
"after": 1.0,
"delta": 0.521,
"percent_delta": 1.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.0,
"delta": 0.59,
"percent_delta": 1.439,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.3619,
"delta": -0.0051,
"percent_delta": -0.0139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.688,
"after": 1.0,
"delta": 0.312,
"percent_delta": 0.4535,
"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_H",
"before": 0.77,
"after": 2.0,
"delta": 1.23,
"percent_delta": 1.5974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.104 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.312 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.479 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.688 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | 0.003 |
| predicted_3B | 0.018 | -0.003 |
| predicted_AB | 3.212 | 0.108 |
| predicted_AVG | 0.248 | -0.005 |
| predicted_BB | 0.286 | -0.026 |
| predicted_H | 0.786 | 0.016 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.078 | -0.002 |
| predicted_OBP | 0.297 | -0.002 |
| predicted_R | 0.484 | 0.005 |
| predicted_RBI | 0.416 | 0.006 |
| predicted_SLG | 0.365 | -0.002 |
| predicted_SO | 0.681 | -0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.149 | 0.000 |
| predicted_3B | 0.018 | 0.000 |
| predicted_AB | 3.212 | 0.000 |
| predicted_AVG | 0.235 | -0.013 |
| predicted_BB | 0.284 | -0.003 |
| predicted_H | 0.755 | -0.032 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.074 | -0.004 |
| predicted_OBP | 0.297 | -0.000 |
| predicted_R | 0.452 | -0.032 |
| predicted_RBI | 0.388 | -0.028 |
| predicted_SLG | 0.362 | -0.003 |
| predicted_SO | 0.688 | 0.007 |
AB rounded to 3 (raw=3.21), rates preserved: AVG=0.235 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.149 |
| predicted_3B | 0.000 | -0.018 |
| predicted_AB | 3.000 | -0.212 |
| predicted_AVG | 0.333 | 0.098 |
| predicted_BB | 0.000 | -0.284 |
| predicted_H | 1.000 | 0.245 |
| predicted_HR | 0.000 | -0.074 |
| predicted_OBP | 0.333 | 0.036 |
| predicted_R | 0.000 | -0.452 |
| predicted_RBI | 0.000 | -0.388 |
| predicted_SLG | 0.333 | -0.029 |
| predicted_SO | 1.000 | 0.312 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 4.000 | 1.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 3.000 | 0.2000 | 0.2000 | 0.4000 | 0.2000 | 0.0500 | 0.1000 | 0.0000 | 0.1500 |
| last_10 | 0.20 | 10 | - | 31.000 | 7.000 | 1.000 | 0.000 | 1.000 | 5.000 | 4.000 | 2.000 | 5.000 | 0.2258 | 0.2727 | 0.3548 | 0.2258 | 0.0323 | 0.1613 | 0.0645 | 0.1613 |
| season | 0.60 | 48 | - | 149.000 | 38.000 | 7.000 | 1.000 | 1.000 | 18.000 | 23.000 | 15.000 | 33.000 | 0.2550 | 0.3273 | 0.3356 | 0.2550 | 0.0067 | 0.1208 | 0.1007 | 0.2215 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1530 |
| predicted_3B | 0.0130 |
| predicted_AB | 3.3720 |
| predicted_AVG | 0.2401 |
| predicted_BB | 0.2490 |
| predicted_H | 0.8100 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0760 |
| predicted_OBP | 0.2944 |
| predicted_R | 0.4910 |
| predicted_RBI | 0.4240 |
| predicted_SLG | 0.3611 |
| predicted_SO | 0.6710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1460 | 0.1530 | 0.1488 | model_form_blend |
| predicted_3B | 0.0210 | 0.0130 | 0.0178 | model_form_blend |
| predicted_AB | 3.1040 | 3.3720 | 3.2125 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2401 | 0.2478 | model_form_blend |
| predicted_BB | 0.3120 | 0.2490 | 0.2865 | model_form_blend |
| predicted_H | 0.7700 | 0.8100 | 0.7862 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0800 | 0.0760 | 0.0784 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2944 | 0.2971 | model_form_blend |
| predicted_R | 0.4790 | 0.4910 | 0.4839 | model_form_blend |
| predicted_RBI | 0.4100 | 0.4240 | 0.4157 | model_form_blend |
| predicted_SLG | 0.3670 | 0.3611 | 0.3646 | model_form_blend |
| predicted_SO | 0.6880 | 0.6710 | 0.6811 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 48 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.255 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 4 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 810938 |
| playerID | 810938 |
| playerName | Ben Williamson |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.299 |
| sl_xwoba | 0.3 |
| sl_xba | 0.251 |
| sl_xslg | 0.332 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 0.9 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 4.5 |
| sl_whiff_percent | 18.1 |
| 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.129 | 0.000 | 0.000 | Hitting_2B | 0.500 | 1.000 | -0.500 | -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 | 3.750 | 3.000 | -0.750 | 0.000 |
| predicted_AVG | 0.271 | 0.000 | 0.333 | Hitting_AVG | 0.267 | 0.333 | -0.267 | -0.333 |
| predicted_BB | 0.172 | 1.000 | 0.000 | Hitting_BB | 0.250 | 1.000 | 0.750 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.640 | 0.000 | 1.000 | Hitting_H | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.333 | Hitting_OBP | 0.312 | 0.500 | -0.062 | -0.250 |
| predicted_R | 0.216 | 1.000 | 0.000 | Hitting_R | 0.250 | 0.000 | 0.750 | 1.000 |
| predicted_RBI | 0.280 | 0.000 | 0.000 | Hitting_RBI | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_SLG | 0.351 | 0.000 | 0.333 | Hitting_SLG | 0.400 | 0.667 | -0.400 | -0.667 |
| predicted_SO | 0.819 | 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 | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.1720 -> 1.0000 (boost 0.8280, better) |
| Biggest Deboost | predicted_SO: 0.8190 -> 0.0000 (deboost -0.8190, 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 | 1 | 1 | 1 | 1 | predicted_AB: 2.5000 -> 2.7169 (boost 0.2169, better) | predicted_AVG: 0.2710 -> 0.2595 (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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2595 -> 0.2390 (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 | 6 | 3 | 3 | 2 | 4 | predicted_H: 0.6494 -> 1.0000 (boost 0.3506, better) | predicted_RBI: 0.2512 -> 0.0000 (deboost -0.2512, worse) | AB rounded to 3 (raw=2.72), rates preserved: AVG=0.239 HR/AB=0.018 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2439 -> 0.0000 (deboost -0.2439, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2390 -> 0.3330 (boost 0.0940, better) | predicted_SLG: 0.3508 -> 0.3330 (deboost -0.0178, 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_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3508 (boost 0.0178, better) | predicted_AVG: 0.3330 -> 0.2390 (deboost -0.0940, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "596103",
"player_name": "Austin Slater",
"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.129,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.271,
"predicted_BB": 0.172,
"predicted_H": 0.64,
"predicted_HR": 0.06,
"predicted_OBP": 0.299,
"predicted_R": 0.216,
"predicted_RBI": 0.28,
"predicted_SLG": 0.351,
"predicted_SO": 0.819
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.156,
"predicted_3B": 0.0014,
"predicted_AB": 2.7169,
"predicted_AVG": 0.2595,
"predicted_BB": 0.1965,
"predicted_H": 0.6766,
"predicted_HBP": 0.009,
"predicted_HR": 0.0508,
"predicted_OBP": 0.2974,
"predicted_R": 0.2612,
"predicted_RBI": 0.269,
"predicted_SLG": 0.3471,
"predicted_SO": 0.8414
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.156,
"delta": 0.027,
"percent_delta": 0.2093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0014,
"delta": 0.0014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7169,
"delta": 0.2169,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2595,
"delta": -0.0115,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 0.1965,
"delta": 0.0245,
"percent_delta": 0.1424,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.6766,
"delta": 0.0366,
"percent_delta": 0.0572,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0508,
"delta": -0.0092,
"percent_delta": -0.1533,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2974,
"delta": -0.0016,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.216,
"after": 0.2612,
"delta": 0.0452,
"percent_delta": 0.2093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.269,
"delta": -0.011,
"percent_delta": -0.0393,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3471,
"delta": -0.0039,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.819,
"after": 0.8414,
"delta": 0.0224,
"percent_delta": 0.0274,
"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_AB",
"before": 2.5,
"after": 2.7169,
"delta": 0.2169,
"percent_delta": 0.0868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.271,
"after": 0.2595,
"delta": -0.0115,
"percent_delta": -0.0424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.156,
"predicted_3B": 0.0014,
"predicted_AB": 2.7169,
"predicted_AVG": 0.239,
"predicted_BB": 0.1945,
"predicted_H": 0.6494,
"predicted_HBP": 0.009,
"predicted_HR": 0.0483,
"predicted_OBP": 0.2899,
"predicted_R": 0.2439,
"predicted_RBI": 0.2512,
"predicted_SLG": 0.3508,
"predicted_SO": 0.8499
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7169,
"after": 2.7169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2595,
"after": 0.239,
"delta": -0.0205,
"percent_delta": -0.079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1965,
"after": 0.1945,
"delta": -0.002,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6766,
"after": 0.6494,
"delta": -0.0272,
"percent_delta": -0.0402,
"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.0508,
"after": 0.0483,
"delta": -0.0025,
"percent_delta": -0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2974,
"after": 0.2899,
"delta": -0.0075,
"percent_delta": -0.0252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2612,
"after": 0.2439,
"delta": -0.0173,
"percent_delta": -0.0662,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.269,
"after": 0.2512,
"delta": -0.0178,
"percent_delta": -0.0662,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3471,
"after": 0.3508,
"delta": 0.0037,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8414,
"after": 0.8499,
"delta": 0.0085,
"percent_delta": 0.0101,
"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.2595,
"after": 0.239,
"delta": -0.0205,
"percent_delta": -0.079,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.72), rates preserved: AVG=0.239 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0014,
"after": 0.0,
"delta": -0.0014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7169,
"after": 3.0,
"delta": 0.2831,
"percent_delta": 0.1042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1945,
"after": 0.0,
"delta": -0.1945,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6494,
"after": 1.0,
"delta": 0.3506,
"percent_delta": 0.5399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0483,
"after": 0.0,
"delta": -0.0483,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2512,
"after": 0.0,
"delta": -0.2512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8499,
"after": 1.0,
"delta": 0.1501,
"percent_delta": 0.1766,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6494,
"after": 1.0,
"delta": 0.3506,
"percent_delta": 0.5399,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2512,
"after": 0.0,
"delta": -0.2512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.2439,
"after": 0.0,
"delta": -0.2439,
"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.2439,
"after": 0.0,
"delta": -0.2439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.333,
"delta": 0.094,
"percent_delta": 0.3933,
"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.2899,
"after": 0.333,
"delta": 0.0431,
"percent_delta": 0.1487,
"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.3508,
"after": 0.333,
"delta": -0.0178,
"percent_delta": -0.0507,
"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.239,
"after": 0.333,
"delta": 0.094,
"percent_delta": 0.3933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3508,
"after": 0.333,
"delta": -0.0178,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"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": 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_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.239,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2899,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3508,
"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.239,
"delta": -0.094,
"percent_delta": -0.2822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.2899,
"delta": -0.0431,
"percent_delta": -0.1295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3508,
"delta": 0.0178,
"percent_delta": 0.0534,
"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.3508,
"delta": 0.0178,
"percent_delta": 0.0534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.239,
"delta": -0.094,
"percent_delta": -0.2822,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.129,
"after": 0.0,
"delta": -0.129,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.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.271,
"after": 0.239,
"delta": -0.032,
"percent_delta": -0.1181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.172,
"after": 1.0,
"delta": 0.828,
"percent_delta": 4.814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.64,
"after": 0.0,
"delta": -0.64,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2899,
"delta": -0.0091,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.216,
"after": 1.0,
"delta": 0.784,
"percent_delta": 3.6296,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3508,
"delta": -0.0002,
"percent_delta": -0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.819,
"after": 0.0,
"delta": -0.819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.172,
"after": 1.0,
"delta": 0.828,
"percent_delta": 4.814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.819,
"after": 0.0,
"delta": -0.819,
"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.129 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.271 | - |
| predicted_BB | 0.172 | - |
| predicted_H | 0.640 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.216 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.351 | - |
| predicted_SO | 0.819 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.027 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.717 | 0.217 |
| predicted_AVG | 0.260 | -0.012 |
| predicted_BB | 0.197 | 0.025 |
| predicted_H | 0.677 | 0.037 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.051 | -0.009 |
| predicted_OBP | 0.297 | -0.002 |
| predicted_R | 0.261 | 0.045 |
| predicted_RBI | 0.269 | -0.011 |
| predicted_SLG | 0.347 | -0.004 |
| predicted_SO | 0.841 | 0.022 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.156 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.717 | 0.000 |
| predicted_AVG | 0.239 | -0.021 |
| predicted_BB | 0.195 | -0.002 |
| predicted_H | 0.649 | -0.027 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.048 | -0.002 |
| predicted_OBP | 0.290 | -0.008 |
| predicted_R | 0.244 | -0.017 |
| predicted_RBI | 0.251 | -0.018 |
| predicted_SLG | 0.351 | 0.004 |
| predicted_SO | 0.850 | 0.008 |
AB rounded to 3 (raw=2.72), rates preserved: AVG=0.239 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.156 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.283 |
| predicted_AVG | 0.333 | 0.094 |
| predicted_BB | 0.000 | -0.195 |
| predicted_H | 1.000 | 0.351 |
| predicted_HR | 0.000 | -0.048 |
| predicted_OBP | 0.333 | 0.043 |
| predicted_R | 0.000 | -0.244 |
| predicted_RBI | 0.000 | -0.251 |
| predicted_SLG | 0.333 | -0.018 |
| predicted_SO | 1.000 | 0.150 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 2.000 | 5.000 | 0.2353 | 0.3158 | 0.3529 | 0.2353 | 0.0000 | 0.0588 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 31.000 | 8.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 9.000 | 0.2581 | 0.3030 | 0.3548 | 0.2581 | 0.0000 | 0.0645 | 0.0645 | 0.2903 |
| season | 0.60 | 24 | - | 58.000 | 13.000 | 3.000 | 0.000 | 0.000 | 3.000 | 5.000 | 4.000 | 19.000 | 0.2241 | 0.2698 | 0.2759 | 0.2241 | 0.0000 | 0.0517 | 0.0690 | 0.3276 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2050 |
| predicted_3B | 0.0040 |
| predicted_AB | 3.1100 |
| predicted_AVG | 0.2387 |
| predicted_BB | 0.2410 |
| predicted_H | 0.7430 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.2946 |
| predicted_R | 0.3430 |
| predicted_RBI | 0.2490 |
| predicted_SLG | 0.3401 |
| predicted_SO | 0.8820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1290 | 0.2050 | 0.1560 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0014 | model_form_blend |
| predicted_AB | 2.5000 | 3.1100 | 2.7169 | model_form_blend |
| predicted_AVG | 0.2710 | 0.2387 | 0.2595 | model_form_blend |
| predicted_BB | 0.1720 | 0.2410 | 0.1965 | model_form_blend |
| predicted_H | 0.6400 | 0.7430 | 0.6766 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0600 | 0.0340 | 0.0508 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2946 | 0.2974 | model_form_blend |
| predicted_R | 0.2160 | 0.3430 | 0.2612 | model_form_blend |
| predicted_RBI | 0.2800 | 0.2490 | 0.2690 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3401 | 0.3471 | model_form_blend |
| predicted_SO | 0.8190 | 0.8820 | 0.8414 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 24 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260612_TB@LAA |
| game_type | full |
| mlbID | 596103 |
| playerID | 596103 |
| playerName | Austin Slater |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-12 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.261 |
| sl_xwoba | 0.215 |
| sl_xba | 0.166 |
| sl_xslg | 0.222 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 15.4 |
| sl_exit_velocity_avg | 85.4 |
| sl_launch_angle_avg | 7.7 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 46.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.192 | 1.000 | 0.000 | Hitting_2B | 0.178 | 0.000 | 0.822 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.077 | 4.000 | 3.000 | Hitting_AB | 3.247 | 4.000 | 0.753 | 0.000 |
| predicted_AVG | 0.281 | 0.250 | 0.333 | Hitting_AVG | 0.255 | 0.250 | -0.005 | 0.000 |
| predicted_BB | 0.077 | 0.000 | 0.000 | Hitting_BB | 0.110 | 0.000 | -0.110 | 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 | 0.829 | 1.000 | 0.171 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_OBP | 0.346 | 0.250 | 0.333 | Hitting_OBP | 0.299 | 0.250 | -0.049 | 0.000 |
| predicted_R | 0.308 | 1.000 | 0.000 | Hitting_R | 0.308 | 2.000 | 0.692 | -1.000 |
| predicted_RBI | 0.320 | 2.000 | 0.000 | Hitting_RBI | 0.267 | 0.000 | 1.733 | 2.000 |
| predicted_SLG | 0.405 | 0.500 | 0.333 | Hitting_SLG | 0.335 | 0.250 | 0.165 | 0.250 |
| predicted_SO | 0.423 | 0.000 | 0.000 | Hitting_SO | 0.486 | 1.000 | -0.486 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.3200 -> 2.0000 (boost 1.6800, better) |
| Biggest Deboost | predicted_SO: 0.4230 -> 0.0000 (deboost -0.4230, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 6 | 0 | 6 | 0 | predicted_H: 0.7800 -> 0.8747 (boost 0.0947, better) | - | Final model input calibrated with local 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.3530 -> 0.2835 (deboost -0.0695, 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.8395 -> 1.0000 (boost 0.1605, better) | predicted_SO: 0.4552 -> 0.0000 (deboost -0.4552, better) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.266 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3612 -> 0.0000 (deboost -0.3612, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2660 -> 0.3330 (boost 0.0670, better) | predicted_SLG: 0.3778 -> 0.3330 (deboost -0.0448, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3778 (boost 0.0448, better) | predicted_AVG: 0.3330 -> 0.2660 (deboost -0.0670, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663743",
"player_name": "Nick Fortes",
"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.192,
"predicted_3B": 0.0,
"predicted_AB": 3.077,
"predicted_AVG": 0.281,
"predicted_BB": 0.077,
"predicted_H": 0.78,
"predicted_HR": 0.05,
"predicted_OBP": 0.346,
"predicted_R": 0.308,
"predicted_RBI": 0.32,
"predicted_SLG": 0.405,
"predicted_SO": 0.423
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2351,
"predicted_3B": 0.0008,
"predicted_AB": 3.1558,
"predicted_AVG": 0.2927,
"predicted_BB": 0.0778,
"predicted_H": 0.8747,
"predicted_HBP": 0.221,
"predicted_HR": 0.0407,
"predicted_OBP": 0.353,
"predicted_R": 0.3868,
"predicted_RBI": 0.3163,
"predicted_SLG": 0.4139,
"predicted_SO": 0.4506
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.192,
"after": 0.2351,
"delta": 0.0431,
"percent_delta": 0.2245,
"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": 3.077,
"after": 3.1558,
"delta": 0.0788,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2927,
"delta": 0.0117,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.077,
"after": 0.0778,
"delta": 0.0008,
"percent_delta": 0.0104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.78,
"after": 0.8747,
"delta": 0.0947,
"percent_delta": 0.1214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0407,
"delta": -0.0093,
"percent_delta": -0.186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.353,
"delta": 0.007,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.3868,
"delta": 0.0788,
"percent_delta": 0.2558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.3163,
"delta": -0.0037,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.4139,
"delta": 0.0089,
"percent_delta": 0.022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 0.4506,
"delta": 0.0276,
"percent_delta": 0.0652,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.78,
"after": 0.8747,
"delta": 0.0947,
"percent_delta": 0.1214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.2351,
"predicted_3B": 0.0008,
"predicted_AB": 3.1558,
"predicted_AVG": 0.266,
"predicted_BB": 0.077,
"predicted_H": 0.8395,
"predicted_HBP": 0.221,
"predicted_HR": 0.0387,
"predicted_OBP": 0.2835,
"predicted_R": 0.3612,
"predicted_RBI": 0.2954,
"predicted_SLG": 0.3778,
"predicted_SO": 0.4552
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2351,
"after": 0.2351,
"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.1558,
"after": 3.1558,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2927,
"after": 0.266,
"delta": -0.0267,
"percent_delta": -0.0912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0778,
"after": 0.077,
"delta": -0.0008,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8747,
"after": 0.8395,
"delta": -0.0352,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.221,
"after": 0.221,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0407,
"after": 0.0387,
"delta": -0.002,
"percent_delta": -0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.2835,
"delta": -0.0695,
"percent_delta": -0.1969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3868,
"after": 0.3612,
"delta": -0.0256,
"percent_delta": -0.0662,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3163,
"after": 0.2954,
"delta": -0.0209,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4139,
"after": 0.3778,
"delta": -0.0361,
"percent_delta": -0.0872,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4506,
"after": 0.4552,
"delta": 0.0046,
"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_OBP",
"before": 0.353,
"after": 0.2835,
"delta": -0.0695,
"percent_delta": -0.1969,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.266 HR/AB=0.012",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2351,
"after": 0.0,
"delta": -0.2351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.1558,
"after": 3.0,
"delta": -0.1558,
"percent_delta": -0.0494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8395,
"after": 1.0,
"delta": 0.1605,
"percent_delta": 0.1912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.221,
"after": 0.0,
"delta": -0.221,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0387,
"after": 0.0,
"delta": -0.0387,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2954,
"after": 0.0,
"delta": -0.2954,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4552,
"after": 0.0,
"delta": -0.4552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8395,
"after": 1.0,
"delta": 0.1605,
"percent_delta": 0.1912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4552,
"after": 0.0,
"delta": -0.4552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3612,
"after": 0.0,
"delta": -0.3612,
"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.3612,
"after": 0.0,
"delta": -0.3612,
"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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.266,
"after": 0.333,
"delta": 0.067,
"percent_delta": 0.2519,
"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.2835,
"after": 0.333,
"delta": 0.0495,
"percent_delta": 0.1746,
"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.3778,
"after": 0.333,
"delta": -0.0448,
"percent_delta": -0.1186,
"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.266,
"after": 0.333,
"delta": 0.067,
"percent_delta": 0.2519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3778,
"after": 0.333,
"delta": -0.0448,
"percent_delta": -0.1186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.266,
"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.2835,
"predicted_R": 1.0,
"predicted_RBI": 2.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.333,
"after": 0.266,
"delta": -0.067,
"percent_delta": -0.2011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2835,
"delta": -0.0495,
"percent_delta": -0.1486,
"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.3778,
"delta": 0.0448,
"percent_delta": 0.1345,
"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.3778,
"delta": 0.0448,
"percent_delta": 0.1345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.266,
"delta": -0.067,
"percent_delta": -0.2011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.192,
"after": 1.0,
"delta": 0.808,
"percent_delta": 4.2083,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.077,
"after": 4.0,
"delta": 0.923,
"percent_delta": 0.3,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.266,
"delta": -0.015,
"percent_delta": -0.0534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.077,
"after": 0.0,
"delta": -0.077,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.346,
"after": 0.2835,
"delta": -0.0625,
"percent_delta": -0.1806,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 1.0,
"delta": 0.692,
"percent_delta": 2.2468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 2.0,
"delta": 1.68,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.3778,
"delta": -0.0272,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.423,
"after": 0.0,
"delta": -0.423,
"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.32,
"after": 2.0,
"delta": 1.68,
"percent_delta": 5.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.423,
"after": 0.0,
"delta": -0.423,
"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.192 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.077 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.077 | - |
| predicted_H | 0.780 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.346 | - |
| predicted_R | 0.308 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.405 | - |
| predicted_SO | 0.423 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | 0.043 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.156 | 0.079 |
| predicted_AVG | 0.293 | 0.012 |
| predicted_BB | 0.078 | 0.001 |
| predicted_H | 0.875 | 0.095 |
| predicted_HBP | 0.221 | - |
| predicted_HR | 0.041 | -0.009 |
| predicted_OBP | 0.353 | 0.007 |
| predicted_R | 0.387 | 0.079 |
| predicted_RBI | 0.316 | -0.004 |
| predicted_SLG | 0.414 | 0.009 |
| predicted_SO | 0.451 | 0.028 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.156 | 0.000 |
| predicted_AVG | 0.266 | -0.027 |
| predicted_BB | 0.077 | -0.001 |
| predicted_H | 0.840 | -0.035 |
| predicted_HBP | 0.221 | 0.000 |
| predicted_HR | 0.039 | -0.002 |
| predicted_OBP | 0.283 | -0.070 |
| predicted_R | 0.361 | -0.026 |
| predicted_RBI | 0.295 | -0.021 |
| predicted_SLG | 0.378 | -0.036 |
| predicted_SO | 0.455 | 0.005 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.266 HR/AB=0.012
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player 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.001 |
| predicted_AB | 3.000 | -0.156 |
| predicted_AVG | 0.333 | 0.067 |
| predicted_BB | 0.000 | -0.077 |
| predicted_H | 1.000 | 0.160 |
| predicted_HR | 0.000 | -0.039 |
| predicted_OBP | 0.333 | 0.050 |
| predicted_R | 0.000 | -0.361 |
| predicted_RBI | 0.000 | -0.295 |
| predicted_SLG | 0.333 | -0.045 |
| predicted_SO | 0.000 | -0.455 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 8.000 | 3.000 | 0.000 | 0.000 | 1.000 | 5.000 | 0.000 | 3.000 | 0.5000 | 0.5789 | 0.6875 | 0.5000 | 0.0000 | 0.0625 | 0.0000 | 0.1875 |
| last_10 | 0.20 | 10 | - | 34.000 | 10.000 | 4.000 | 0.000 | 0.000 | 4.000 | 6.000 | 0.000 | 3.000 | 0.2941 | 0.3514 | 0.4118 | 0.2941 | 0.0000 | 0.1177 | 0.0000 | 0.0882 |
| season | 0.60 | 52 | - | 160.000 | 43.000 | 10.000 | 0.000 | 1.000 | 14.000 | 16.000 | 4.000 | 22.000 | 0.2687 | 0.3099 | 0.3500 | 0.2687 | 0.0063 | 0.0875 | 0.0250 | 0.1375 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2980 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.2710 |
| predicted_AVG | 0.3097 |
| predicted_BB | 0.0790 |
| predicted_H | 1.0130 |
| predicted_HBP | 0.2210 |
| predicted_HR | 0.0270 |
| predicted_OBP | 0.3633 |
| predicted_R | 0.5020 |
| predicted_RBI | 0.3110 |
| predicted_SLG | 0.4268 |
| predicted_SO | 0.4910 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1920 | 0.2980 | 0.2351 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.0770 | 3.2710 | 3.1558 | model_form_blend |
| predicted_AVG | 0.2810 | 0.3097 | 0.2927 | model_form_blend |
| predicted_BB | 0.0770 | 0.0790 | 0.0778 | model_form_blend |
| predicted_H | 0.7800 | 1.0130 | 0.8747 | model_form_blend |
| predicted_HBP | - | 0.2210 | 0.2210 | form_only |
| predicted_HR | 0.0500 | 0.0270 | 0.0407 | model_form_blend |
| predicted_OBP | 0.3460 | 0.3633 | 0.3530 | model_form_blend |
| predicted_R | 0.3080 | 0.5020 | 0.3868 | model_form_blend |
| predicted_RBI | 0.3200 | 0.3110 | 0.3163 | model_form_blend |
| predicted_SLG | 0.4050 | 0.4268 | 0.4139 | model_form_blend |
| predicted_SO | 0.4230 | 0.4910 | 0.4506 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 52 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 2 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260612_TB@LAA |
| game_type | full |
| mlbID | 663743 |
| playerID | 663743 |
| playerName | Nick Fortes |
| pos | C |
| started | True |
| startingPosition | C |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-12 |
| sl_k_percent | 12.8 |
| sl_bb_percent | 2.3 |
| sl_woba | 0.296 |
| sl_xwoba | 0.283 |
| sl_xba | 0.254 |
| sl_xslg | 0.338 |
| sl_sweet_spot_percent | 23.6 |
| sl_barrel_batted_rate | 1.5 |
| sl_hard_hit_percent | 40.3 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 6.7 |
| sl_whiff_percent | 14.9 |
| sl_swing_percent | 52.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.067 | 0.000 | 0.000 | Hitting_2B | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.400 | 3.000 | 3.000 | Hitting_AB | 3.660 | 3.000 | -0.660 | 0.000 |
| predicted_AVG | 0.249 | 0.000 | 0.333 | Hitting_AVG | 0.193 | 0.667 | -0.193 | -0.667 |
| predicted_BB | 0.350 | 1.000 | 0.000 | Hitting_BB | 0.330 | 1.000 | 0.670 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_H | 0.820 | 0.000 | 1.000 | Hitting_H | 0.706 | 2.000 | -0.706 | -2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_OBP | 0.336 | 0.250 | 0.333 | Hitting_OBP | 0.271 | 0.800 | -0.021 | -0.550 |
| predicted_R | 0.400 | 0.000 | 0.000 | Hitting_R | 0.416 | 1.000 | -0.416 | -1.000 |
| predicted_RBI | 0.440 | 0.000 | 0.000 | Hitting_RBI | 0.396 | 0.000 | -0.396 | 0.000 |
| predicted_SLG | 0.402 | 0.000 | 0.333 | Hitting_SLG | 0.291 | 0.667 | -0.291 | -0.667 |
| predicted_SO | 0.717 | 0.000 | 1.000 | Hitting_SO | 0.731 | 0.000 | -0.731 | 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.3500 -> 1.0000 (boost 0.6500, better) |
| Biggest Deboost | predicted_H: 0.8200 -> 0.0000 (deboost -0.8200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4020 -> 0.4131 (boost 0.0111, better) | - | Final model input calibrated with local 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.3406 -> 0.3080 (deboost -0.0326, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 2 | 6 | 1 | 7 | predicted_SO: 0.7453 -> 1.0000 (boost 0.2547, worse) | predicted_RBI: 0.4133 -> 0.0000 (deboost -0.4133, worse) | AB rounded to 3 (raw=3.40), rates preserved: AVG=0.236 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4012 -> 0.0000 (deboost -0.4012, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2386 -> 0.3330 (boost 0.0944, better) | predicted_SLG: 0.3866 -> 0.3330 (deboost -0.0536, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3866 (boost 0.0536, better) | predicted_AVG: 0.3330 -> 0.2386 (deboost -0.0944, worse) | 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.067,
"predicted_3B": 0.017,
"predicted_AB": 3.4,
"predicted_AVG": 0.249,
"predicted_BB": 0.35,
"predicted_H": 0.82,
"predicted_HR": 0.13,
"predicted_OBP": 0.336,
"predicted_R": 0.4,
"predicted_RBI": 0.44,
"predicted_SLG": 0.402,
"predicted_SO": 0.717
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0612,
"predicted_3B": 0.0141,
"predicted_AB": 3.3634,
"predicted_AVG": 0.2533,
"predicted_BB": 0.3408,
"predicted_H": 0.8362,
"predicted_HBP": 0.125,
"predicted_HR": 0.1433,
"predicted_OBP": 0.3406,
"predicted_R": 0.4296,
"predicted_RBI": 0.4425,
"predicted_SLG": 0.4131,
"predicted_SO": 0.7378
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.0612,
"delta": -0.0058,
"percent_delta": -0.0866,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0141,
"delta": -0.0029,
"percent_delta": -0.1706,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4,
"after": 3.3634,
"delta": -0.0366,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2533,
"delta": 0.0043,
"percent_delta": 0.0173,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.35,
"after": 0.3408,
"delta": -0.0092,
"percent_delta": -0.0263,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.8362,
"delta": 0.0162,
"percent_delta": 0.0198,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1433,
"delta": 0.0133,
"percent_delta": 0.1023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3406,
"delta": 0.0046,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4,
"after": 0.4296,
"delta": 0.0296,
"percent_delta": 0.074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.4425,
"delta": 0.0025,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.4131,
"delta": 0.0111,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.717,
"after": 0.7378,
"delta": 0.0208,
"percent_delta": 0.029,
"direction": "no_change",
"projection_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.402,
"after": 0.4131,
"delta": 0.0111,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.0612,
"predicted_3B": 0.0141,
"predicted_AB": 3.3634,
"predicted_AVG": 0.2386,
"predicted_BB": 0.3374,
"predicted_H": 0.8026,
"predicted_HBP": 0.125,
"predicted_HR": 0.1361,
"predicted_OBP": 0.308,
"predicted_R": 0.4012,
"predicted_RBI": 0.4133,
"predicted_SLG": 0.3866,
"predicted_SO": 0.7453
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0612,
"after": 0.0612,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0141,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3634,
"after": 3.3634,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2533,
"after": 0.2386,
"delta": -0.0147,
"percent_delta": -0.058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3408,
"after": 0.3374,
"delta": -0.0034,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8362,
"after": 0.8026,
"delta": -0.0336,
"percent_delta": -0.0402,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.125,
"after": 0.125,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1433,
"after": 0.1361,
"delta": -0.0072,
"percent_delta": -0.0502,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3406,
"after": 0.308,
"delta": -0.0326,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4296,
"after": 0.4012,
"delta": -0.0284,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4425,
"after": 0.4133,
"delta": -0.0292,
"percent_delta": -0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4131,
"after": 0.3866,
"delta": -0.0265,
"percent_delta": -0.0641,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7378,
"after": 0.7453,
"delta": 0.0075,
"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_OBP",
"before": 0.3406,
"after": 0.308,
"delta": -0.0326,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.40), rates preserved: AVG=0.236 HR/AB=0.040",
"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.0612,
"after": 0.0,
"delta": -0.0612,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0141,
"after": 0.0,
"delta": -0.0141,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3634,
"after": 3.0,
"delta": -0.3634,
"percent_delta": -0.108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3374,
"after": 0.0,
"delta": -0.3374,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8026,
"after": 1.0,
"delta": 0.1974,
"percent_delta": 0.246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1361,
"after": 0.0,
"delta": -0.1361,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4133,
"after": 0.0,
"delta": -0.4133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7453,
"after": 1.0,
"delta": 0.2547,
"percent_delta": 0.3417,
"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.7453,
"after": 1.0,
"delta": 0.2547,
"percent_delta": 0.3417,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4133,
"after": 0.0,
"delta": -0.4133,
"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.4012,
"after": 0.0,
"delta": -0.4012,
"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.4012,
"after": 0.0,
"delta": -0.4012,
"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.2386,
"after": 0.333,
"delta": 0.0944,
"percent_delta": 0.3956,
"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.308,
"after": 0.333,
"delta": 0.025,
"percent_delta": 0.0812,
"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.3866,
"after": 0.333,
"delta": -0.0536,
"percent_delta": -0.1386,
"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.2386,
"after": 0.333,
"delta": 0.0944,
"percent_delta": 0.3956,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3866,
"after": 0.333,
"delta": -0.0536,
"percent_delta": -0.1386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.2386,
"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.308,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3866,
"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.2386,
"delta": -0.0944,
"percent_delta": -0.2834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.308,
"delta": -0.025,
"percent_delta": -0.075,
"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.3866,
"delta": 0.0536,
"percent_delta": 0.1611,
"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.3866,
"delta": 0.0536,
"percent_delta": 0.1611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2386,
"delta": -0.0944,
"percent_delta": -0.2834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"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.4,
"after": 3.0,
"delta": -0.4,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.249,
"after": 0.2386,
"delta": -0.0104,
"percent_delta": -0.0418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.308,
"delta": -0.028,
"percent_delta": -0.0833,
"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.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.402,
"after": 0.3866,
"delta": -0.0154,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.717,
"after": 0.0,
"delta": -0.717,
"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.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.82,
"after": 0.0,
"delta": -0.82,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.067 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.400 | - |
| predicted_AVG | 0.249 | - |
| predicted_BB | 0.350 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.400 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.402 | - |
| predicted_SO | 0.717 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.061 | -0.006 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 3.363 | -0.037 |
| predicted_AVG | 0.253 | 0.004 |
| predicted_BB | 0.341 | -0.009 |
| predicted_H | 0.836 | 0.016 |
| predicted_HBP | 0.125 | - |
| predicted_HR | 0.143 | 0.013 |
| predicted_OBP | 0.341 | 0.005 |
| predicted_R | 0.430 | 0.030 |
| predicted_RBI | 0.443 | 0.003 |
| predicted_SLG | 0.413 | 0.011 |
| predicted_SO | 0.738 | 0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.061 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 3.363 | 0.000 |
| predicted_AVG | 0.239 | -0.015 |
| predicted_BB | 0.337 | -0.003 |
| predicted_H | 0.803 | -0.034 |
| predicted_HBP | 0.125 | 0.000 |
| predicted_HR | 0.136 | -0.007 |
| predicted_OBP | 0.308 | -0.033 |
| predicted_R | 0.401 | -0.028 |
| predicted_RBI | 0.413 | -0.029 |
| predicted_SLG | 0.387 | -0.027 |
| predicted_SO | 0.745 | 0.007 |
AB rounded to 3 (raw=3.40), rates preserved: AVG=0.236 HR/AB=0.040
| 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.061 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 3.000 | -0.363 |
| predicted_AVG | 0.333 | 0.094 |
| predicted_BB | 0.000 | -0.337 |
| predicted_H | 1.000 | 0.197 |
| predicted_HR | 0.000 | -0.136 |
| predicted_OBP | 0.333 | 0.025 |
| predicted_R | 0.000 | -0.401 |
| predicted_RBI | 0.000 | -0.413 |
| predicted_SLG | 0.333 | -0.054 |
| predicted_SO | 1.000 | 0.255 |
Attached 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 | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 6.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 1.000 | 4.000 | 0.4000 | 0.4706 | 0.6000 | 0.4000 | 0.0667 | 0.2000 | 0.0667 | 0.2667 |
| last_10 | 0.20 | 10 | - | 30.000 | 9.000 | 0.000 | 0.000 | 3.000 | 5.000 | 5.000 | 4.000 | 8.000 | 0.3000 | 0.4167 | 0.6000 | 0.3000 | 0.1000 | 0.1667 | 0.1333 | 0.2667 |
| season | 0.60 | 60 | - | 204.000 | 41.000 | 4.000 | 1.000 | 6.000 | 21.000 | 24.000 | 21.000 | 43.000 | 0.2010 | 0.2900 | 0.3186 | 0.2010 | 0.0294 | 0.1029 | 0.1029 | 0.2108 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0530 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.3120 |
| predicted_AVG | 0.2594 |
| predicted_BB | 0.3280 |
| predicted_H | 0.8590 |
| predicted_HBP | 0.1250 |
| predicted_HR | 0.1620 |
| predicted_OBP | 0.3471 |
| predicted_R | 0.4710 |
| predicted_RBI | 0.4460 |
| predicted_SLG | 0.4287 |
| predicted_SO | 0.7670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0670 | 0.0530 | 0.0612 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0141 | model_form_blend |
| predicted_AB | 3.4000 | 3.3120 | 3.3634 | model_form_blend |
| predicted_AVG | 0.2490 | 0.2594 | 0.2533 | model_form_blend |
| predicted_BB | 0.3500 | 0.3280 | 0.3408 | model_form_blend |
| predicted_H | 0.8200 | 0.8590 | 0.8362 | model_form_blend |
| predicted_HBP | - | 0.1250 | 0.1250 | form_only |
| predicted_HR | 0.1300 | 0.1620 | 0.1433 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3471 | 0.3406 | model_form_blend |
| predicted_R | 0.4000 | 0.4710 | 0.4296 | model_form_blend |
| predicted_RBI | 0.4400 | 0.4460 | 0.4425 | model_form_blend |
| predicted_SLG | 0.4020 | 0.4287 | 0.4131 | model_form_blend |
| predicted_SO | 0.7170 | 0.7670 | 0.7378 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 60 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, 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.201 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 2 |
| 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 | 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 | 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 | 20260614_TB@LAA |
| game_type | full |
| mlbID | 656775 |
| playerID | 656775 |
| playerName | Cedric Mullins |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-14 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.27 |
| sl_xwoba | 0.263 |
| sl_xba | 0.186 |
| sl_xslg | 0.308 |
| sl_sweet_spot_percent | 27.0 |
| sl_barrel_batted_rate | 3.8 |
| sl_hard_hit_percent | 31.1 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 29.1 |
| sl_whiff_percent | 20.5 |
| 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.125 | 1.000 | 0.000 | Hitting_2B | 0.139 | 0.000 | 0.861 | 1.000 |
| predicted_3B | 0.042 | 0.000 | 0.000 | Hitting_3B | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_AB | 3.146 | 4.000 | 3.000 | Hitting_AB | 3.241 | 2.000 | 0.759 | 2.000 |
| predicted_AVG | 0.255 | 0.250 | 0.333 | Hitting_AVG | 0.205 | 0.500 | 0.045 | -0.250 |
| predicted_BB | 0.458 | 0.000 | 0.000 | Hitting_BB | 0.449 | 1.000 | -0.449 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.660 | 1.000 | 1.000 | Hitting_H | 0.665 | 1.000 | 0.335 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.339 | 0.250 | 0.333 | Hitting_OBP | 0.307 | 0.667 | -0.057 | -0.417 |
| predicted_R | 0.458 | 1.000 | 0.000 | Hitting_R | 0.506 | 0.000 | 0.494 | 1.000 |
| predicted_RBI | 0.290 | 0.000 | 0.000 | Hitting_RBI | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_SLG | 0.319 | 0.500 | 0.333 | Hitting_SLG | 0.279 | 0.500 | 0.221 | 0.000 |
| predicted_SO | 0.917 | 1.000 | 1.000 | Hitting_SO | 1.000 | 0.000 | 0.000 | 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_2B: 0.1250 -> 1.0000 (boost 0.8750, better) |
| Biggest Deboost | predicted_BB: 0.4580 -> 0.0000 (deboost -0.4580, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_H: 0.6600 -> 0.7126 (boost 0.0526, better) | predicted_SLG: 0.3190 -> 0.3132 (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 | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2520 -> 0.2163 (deboost -0.0357, 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_H: 0.6840 -> 1.0000 (boost 0.3160, better) | predicted_BB: 0.4627 -> 0.0000 (deboost -0.4627, worse) | AB rounded to 3 (raw=3.16), rates preserved: AVG=0.216 HR/AB=0.009 |
| 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.4395 -> 0.0000 (deboost -0.4395, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2163 -> 0.3330 (boost 0.1167, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2163 (deboost -0.1167, worse) | 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.125,
"predicted_3B": 0.042,
"predicted_AB": 3.146,
"predicted_AVG": 0.255,
"predicted_BB": 0.458,
"predicted_H": 0.66,
"predicted_HR": 0.04,
"predicted_OBP": 0.339,
"predicted_R": 0.458,
"predicted_RBI": 0.29,
"predicted_SLG": 0.319,
"predicted_SO": 0.917
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1099,
"predicted_3B": 0.0343,
"predicted_AB": 3.1615,
"predicted_AVG": 0.252,
"predicted_BB": 0.4674,
"predicted_H": 0.7126,
"predicted_HBP": 0.084,
"predicted_HR": 0.0302,
"predicted_OBP": 0.3442,
"predicted_R": 0.4706,
"predicted_RBI": 0.2863,
"predicted_SLG": 0.3132,
"predicted_SO": 0.8869
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1099,
"delta": -0.0151,
"percent_delta": -0.1208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.042,
"after": 0.0343,
"delta": -0.0077,
"percent_delta": -0.1833,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.146,
"after": 3.1615,
"delta": 0.0155,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.252,
"delta": -0.003,
"percent_delta": -0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.458,
"after": 0.4674,
"delta": 0.0094,
"percent_delta": 0.0205,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.7126,
"delta": 0.0526,
"percent_delta": 0.0797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0302,
"delta": -0.0098,
"percent_delta": -0.245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3442,
"delta": 0.0052,
"percent_delta": 0.0153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.458,
"after": 0.4706,
"delta": 0.0126,
"percent_delta": 0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.2863,
"delta": -0.0037,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.319,
"after": 0.3132,
"delta": -0.0058,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 0.8869,
"delta": -0.0301,
"percent_delta": -0.0328,
"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_H",
"before": 0.66,
"after": 0.7126,
"delta": 0.0526,
"percent_delta": 0.0797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.319,
"after": 0.3132,
"delta": -0.0058,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"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.1099,
"predicted_3B": 0.0343,
"predicted_AB": 3.1615,
"predicted_AVG": 0.2163,
"predicted_BB": 0.4627,
"predicted_H": 0.684,
"predicted_HBP": 0.084,
"predicted_HR": 0.0287,
"predicted_OBP": 0.3164,
"predicted_R": 0.4395,
"predicted_RBI": 0.2674,
"predicted_SLG": 0.3,
"predicted_SO": 0.8959
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1099,
"after": 0.1099,
"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": 3.1615,
"after": 3.1615,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2163,
"delta": -0.0357,
"percent_delta": -0.1417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4674,
"after": 0.4627,
"delta": -0.0047,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7126,
"after": 0.684,
"delta": -0.0286,
"percent_delta": -0.0401,
"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.0302,
"after": 0.0287,
"delta": -0.0015,
"percent_delta": -0.0497,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3442,
"after": 0.3164,
"delta": -0.0278,
"percent_delta": -0.0808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4706,
"after": 0.4395,
"delta": -0.0311,
"percent_delta": -0.0661,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2863,
"after": 0.2674,
"delta": -0.0189,
"percent_delta": -0.066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3132,
"after": 0.3,
"delta": -0.0132,
"percent_delta": -0.0421,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8869,
"after": 0.8959,
"delta": 0.009,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.252,
"after": 0.2163,
"delta": -0.0357,
"percent_delta": -0.1417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.16), rates preserved: AVG=0.216 HR/AB=0.009",
"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.1099,
"after": 0.0,
"delta": -0.1099,
"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": 3.1615,
"after": 3.0,
"delta": -0.1615,
"percent_delta": -0.0511,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4627,
"after": 0.0,
"delta": -0.4627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.684,
"after": 1.0,
"delta": 0.316,
"percent_delta": 0.462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.0,
"delta": -0.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0287,
"after": 0.0,
"delta": -0.0287,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2674,
"after": 0.0,
"delta": -0.2674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8959,
"after": 1.0,
"delta": 0.1041,
"percent_delta": 0.1162,
"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_H",
"before": 0.684,
"after": 1.0,
"delta": 0.316,
"percent_delta": 0.462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 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.4395,
"after": 0.0,
"delta": -0.4395,
"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.4395,
"after": 0.0,
"delta": -0.4395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2163,
"after": 0.333,
"delta": 0.1167,
"percent_delta": 0.5395,
"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.3164,
"after": 0.333,
"delta": 0.0166,
"percent_delta": 0.0525,
"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.3,
"after": 0.333,
"delta": 0.033,
"percent_delta": 0.11,
"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.2163,
"after": 0.333,
"delta": 0.1167,
"percent_delta": 0.5395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 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": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2163,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3164,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2163,
"delta": -0.1167,
"percent_delta": -0.3503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3164,
"delta": -0.0166,
"percent_delta": -0.0499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3,
"delta": -0.033,
"percent_delta": -0.099,
"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.2163,
"delta": -0.1167,
"percent_delta": -0.3503,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 1.0,
"delta": 0.875,
"percent_delta": 7.0,
"direction": "boost",
"projection_effect": "better",
"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.146,
"after": 4.0,
"delta": 0.854,
"percent_delta": 0.2715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2163,
"delta": -0.0387,
"percent_delta": -0.1518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.458,
"after": 0.0,
"delta": -0.458,
"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.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.339,
"after": 0.3164,
"delta": -0.0226,
"percent_delta": -0.0667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.458,
"after": 1.0,
"delta": 0.542,
"percent_delta": 1.1834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.319,
"after": 0.3,
"delta": -0.019,
"percent_delta": -0.0596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.125,
"after": 1.0,
"delta": 0.875,
"percent_delta": 7.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.458,
"after": 0.0,
"delta": -0.458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | - |
| predicted_3B | 0.042 | - |
| predicted_AB | 3.146 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.458 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.339 | - |
| predicted_R | 0.458 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.319 | - |
| predicted_SO | 0.917 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | -0.015 |
| predicted_3B | 0.034 | -0.008 |
| predicted_AB | 3.162 | 0.016 |
| predicted_AVG | 0.252 | -0.003 |
| predicted_BB | 0.467 | 0.009 |
| predicted_H | 0.713 | 0.053 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.030 | -0.010 |
| predicted_OBP | 0.344 | 0.005 |
| predicted_R | 0.471 | 0.013 |
| predicted_RBI | 0.286 | -0.004 |
| predicted_SLG | 0.313 | -0.006 |
| predicted_SO | 0.887 | -0.030 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.110 | 0.000 |
| predicted_3B | 0.034 | 0.000 |
| predicted_AB | 3.162 | 0.000 |
| predicted_AVG | 0.216 | -0.036 |
| predicted_BB | 0.463 | -0.005 |
| predicted_H | 0.684 | -0.029 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.029 | -0.002 |
| predicted_OBP | 0.316 | -0.028 |
| predicted_R | 0.440 | -0.031 |
| predicted_RBI | 0.267 | -0.019 |
| predicted_SLG | 0.300 | -0.013 |
| predicted_SO | 0.896 | 0.009 |
AB rounded to 3 (raw=3.16), rates preserved: AVG=0.216 HR/AB=0.009
| 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=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 | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.110 |
| predicted_3B | 0.000 | -0.034 |
| predicted_AB | 3.000 | -0.162 |
| predicted_AVG | 0.333 | 0.117 |
| predicted_BB | 0.000 | -0.463 |
| predicted_H | 1.000 | 0.316 |
| predicted_HR | 0.000 | -0.029 |
| predicted_OBP | 0.333 | 0.017 |
| predicted_R | 0.000 | -0.440 |
| predicted_RBI | 0.000 | -0.267 |
| predicted_SLG | 0.333 | 0.033 |
| predicted_SO | 1.000 | 0.104 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 0.3077 | 0.4444 | 0.3077 | 0.3077 | 0.0000 | 0.0769 | 0.2308 | 0.1538 |
| last_10 | 0.20 | 10 | - | 33.000 | 9.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 11.000 | 0.2727 | 0.3750 | 0.2727 | 0.2727 | 0.0000 | 0.0303 | 0.1515 | 0.3333 |
| season | 0.60 | 48 | - | 151.000 | 33.000 | 6.000 | 2.000 | 0.000 | 15.000 | 22.000 | 22.000 | 44.000 | 0.2185 | 0.3239 | 0.2848 | 0.2185 | 0.0000 | 0.0993 | 0.1457 | 0.2914 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0880 |
| predicted_3B | 0.0230 |
| predicted_AB | 3.1840 |
| predicted_AVG | 0.2477 |
| predicted_BB | 0.4810 |
| predicted_H | 0.7890 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.0160 |
| predicted_OBP | 0.3517 |
| predicted_R | 0.4890 |
| predicted_RBI | 0.2810 |
| predicted_SLG | 0.3048 |
| predicted_SO | 0.8430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.0880 | 0.1099 | model_form_blend |
| predicted_3B | 0.0420 | 0.0230 | 0.0343 | model_form_blend |
| predicted_AB | 3.1460 | 3.1840 | 3.1615 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2477 | 0.2520 | model_form_blend |
| predicted_BB | 0.4580 | 0.4810 | 0.4674 | model_form_blend |
| predicted_H | 0.6600 | 0.7890 | 0.7126 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.0400 | 0.0160 | 0.0302 | model_form_blend |
| predicted_OBP | 0.3390 | 0.3517 | 0.3442 | model_form_blend |
| predicted_R | 0.4580 | 0.4890 | 0.4706 | model_form_blend |
| predicted_RBI | 0.2900 | 0.2810 | 0.2863 | model_form_blend |
| predicted_SLG | 0.3190 | 0.3048 | 0.3132 | model_form_blend |
| predicted_SO | 0.9170 | 0.8430 | 0.8869 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 158 |
| Season rows before report date | 158 |
| Report year | 2026 |
| Profile rows used | 48 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| 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 | 1 |
| 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 | 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 | 20260613_TB@LAA |
| game_type | full |
| mlbID | 670764 |
| playerID | 670764 |
| playerName | Taylor Walls |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-13 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.285 |
| sl_xwoba | 0.247 |
| sl_xba | 0.174 |
| sl_xslg | 0.229 |
| sl_sweet_spot_percent | 28.3 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 17.0 |
| sl_exit_velocity_avg | 83.1 |
| sl_launch_angle_avg | 21.2 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 43.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 1.615 | 3.000 | 0.385 | -1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 5.923 | 6.000 | -2.923 | -3.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.885 | 7.000 | 0.115 | -1.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 3.385 | 2.000 | 0.615 | 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_SO: 2.0000 -> 4.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 | 2 | 1 | 1 | 2 | 0 | predicted_SO: 2.0000 -> 4.0000 (boost 2.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": "607259",
"player_name": "Nick Martinez",
"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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 2.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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 4.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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 2.0,
"predicted_IP": 6.0,
"predicted_R": 2.0,
"predicted_SO": 4.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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 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": 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": 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": 2.0,
"after": 2.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": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 4.0,
"delta": 2.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 | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 2.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 | 0.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 1.000 | -1.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 4.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 | 30.000 | 12.000 | 37.000 | 3.000 | 13.000 | 3.000 | 3.6000 | 1.3333 | 0.4000 | 1.2333 | 0.1000 | 0.4333 | 0.1000 |
| last_10 | 0.35 | 10 | 61.000 | 17.000 | 65.000 | 9.000 | 33.000 | 3.000 | 2.5082 | 1.2131 | 0.2787 | 1.0656 | 0.1475 | 0.5410 | 0.0492 |
| season | 0.20 | 13 | 77.200 | 21.000 | 77.000 | 13.000 | 44.000 | 6.000 | 2.4335 | 1.1588 | 0.2704 | 0.9914 | 0.1674 | 0.5665 | 0.0772 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1660 |
| predicted_ER | 2.2650 |
| predicted_ERA | 3.3968 |
| predicted_H | 6.5010 |
| predicted_HR | 0.5790 |
| predicted_IP | 6.0000 |
| predicted_SO | 3.7130 |
| predicted_WHIP | 1.2777 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.1660 | 0.6210 | model_form_blend |
| predicted_ER | 2.0000 | 2.2650 | 2.1411 | model_form_blend |
| predicted_ERA | - | 3.3968 | 3.3968 | form_only |
| predicted_H | 3.0000 | 6.5010 | 4.8647 | model_form_blend |
| predicted_HR | 2.0000 | 0.5790 | 1.2431 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 2.0000 | 3.7130 | 2.9124 | model_form_blend |
| predicted_WHIP | - | 1.2777 | 1.2777 | 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 | 6.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 4 |
| HR | 2 |
| BF | 22 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 27 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.43 |
| Pitching_Flyouts | 5 |
| Pitching_Groundouts | 5 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 73 |
| Pitching_R | 3 |
| Pitching_SO | 2 |
| Pitching_Strikes | 49 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_BOS@TB |
| game_type | full |
| mlbID | 607259 |
| playerID | 607259 |
| playerName | Nick Martinez |
| pos | P |
| started | True |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-09 |
| sl_k_percent | 13.8 |
| sl_bb_percent | 4.1 |
| sl_woba | 0.297 |
| sl_xwoba | 0.329 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 31.7 |
| sl_whiff_percent | 18.2 |
| sl_swing_percent | 49.9 |
| sl_avg_best_speed | 75.159661797 |
| sl_avg_hyper_speed | 93.219067891 |
| 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.367 | 0.000 | 0.633 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.533 | 0.000 | -0.533 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.913 | 1.000 | 0.187 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.067 | 2.000 | -1.067 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| 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 | 1 | 1 | 1 | 1 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | 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": "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": 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.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": "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.000 | 0.000 | 2.000 | 0.000 | 4.000 | 0.000 | 0.0000 | 0.4000 | 0.0000 | 0.4000 | 0.0000 | 0.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 4.000 | 3.000 | 9.000 | 0.000 | 0.0000 | 0.7000 | 0.0000 | 0.4000 | 0.3000 | 0.9000 | 0.0000 |
| season | 0.20 | 30 | 28.100 | 6.000 | 16.000 | 11.000 | 32.000 | 1.000 | 1.9059 | 0.9529 | 0.2118 | 0.5647 | 0.3882 | 1.1294 | 0.0353 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2670 |
| predicted_ER | 0.2560 |
| predicted_ERA | 2.3071 |
| predicted_H | 0.6870 |
| predicted_HR | 0.0720 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9160 |
| predicted_WHIP | 0.9537 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2670 | 0.6695 | model_form_blend |
| predicted_ER | 0.0000 | 0.2560 | 0.1154 | model_form_blend |
| predicted_ERA | - | 2.3071 | 2.3071 | form_only |
| predicted_H | 0.0000 | 0.6870 | 0.3098 | model_form_blend |
| predicted_HR | 0.0000 | 0.0720 | 0.0325 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9160 | 0.9621 | model_form_blend |
| predicted_WHIP | - | 0.9537 | 0.9537 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.91 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 641329 |
| playerID | 641329 |
| playerName | Bryan Baker |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-14 |
| sl_k_percent | 27.5 |
| sl_bb_percent | 10.1 |
| sl_woba | 0.233 |
| sl_xwoba | 0.264 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 32.4 |
| sl_whiff_percent | 32.8 |
| sl_swing_percent | 52.0 |
| sl_avg_best_speed | 73.663210588 |
| sl_avg_hyper_speed | 93.020817794 |
| 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.200 | 0.000 | 0.800 | 1.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.667 | 1.000 | 0.333 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.900 | 2.000 | 0.100 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.833 | 3.000 | -0.833 | -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": "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": 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.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 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 | 0.000 | 5.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.8333 | 0.1667 | 1.1667 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 2.000 | 8.000 | 2.000 | 9.000 | 1.000 | 1.6364 | 0.9091 | 0.1818 | 0.7273 | 0.1818 | 0.8182 | 0.0909 |
| season | 0.20 | 30 | 31.200 | 8.000 | 20.000 | 6.000 | 25.000 | 2.000 | 2.2737 | 0.8211 | 0.2526 | 0.6316 | 0.1895 | 0.7895 | 0.0632 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2800 |
| predicted_ER | 0.3070 |
| predicted_ERA | 2.5539 |
| predicted_H | 0.9230 |
| predicted_HR | 0.0970 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0330 |
| predicted_WHIP | 1.1102 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2800 | 0.6669 | model_form_blend |
| predicted_ER | 0.0000 | 0.3070 | 0.1420 | model_form_blend |
| predicted_ERA | - | 2.5539 | 2.5539 | form_only |
| predicted_H | 1.0000 | 0.9230 | 0.9644 | model_form_blend |
| predicted_HR | 0.0000 | 0.0970 | 0.0449 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0330 | 0.4778 | model_form_blend |
| predicted_WHIP | - | 1.1102 | 1.1102 | 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 | 30 |
| Season rows before report date | 30 |
| Report year | 2026 |
| Profile rows used | 30 |
| 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 | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.27 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 687330 |
| playerID | 687330 |
| playerName | Kevin Kelly |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.226 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 46.3 |
| sl_whiff_percent | 18.3 |
| sl_swing_percent | 46.7 |
| sl_avg_best_speed | 79.991807179 |
| sl_avg_hyper_speed | 94.995324231 |
| 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.474 | 0.000 | -0.474 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.526 | 0.000 | 1.474 | 2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.789 | 0.000 | 1.211 | 2.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.774 | 0.200 | -0.574 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.263 | 2.000 | -1.263 | -2.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": "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": 2.0,
"predicted_H": 2.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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 2.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 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 | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 5.000 | 4.000 | 2.000 | 7.000 | 1.000 | 11.2500 | 1.5000 | 1.2500 | 1.0000 | 0.5000 | 1.7500 | 0.2500 |
| last_10 | 0.35 | 10 | 9.100 | 7.000 | 8.000 | 4.000 | 14.000 | 2.000 | 6.7500 | 1.2857 | 0.7500 | 0.8571 | 0.4286 | 1.5000 | 0.2143 |
| season | 0.20 | 19 | 16.100 | 10.000 | 15.000 | 9.000 | 24.000 | 2.000 | 5.5102 | 1.4694 | 0.6122 | 0.9184 | 0.5510 | 1.4694 | 0.1225 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3030 |
| predicted_ER | 0.4980 |
| predicted_ERA | 6.0626 |
| predicted_H | 0.7070 |
| predicted_HR | 0.1270 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8850 |
| predicted_WHIP | 1.3669 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3030 | 0.1192 | model_form_blend |
| predicted_ER | 2.0000 | 0.4980 | 1.4090 | model_form_blend |
| predicted_ERA | - | 6.0626 | 6.0626 | form_only |
| predicted_H | 2.0000 | 0.7070 | 1.4913 | model_form_blend |
| predicted_HR | 0.0000 | 0.1270 | 0.0500 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8850 | 0.9548 | model_form_blend |
| predicted_WHIP | - | 1.3669 | 1.3669 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 19 |
| Season rows before report date | 19 |
| Report year | 2026 |
| Profile rows used | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 2 |
| R | 2 |
| ER | 2 |
| 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 | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 5.51 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 9 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260614_TB@LAA |
| game_type | full |
| mlbID | 664076 |
| playerID | 664076 |
| playerName | Garrett Cleavinger |
| pos | P |
| started | False |
| startingPosition | P |
| team | TB |
| teamID | 27 |
| game_date | 2026-06-14 |
| sl_k_percent | 31.0 |
| sl_bb_percent | 12.7 |
| sl_woba | 0.342 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 48.7 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 46.2 |
| sl_avg_best_speed | 77.249993158 |
| sl_avg_hyper_speed | 94.676915263 |
| Field | Value |
|---|---|
| Pitcher | Eric Lauer |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.4934 |
| ESPN Rank | 545 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2020 |
| Avg Velo | 86.1203 |
| Avg Spin | 2015.1551 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 4 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 3 |
| Season ERA | 5.4684 |
| Season WHIP | 1.2911 |
| Role Avg IP | 4.7410 |
| Recent Avg IP | 5 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"opponent": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"edges": {
"quality_edge": 0.2709,
"offense_edge": 0.1968,
"opponent_offense_edge": -0.0495,
"defense_strength": 0.3046,
"opponent_defense_weakness": -0.0457,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.022,
"run_prevention": 0.9481,
"strikeout": 1.0121
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641778",
"profile": {
"available": true,
"pitcher_id": "641778",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 184.0,
"k_percent": 16.1,
"bb_percent": 8.0,
"woba": 0.347,
"xwoba": 0.353,
"sweet_spot_percent": 38.5,
"barrel_batted_rate": 11.2,
"hard_hit_percent": 39.6,
"avg_best_speed": 78.119,
"avg_hyper_speed": 93.983,
"whiff_percent": 19.5,
"swing_percent": 50.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.827,
"command_and_miss": -0.6693,
"regression_edge": -0.1714,
"xwoba_edge": -1.0857,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.8571,
"bb_edge": 0.275,
"pitch_design_score": -0.202
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641778",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1203,
"release_spin_rate": 2015.1551,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.202,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4431,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.4934,
"sample_weight": 0.736,
"run_prevention_factor": 1.0419,
"strikeout_factor": 0.947,
"walk_factor": 0.9838,
"homer_factor": 1.0792,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641778",
"espn_id": 39915,
"player_name": "Eric Lauer",
"team": "LAD",
"role": "pitcher",
"espn_rank": 545,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 545,
"gp_value": 11.0,
"gp_rank": 370,
"gs_value": 9.0,
"gs_rank": 120,
"qs_value": 1.0,
"qs_rank": 132,
"era_value": 5.4683,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 5.0,
"l_rank": 29,
"sv_value": 0.0,
"sv_rank": 170,
"hld_value": 0.0,
"hld_rank": 255,
"ip_value": 52.2,
"ip_rank": 123,
"h_value": 50.0,
"h_rank": 116,
"er_value": 32.0,
"er_rank": 67,
"hr_value": 15.0,
"hr_rank": 9,
"bb_value": 18.0,
"bb_rank": 138,
"k_value": 36.0,
"k_rank": 181,
"k_per_9_value": 6.151899,
"k_per_9_rank": 39,
"whip_value": 1.2911,
"whip_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0308,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0308,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9881,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0583,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.961,
"adjusted": 3
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 47.1,
"ER": 30,
"H": 47,
"BB": 17,
"SO": 27,
"HR": 14,
"ERA": 5.704225352112676,
"WHIP": 1.352112676056338,
"K9": 5.133802816901408,
"HR9": 2.6619718309859155,
"games_pitched": 10,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-09T00:00:00"
}{
"available": true,
"pitcher_id": "641778",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 76,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 76,
"pitch_usage": 0.0,
"release_speed": 86.12033112392383,
"release_spin_rate": 2015.1551463396743,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.1203,
"release_spin_rate": 2015.1551,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.202,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4431,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
}{
"method": "weighted_recent_form",
"description": "Recent form with overlapping-window de-duplication and Bayesian league-prior shrinkage for small samples",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"role": "pitcher",
"player_id": "641778",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.2,
"ER": 14.0,
"R": 14.0,
"H": 22.0,
"BB": 5.0,
"SO": 16.0,
"HR": 8.0,
"BF": 102.0,
"Pitches": 396.0
},
"per_game": {
"IP": 5.0,
"ER": 2.8,
"R": 2.8,
"H": 4.4,
"BB": 1.0,
"SO": 3.2,
"HR": 1.6,
"BF": 20.4,
"Pitches": 79.2
},
"rates": {
"ERA": 4.9091,
"WHIP": 1.0519,
"ER_per_IP": 0.54545,
"H_per_IP": 0.85714,
"BB_per_IP": 0.19481,
"SO_per_IP": 0.62338,
"HR_per_IP": 0.31169
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 47.1,
"ER": 30.0,
"R": 30.0,
"H": 47.0,
"BB": 17.0,
"SO": 27.0,
"HR": 14.0,
"BF": 204.0,
"Pitches": 770.0
},
"per_game": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 4.7,
"BB": 1.7,
"SO": 2.7,
"HR": 1.4,
"BF": 20.4,
"Pitches": 77.0
},
"rates": {
"ERA": 5.7042,
"WHIP": 1.3521,
"ER_per_IP": 0.6338,
"H_per_IP": 0.99296,
"BB_per_IP": 0.35915,
"SO_per_IP": 0.57042,
"HR_per_IP": 0.29577
}
},
"season": {
"games": 11,
"totals": {
"IP": 52.2,
"ER": 32.0,
"R": 32.0,
"H": 50.0,
"BB": 18.0,
"SO": 36.0,
"HR": 15.0,
"BF": 224.0,
"Pitches": 857.0
},
"per_game": {
"IP": 4.2,
"ER": 2.9091,
"R": 2.9091,
"H": 4.5455,
"BB": 1.6364,
"SO": 3.2727,
"HR": 1.3636,
"BF": 20.3636,
"Pitches": 77.9091
},
"rates": {
"ERA": 5.4684,
"WHIP": 1.2911,
"ER_per_IP": 0.60759,
"H_per_IP": 0.94937,
"BB_per_IP": 0.34177,
"SO_per_IP": 0.68354,
"HR_per_IP": 0.28481
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.729,
"predicted_H": 4.574,
"predicted_BB": 1.494,
"predicted_SO": 3.489,
"predicted_HR": 1.229,
"predicted_ERA": 5.0396,
"predicted_WHIP": 1.2449
}
}{
"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.729,
"final": 3.3417,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.574,
"final": 4.7793,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.494,
"final": 1.7379,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 3.489,
"final": 2.7713,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 1.229,
"final": 1.6006,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0396,
"final": 5.0396,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2449,
"final": 1.2449,
"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.3391 |
| ESPN Rank | 150 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.4828 |
| Season WHIP | 0.7586 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"opponent": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"edges": {
"quality_edge": 0.2709,
"offense_edge": 0.1968,
"opponent_offense_edge": -0.0495,
"defense_strength": 0.3046,
"opponent_defense_weakness": -0.0457,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.022,
"run_prevention": 0.9481,
"strikeout": 1.0121
},
"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": 32.4,
"bb_percent": 2.8,
"woba": 0.228,
"xwoba": 0.27,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 8.6,
"hard_hit_percent": 28.6,
"avg_best_speed": 79.6401,
"avg_hyper_speed": 92.9503,
"whiff_percent": 33.5,
"swing_percent": 56.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.9383,
"command_and_miss": 1.3386,
"regression_edge": -1.2,
"xwoba_edge": 1.2857,
"barrel_edge": -0.2889,
"hard_hit_edge": 1.4286,
"whiff_edge": 1.1429,
"bb_edge": 1.575,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656945",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3391,
"sample_weight": 0.45,
"run_prevention_factor": 0.9712,
"strikeout_factor": 1.0455,
"walk_factor": 0.9433,
"homer_factor": 0.9673,
"woba_minus_xwoba": -0.042,
"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": 150,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 150,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.4827,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 3.0,
"l_rank": 104,
"sv_value": 7.0,
"sv_rank": 19,
"hld_value": 5.0,
"hld_rank": 84,
"ip_value": 29.0,
"ip_rank": 260,
"h_value": 19.0,
"h_rank": 336,
"er_value": 8.0,
"er_rank": 381,
"hr_value": 4.0,
"hr_rank": 187,
"bb_value": 3.0,
"bb_rank": 529,
"k_value": 35.0,
"k_rank": 188,
"k_per_9_value": 10.862068,
"k_per_9_rank": 19,
"whip_value": 0.7586,
"whip_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.987,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9745,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9853,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0205,
"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": 5,
"H": 10,
"BB": 0,
"SO": 15,
"HR": 2,
"ERA": 4.821428571428572,
"WHIP": 1.0714285714285716,
"K9": 14.464285714285715,
"HR9": 1.9285714285714288,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-11T00:00:00"
}{
"available": false,
"pitcher_id": "656945",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.743,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5346,
"prior_weight": 0.4654
},
"role": "pitcher",
"player_id": "656945",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 0.0,
"SO": 7.0,
"HR": 1.0,
"BF": 18.0,
"Pitches": 75.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.0,
"SO": 1.4,
"HR": 0.2,
"BF": 3.6,
"Pitches": 15.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.1538,
"ER_per_IP": 0.46154,
"H_per_IP": 1.15385,
"BB_per_IP": 0.0,
"SO_per_IP": 1.61538,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 5.0,
"R": 5.0,
"H": 10.0,
"BB": 0.0,
"SO": 15.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 158.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 1.0,
"BB": 0.0,
"SO": 1.5,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.8
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.0714,
"ER_per_IP": 0.53571,
"H_per_IP": 1.07143,
"BB_per_IP": 0.0,
"SO_per_IP": 1.60714,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 31,
"totals": {
"IP": 29.0,
"ER": 8.0,
"R": 8.0,
"H": 19.0,
"BB": 3.0,
"SO": 35.0,
"HR": 4.0,
"BF": 108.0,
"Pitches": 420.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2581,
"R": 0.2581,
"H": 0.6129,
"BB": 0.0968,
"SO": 1.129,
"HR": 0.129,
"BF": 3.4839,
"Pitches": 13.5484
},
"rates": {
"ERA": 2.4828,
"WHIP": 0.7586,
"ER_per_IP": 0.27586,
"H_per_IP": 0.65517,
"BB_per_IP": 0.10345,
"SO_per_IP": 1.2069,
"HR_per_IP": 0.13793
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.472,
"predicted_H": 1.001,
"predicted_BB": 0.179,
"predicted_SO": 1.253,
"predicted_HR": 0.178,
"predicted_ERA": 4.2464,
"predicted_WHIP": 1.1796
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5466,
"form_weight": 0.4534,
"form_reliability": 0.5346,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.743,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5346,
"prior_weight": 0.4654
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.472,
"final": 0.214,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.001,
"final": 0.4538,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.179,
"final": 0.0812,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.253,
"final": 0.5681,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.178,
"final": 0.0807,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2464,
"final": 4.2464,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1796,
"final": 1.1796,
"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 Klein |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2216 |
| ESPN Rank | 144 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1797 |
| Avg Velo | 92.9376 |
| Avg Spin | 2294.8103 |
| 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.2500 |
| Season WHIP | 1.2857 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"opponent": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"edges": {
"quality_edge": 0.2709,
"offense_edge": 0.1968,
"opponent_offense_edge": -0.0495,
"defense_strength": 0.3046,
"opponent_defense_weakness": -0.0457,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.022,
"run_prevention": 0.9481,
"strikeout": 1.0121
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694361",
"profile": {
"available": true,
"pitcher_id": "694361",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 86.0,
"k_percent": 27.1,
"bb_percent": 8.5,
"woba": 0.275,
"xwoba": 0.268,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 2.7,
"hard_hit_percent": 37.3,
"avg_best_speed": 80.588,
"avg_hyper_speed": 94.598,
"whiff_percent": 21.8,
"swing_percent": 44.7
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 0.7587,
"command_and_miss": 0.1279,
"regression_edge": 0.2,
"xwoba_edge": 1.3429,
"barrel_edge": 1.0222,
"hard_hit_edge": 0.1857,
"whiff_edge": -0.5286,
"bb_edge": 0.15,
"pitch_design_score": 0.1797
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694361",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 8,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 92.9375685351395,
"release_spin_rate": 2294.8102949099434,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 92.9375685351395,
"release_spin_rate": 2294.8102949099434,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9376,
"release_spin_rate": 2294.8103,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1797,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2838,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2216,
"sample_weight": 0.45,
"run_prevention_factor": 0.9812,
"strikeout_factor": 1.0018,
"walk_factor": 0.9946,
"homer_factor": 0.9417,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694361",
"espn_id": 4313163,
"player_name": "Will Klein",
"team": "LAD",
"role": "pitcher",
"espn_rank": 144,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 144,
"gp_value": 23.0,
"gp_rank": 141,
"gs_value": 1.0,
"gs_rank": 236,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.25,
"era_rank": null,
"w_value": 2.0,
"w_rank": 174,
"l_value": 2.0,
"l_rank": 179,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 8.0,
"hld_rank": 39,
"ip_value": 28.0,
"ip_rank": 272,
"h_value": 26.0,
"h_rank": 250,
"er_value": 7.0,
"er_rank": 416,
"hr_value": 1.0,
"hr_rank": 435,
"bb_value": 10.0,
"bb_rank": 294,
"k_value": 32.0,
"k_rank": 212,
"k_per_9_value": 10.285714,
"k_per_9_rank": 21,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": 0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9915,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9738,
"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.2,
"ER": 2,
"H": 8,
"BB": 4,
"SO": 13,
"HR": 1,
"ERA": 1.8620689655172415,
"WHIP": 1.2413793103448276,
"K9": 12.10344827586207,
"HR9": 0.9310344827586208,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-11T00:00:00"
}{
"available": true,
"pitcher_id": "694361",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 8,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 92.9375685351395,
"release_spin_rate": 2294.8102949099434,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 8,
"pitch_usage": 0.0,
"release_speed": 92.9375685351395,
"release_spin_rate": 2294.8102949099434,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": 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.9376,
"release_spin_rate": 2294.8103,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1797,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2838,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -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.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"role": "pitcher",
"player_id": "694361",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 8.0,
"BB": 4.0,
"SO": 7.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.6,
"BB": 0.8,
"SO": 1.4,
"HR": 0.2,
"BF": 5.0,
"Pitches": 20.0
},
"rates": {
"ERA": 3.8571,
"WHIP": 2.5714,
"ER_per_IP": 0.42857,
"H_per_IP": 1.71429,
"BB_per_IP": 0.85714,
"SO_per_IP": 1.5,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 2.0,
"R": 2.0,
"H": 8.0,
"BB": 4.0,
"SO": 13.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 159.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 1.3,
"HR": 0.1,
"BF": 4.0,
"Pitches": 15.9
},
"rates": {
"ERA": 1.8621,
"WHIP": 1.2414,
"ER_per_IP": 0.2069,
"H_per_IP": 0.82759,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.34483,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 23,
"totals": {
"IP": 28.0,
"ER": 7.0,
"R": 7.0,
"H": 26.0,
"BB": 10.0,
"SO": 32.0,
"HR": 1.0,
"BF": 118.0,
"Pitches": 461.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3043,
"R": 0.3043,
"H": 1.1304,
"BB": 0.4348,
"SO": 1.3913,
"HR": 0.0435,
"BF": 5.1304,
"Pitches": 20.0435
},
"rates": {
"ERA": 2.25,
"WHIP": 1.2857,
"ER_per_IP": 0.25,
"H_per_IP": 0.92857,
"BB_per_IP": 0.35714,
"SO_per_IP": 1.14286,
"HR_per_IP": 0.03571
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.415,
"predicted_H": 1.156,
"predicted_BB": 0.505,
"predicted_SO": 1.206,
"predicted_HR": 0.147,
"predicted_ERA": 3.6108,
"predicted_WHIP": 1.6043
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5503,
"form_weight": 0.4497,
"form_reliability": 0.5258,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.544,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5258,
"prior_weight": 0.4742
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.415,
"final": 0.1866,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.156,
"final": 0.5198,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.505,
"final": 0.2271,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.206,
"final": 1.0926,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.147,
"final": 0.0661,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6108,
"final": 3.6108,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6043,
"final": 1.6043,
"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.4432 |
| ESPN Rank | 196 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.7391 |
| Season WHIP | 1 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"opponent": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"edges": {
"quality_edge": 0.2709,
"offense_edge": 0.1968,
"opponent_offense_edge": -0.0495,
"defense_strength": 0.3046,
"opponent_defense_weakness": -0.0457,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.022,
"run_prevention": 0.9481,
"strikeout": 1.0121
},
"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": 33.3,
"bb_percent": 12.9,
"woba": 0.204,
"xwoba": 0.244,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 4.0,
"hard_hit_percent": 34.0,
"avg_best_speed": 76.7987,
"avg_hyper_speed": 92.2726,
"whiff_percent": 35.0,
"swing_percent": 46.9
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": 1.5143,
"command_and_miss": 0.9664,
"regression_edge": -1.1429,
"xwoba_edge": 2.0286,
"barrel_edge": 0.7333,
"hard_hit_edge": 0.6571,
"whiff_edge": 1.3571,
"bb_edge": -0.95,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681911",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4432,
"sample_weight": 0.45,
"run_prevention_factor": 0.9623,
"strikeout_factor": 1.0517,
"walk_factor": 1.0342,
"homer_factor": 0.9344,
"woba_minus_xwoba": -0.04,
"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": 196,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 196,
"gp_value": 31.0,
"gp_rank": 28,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 2.7391,
"era_rank": null,
"w_value": 1.0,
"w_rank": 281,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 2.0,
"sv_rank": 54,
"hld_value": 10.0,
"hld_rank": 21,
"ip_value": 23.0,
"ip_rank": 340,
"h_value": 11.0,
"h_rank": 465,
"er_value": 7.0,
"er_rank": 416,
"hr_value": 0.0,
"hr_rank": 568,
"bb_value": 12.0,
"bb_rank": 239,
"k_value": 31.0,
"k_rank": 225,
"k_per_9_value": 12.130435,
"k_per_9_rank": 17,
"whip_value": 1.0,
"whip_rank": null,
"war_value": 0.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.983,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0154,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9705,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0233,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 6.0,
"ER": 2,
"H": 3,
"BB": 4,
"SO": 8,
"HR": 0,
"ERA": 3.0,
"WHIP": 1.1666666666666667,
"K9": 12.0,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-13T00:00:00"
}{
"available": false,
"pitcher_id": "681911",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.554,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4767,
"prior_weight": 0.5233
},
"role": "pitcher",
"player_id": "681911",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 2.2,
"ER": 2.0,
"R": 2.0,
"H": 2.0,
"BB": 2.0,
"SO": 3.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 64.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 0.6,
"HR": 0.0,
"BF": 2.6,
"Pitches": 12.8
},
"rates": {
"ERA": 6.75,
"WHIP": 1.5,
"ER_per_IP": 0.75,
"H_per_IP": 0.75,
"BB_per_IP": 0.75,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 6.0,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 4.0,
"SO": 8.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 126.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.2,
"H": 0.3,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 2.6,
"Pitches": 12.6
},
"rates": {
"ERA": 3.0,
"WHIP": 1.1667,
"ER_per_IP": 0.33333,
"H_per_IP": 0.5,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.33333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 31,
"totals": {
"IP": 23.0,
"ER": 7.0,
"R": 7.0,
"H": 11.0,
"BB": 12.0,
"SO": 31.0,
"HR": 0.0,
"BF": 93.0,
"Pitches": 420.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2258,
"R": 0.2258,
"H": 0.3548,
"BB": 0.3871,
"SO": 1.0,
"HR": 0.0,
"BF": 3.0,
"Pitches": 13.5484
},
"rates": {
"ERA": 2.7391,
"WHIP": 1.0,
"ER_per_IP": 0.30435,
"H_per_IP": 0.47826,
"BB_per_IP": 0.52174,
"SO_per_IP": 1.34783,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.337,
"predicted_H": 0.532,
"predicted_BB": 0.341,
"predicted_SO": 0.721,
"predicted_HR": 0.051,
"predicted_ERA": 4.5479,
"predicted_WHIP": 1.3094
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5711,
"form_weight": 0.4289,
"form_reliability": 0.4767,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.554,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4767,
"prior_weight": 0.5233
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.337,
"final": 0.1445,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.532,
"final": 0.2282,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.341,
"final": 0.1463,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.721,
"final": 2.0225,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.051,
"final": 0.0219,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5479,
"final": 4.5479,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3094,
"final": 1.3094,
"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.2954 |
| ESPN Rank | 326 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.2000 |
| Pre ER | 3 |
| Pre H | 2 |
| Pre BB | 2 |
| Pre SO | 1 |
| Season ERA | 2.4545 |
| Season WHIP | 1.2273 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 78,
"wins": 48,
"losses": 30,
"win_pct": 0.6154,
"runs_scored": 420.0,
"runs_allowed": 269.0,
"run_differential": 151.0,
"run_differential_per_game": 1.9359,
"avg_runs_scored": 5.3846,
"avg_runs_allowed": 3.4487,
"offense_index": 1.1968,
"defense_index": 1.3046,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.8,
"avg_runs_allowed": 5.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.3347
},
"opponent": {
"team": "TB",
"games": 76,
"wins": 44,
"losses": 32,
"win_pct": 0.5789,
"runs_scored": 325.0,
"runs_allowed": 327.0,
"run_differential": -2.0,
"run_differential_per_game": -0.0263,
"avg_runs_scored": 4.2763,
"avg_runs_allowed": 4.3026,
"offense_index": 0.9505,
"defense_index": 1.0457,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 3.9,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0638
},
"edges": {
"quality_edge": 0.2709,
"offense_edge": 0.1968,
"opponent_offense_edge": -0.0495,
"defense_strength": 0.3046,
"opponent_defense_weakness": -0.0457,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.022,
"run_prevention": 0.9481,
"strikeout": 1.0121
},
"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": 23.7,
"bb_percent": 10.8,
"woba": 0.328,
"xwoba": 0.365,
"sweet_spot_percent": 38.3,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 43.3,
"avg_best_speed": 75.5953,
"avg_hyper_speed": 94.8812,
"whiff_percent": 25.3,
"swing_percent": 47.2
},
"league_medians": {
"pa": 70.0,
"k_percent": 22.7,
"bb_percent": 9.1,
"woba": 0.31,
"xwoba": 0.315,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.7837,
"avg_hyper_speed": 94.0076,
"whiff_percent": 25.5,
"swing_percent": 47.2
},
"components": {
"contact_quality": -0.9693,
"command_and_miss": -0.0307,
"regression_edge": -1.0571,
"xwoba_edge": -1.4286,
"barrel_edge": -1.4,
"hard_hit_edge": -0.6714,
"whiff_edge": -0.0286,
"bb_edge": -0.425,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "595014",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.2954,
"sample_weight": 0.45,
"run_prevention_factor": 1.0251,
"strikeout_factor": 1.0021,
"walk_factor": 1.0153,
"homer_factor": 1.0818,
"woba_minus_xwoba": -0.037,
"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": 326,
"espn_total_ranked": 695,
"metrics": {
"espn_rank": 326,
"gp_value": 28.0,
"gp_rank": 82,
"gs_value": 0.0,
"gs_rank": 285,
"qs_value": 0.0,
"qs_rank": 175,
"era_value": 3.6818,
"era_rank": null,
"w_value": 3.0,
"w_rank": 103,
"l_value": 1.0,
"l_rank": 265,
"sv_value": 1.0,
"sv_rank": 84,
"hld_value": 6.0,
"hld_rank": 67,
"ip_value": 22.0,
"ip_rank": 348,
"h_value": 21.0,
"h_rank": 296,
"er_value": 9.0,
"er_rank": 343,
"hr_value": 2.0,
"hr_rank": 322,
"bb_value": 10.0,
"bb_rank": 294,
"k_value": 23.0,
"k_rank": 312,
"k_per_9_value": 9.409091,
"k_per_9_rank": 24,
"whip_value": 1.409,
"whip_rank": null,
"war_value": 0.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0113,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0113,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0069,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0368,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0009,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 7.1,
"ER": 3,
"H": 6,
"BB": 5,
"SO": 9,
"HR": 0,
"ERA": 3.681818181818182,
"WHIP": 1.5,
"K9": 11.045454545454547,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-06-14T00:00:00"
}{
"available": false,
"pitcher_id": "595014",
"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": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.356,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4656,
"prior_weight": 0.5344
},
"role": "pitcher",
"player_id": "595014",
"report_date": "20260615_T",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 3.0,
"SO": 5.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 83.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.6,
"H": 1.0,
"BB": 0.6,
"SO": 1.0,
"HR": 0.0,
"BF": 4.0,
"Pitches": 16.6
},
"rates": {
"ERA": 6.75,
"WHIP": 2.0,
"ER_per_IP": 0.75,
"H_per_IP": 1.25,
"BB_per_IP": 0.75,
"SO_per_IP": 1.25,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.1,
"ER": 3.0,
"R": 3.0,
"H": 6.0,
"BB": 5.0,
"SO": 9.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 127.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.3,
"H": 0.6,
"BB": 0.5,
"SO": 0.9,
"HR": 0.0,
"BF": 3.3,
"Pitches": 12.7
},
"rates": {
"ERA": 3.6818,
"WHIP": 1.5,
"ER_per_IP": 0.40909,
"H_per_IP": 0.81818,
"BB_per_IP": 0.68182,
"SO_per_IP": 1.22727,
"HR_per_IP": 0.0
}
},
"season": {
"games": 27,
"totals": {
"IP": 22.0,
"ER": 6.0,
"R": 6.0,
"H": 17.0,
"BB": 10.0,
"SO": 23.0,
"HR": 1.0,
"BF": 93.0,
"Pitches": 351.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2222,
"R": 0.2222,
"H": 0.6296,
"BB": 0.3704,
"SO": 0.8519,
"HR": 0.037,
"BF": 3.4444,
"Pitches": 13.0
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.2273,
"ER_per_IP": 0.27273,
"H_per_IP": 0.77273,
"BB_per_IP": 0.45455,
"SO_per_IP": 1.04545,
"HR_per_IP": 0.04545
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.343,
"predicted_H": 0.658,
"predicted_BB": 0.336,
"predicted_SO": 0.706,
"predicted_HR": 0.055,
"predicted_ERA": 4.6307,
"predicted_WHIP": 1.4902
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5758,
"form_weight": 0.4242,
"form_reliability": 0.4656,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.356,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4656,
"prior_weight": 0.5344
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.343,
"final": 1.8729,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.658,
"final": 1.4307,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.336,
"final": 1.2941,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.706,
"final": 0.8753,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0233,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6307,
"final": 4.6307,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4902,
"final": 1.4902,
"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.111 | 0.000 | 0.000 | Hitting_2B | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.230 | 3.000 | 4.000 | Hitting_AB | 4.215 | 4.000 | -1.215 | -1.000 |
| predicted_AVG | 0.229 | 0.000 | 0.250 | Hitting_AVG | 0.186 | 0.500 | -0.186 | -0.500 |
| predicted_BB | 0.306 | 0.000 | 0.000 | Hitting_BB | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.047 | 0.000 | -0.047 | 0.000 |
| predicted_H | 0.970 | 0.000 | 1.000 | Hitting_H | 0.785 | 2.000 | -0.785 | -2.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.280 | 1.000 | -0.280 | -1.000 |
| predicted_OBP | 0.290 | 0.250 | 0.250 | Hitting_OBP | 0.235 | 0.500 | 0.015 | -0.250 |
| predicted_R | 0.583 | 0.000 | 1.000 | Hitting_R | 0.636 | 1.000 | -0.636 | -1.000 |
| predicted_RBI | 0.430 | 0.000 | 0.000 | Hitting_RBI | 0.692 | 1.000 | -0.692 | -1.000 |
| predicted_SLG | 0.386 | 0.000 | 0.250 | Hitting_SLG | 0.401 | 1.250 | -0.401 | -1.250 |
| predicted_SO | 0.556 | 0.000 | 0.000 | Hitting_SO | 0.598 | 0.000 | -0.598 | 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_AVG: 0.2290 -> 0.2348 (boost 0.0058, better) |
| Biggest Deboost | predicted_AB: 4.2300 -> 3.0000 (deboost -1.2300, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AB: 4.2300 -> 4.1658 (deboost -0.0642, 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_AVG: 0.2285 -> 0.2348 (boost 0.0063, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.5658 -> 1.0000 (boost 0.4342, worse) | predicted_RBI: 0.4319 -> 0.0000 (deboost -0.4319, worse) | AB rounded to 4 (raw=4.23), rates preserved: AVG=0.231 HR/AB=0.040 |
| 5 | bvp_blend | 1 | 0 | 1 | 1 | 0 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.233) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6353 -> 1.0000 (boost 0.3647, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2348 -> 0.2500 (boost 0.0152, better) | predicted_SLG: 0.3828 -> 0.2500 (deboost -0.1328, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3828 (boost 0.1328, better) | predicted_AVG: 0.2500 -> 0.2348 (deboost -0.0152, 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.111,
"predicted_3B": 0.0,
"predicted_AB": 4.23,
"predicted_AVG": 0.229,
"predicted_BB": 0.306,
"predicted_H": 0.97,
"predicted_HR": 0.16,
"predicted_OBP": 0.29,
"predicted_R": 0.583,
"predicted_RBI": 0.43,
"predicted_SLG": 0.386,
"predicted_SO": 0.556
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1082,
"predicted_3B": 0.0008,
"predicted_AB": 4.1658,
"predicted_AVG": 0.2285,
"predicted_BB": 0.2979,
"predicted_H": 0.9526,
"predicted_HBP": 0.02,
"predicted_HR": 0.1636,
"predicted_OBP": 0.2866,
"predicted_R": 0.6064,
"predicted_RBI": 0.4122,
"predicted_SLG": 0.3833,
"predicted_SO": 0.575
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.1082,
"delta": -0.0028,
"percent_delta": -0.0252,
"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": 4.23,
"after": 4.1658,
"delta": -0.0642,
"percent_delta": -0.0152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2285,
"delta": -0.0005,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 0.2979,
"delta": -0.0081,
"percent_delta": -0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.9526,
"delta": -0.0174,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1636,
"delta": 0.0036,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.29,
"after": 0.2866,
"delta": -0.0034,
"percent_delta": -0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.6064,
"delta": 0.0234,
"percent_delta": 0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.4122,
"delta": -0.0178,
"percent_delta": -0.0414,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3833,
"delta": -0.0027,
"percent_delta": -0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.575,
"delta": 0.019,
"percent_delta": 0.0342,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.23,
"after": 4.1658,
"delta": -0.0642,
"percent_delta": -0.0152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1082,
"predicted_3B": 0.0008,
"predicted_AB": 4.1658,
"predicted_AVG": 0.2348,
"predicted_BB": 0.3027,
"predicted_H": 0.9782,
"predicted_HBP": 0.02,
"predicted_HR": 0.1689,
"predicted_OBP": 0.2867,
"predicted_R": 0.6353,
"predicted_RBI": 0.4319,
"predicted_SLG": 0.3828,
"predicted_SO": 0.5658
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1082,
"after": 0.1082,
"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.1658,
"after": 4.1658,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2285,
"after": 0.2348,
"delta": 0.0063,
"percent_delta": 0.0276,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2979,
"after": 0.3027,
"delta": 0.0048,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9526,
"after": 0.9782,
"delta": 0.0256,
"percent_delta": 0.0269,
"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.1636,
"after": 0.1689,
"delta": 0.0053,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2866,
"after": 0.2867,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6064,
"after": 0.6353,
"delta": 0.0289,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4122,
"after": 0.4319,
"delta": 0.0197,
"percent_delta": 0.0478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3833,
"after": 0.3828,
"delta": -0.0005,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.575,
"after": 0.5658,
"delta": -0.0092,
"percent_delta": -0.016,
"direction": "no_change",
"projection_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.2285,
"after": 0.2348,
"delta": 0.0063,
"percent_delta": 0.0276,
"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=4.23), rates preserved: AVG=0.231 HR/AB=0.040",
"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.1082,
"after": 0.0,
"delta": -0.1082,
"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.1658,
"after": 4.0,
"delta": -0.1658,
"percent_delta": -0.0398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3027,
"after": 0.0,
"delta": -0.3027,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9782,
"after": 1.0,
"delta": 0.0218,
"percent_delta": 0.0223,
"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.1689,
"after": 0.0,
"delta": -0.1689,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4319,
"after": 0.0,
"delta": -0.4319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5658,
"after": 1.0,
"delta": 0.4342,
"percent_delta": 0.7674,
"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.5658,
"after": 1.0,
"delta": 0.4342,
"percent_delta": 0.7674,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4319,
"after": 0.0,
"delta": -0.4319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.233)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 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.8,
"bvp": 0.2
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.6353,
"after": 1.0,
"delta": 0.3647,
"percent_delta": 0.5741,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6353,
"after": 1.0,
"delta": 0.3647,
"percent_delta": 0.5741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2348,
"after": 0.25,
"delta": 0.0152,
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2867,
"after": 0.25,
"delta": -0.0367,
"percent_delta": -0.128,
"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.3828,
"after": 0.25,
"delta": -0.1328,
"percent_delta": -0.3469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2348,
"after": 0.25,
"delta": 0.0152,
"percent_delta": 0.0647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3828,
"after": 0.25,
"delta": -0.1328,
"percent_delta": -0.3469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2348,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2867,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3828,
"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.2348,
"delta": -0.0152,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.25,
"after": 0.2867,
"delta": 0.0367,
"percent_delta": 0.1466,
"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.3828,
"delta": 0.1328,
"percent_delta": 0.5314,
"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.3828,
"delta": 0.1328,
"percent_delta": 0.5314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2348,
"delta": -0.0152,
"percent_delta": -0.0607,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"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.23,
"after": 3.0,
"delta": -1.23,
"percent_delta": -0.2908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2348,
"delta": 0.0058,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 0.0,
"delta": -0.306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 0.0,
"delta": -0.97,
"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.29,
"after": 0.2867,
"delta": -0.0033,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.583,
"after": 0.0,
"delta": -0.583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3828,
"delta": -0.0032,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.0,
"delta": -0.556,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2348,
"delta": 0.0058,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.23,
"after": 3.0,
"delta": -1.23,
"percent_delta": -0.2908,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.111 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.230 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.306 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.290 | - |
| predicted_R | 0.583 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 0.556 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | -0.003 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.166 | -0.064 |
| predicted_AVG | 0.229 | -0.001 |
| predicted_BB | 0.298 | -0.008 |
| predicted_H | 0.953 | -0.017 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.164 | 0.004 |
| predicted_OBP | 0.287 | -0.003 |
| predicted_R | 0.606 | 0.023 |
| predicted_RBI | 0.412 | -0.018 |
| predicted_SLG | 0.383 | -0.003 |
| predicted_SO | 0.575 | 0.019 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.166 | 0.000 |
| predicted_AVG | 0.235 | 0.006 |
| predicted_BB | 0.303 | 0.005 |
| predicted_H | 0.978 | 0.026 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.169 | 0.005 |
| predicted_OBP | 0.287 | 0.000 |
| predicted_R | 0.635 | 0.029 |
| predicted_RBI | 0.432 | 0.020 |
| predicted_SLG | 0.383 | -0.001 |
| predicted_SO | 0.566 | -0.009 |
AB rounded to 4 (raw=4.23), rates preserved: AVG=0.231 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=30.0, weight=0.200, BvP AVG=0.233)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 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 | 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 | 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.108 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | -0.166 |
| predicted_AVG | 0.250 | 0.015 |
| predicted_BB | 0.000 | -0.303 |
| predicted_H | 1.000 | 0.022 |
| predicted_HR | 0.000 | -0.169 |
| predicted_OBP | 0.250 | -0.037 |
| predicted_R | 1.000 | 0.365 |
| predicted_RBI | 0.000 | -0.432 |
| predicted_SLG | 0.250 | -0.133 |
| predicted_SO | 0.000 | -0.566 |
Attached 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 | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 6.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 1.000 | 3.000 | 0.2857 | 0.3182 | 0.4286 | 0.2857 | 0.0476 | 0.0476 | 0.0476 | 0.1429 |
| last_10 | 0.20 | 10 | - | 41.000 | 9.000 | 1.000 | 0.000 | 1.000 | 1.000 | 8.000 | 3.000 | 5.000 | 0.2195 | 0.2727 | 0.3171 | 0.2195 | 0.0244 | 0.0244 | 0.0732 | 0.1220 |
| season | 0.60 | 36 | - | 147.000 | 30.000 | 4.000 | 0.000 | 7.000 | 18.000 | 21.000 | 11.000 | 20.000 | 0.2041 | 0.2625 | 0.3741 | 0.2041 | 0.0476 | 0.1225 | 0.0748 | 0.1361 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1040 |
| predicted_3B | 0.0020 |
| predicted_AB | 4.0710 |
| predicted_AVG | 0.2278 |
| predicted_BB | 0.2860 |
| predicted_H | 0.9270 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1690 |
| predicted_OBP | 0.2817 |
| predicted_R | 0.6410 |
| predicted_RBI | 0.3860 |
| predicted_SLG | 0.3793 |
| predicted_SO | 0.6030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1110 | 0.1040 | 0.1082 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 4.2300 | 4.0710 | 4.1658 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2278 | 0.2285 | model_form_blend |
| predicted_BB | 0.3060 | 0.2860 | 0.2979 | model_form_blend |
| predicted_H | 0.9700 | 0.9270 | 0.9526 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1600 | 0.1690 | 0.1636 | model_form_blend |
| predicted_OBP | 0.2900 | 0.2817 | 0.2866 | model_form_blend |
| predicted_R | 0.5830 | 0.6410 | 0.6064 | model_form_blend |
| predicted_RBI | 0.4300 | 0.3860 | 0.4122 | model_form_blend |
| predicted_SLG | 0.3860 | 0.3793 | 0.3833 | model_form_blend |
| predicted_SO | 0.5560 | 0.6030 | 0.5750 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 107 |
| Season rows before report date | 107 |
| 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 | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.204 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 605141 |
| playerID | 605141 |
| playerName | Mookie Betts |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 12.7 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.272 |
| sl_xwoba | 0.325 |
| sl_xba | 0.263 |
| sl_xslg | 0.424 |
| sl_sweet_spot_percent | 42.7 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 37.1 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 13.6 |
| sl_swing_percent | 40.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.211 | 0.000 | 0.000 | Hitting_2B | 0.228 | 0.000 | -0.228 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_AB | 4.320 | 4.000 | 4.000 | Hitting_AB | 3.851 | 5.000 | 0.149 | -1.000 |
| predicted_AVG | 0.234 | 0.250 | 0.250 | Hitting_AVG | 0.306 | 0.000 | -0.056 | 0.250 |
| predicted_BB | 0.268 | 0.000 | 0.000 | Hitting_BB | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 1.010 | 1.000 | 1.000 | Hitting_H | 1.178 | 0.000 | -0.178 | 1.000 |
| predicted_HR | 0.160 | 0.000 | 0.000 | Hitting_HR | 0.249 | 0.000 | -0.249 | 0.000 |
| predicted_OBP | 0.293 | 0.250 | 0.250 | Hitting_OBP | 0.354 | 0.000 | -0.104 | 0.250 |
| predicted_R | 0.592 | 1.000 | 1.000 | Hitting_R | 0.680 | 0.000 | 0.320 | 1.000 |
| predicted_RBI | 0.570 | 0.000 | 1.000 | Hitting_RBI | 0.942 | 0.000 | -0.942 | 0.000 |
| predicted_SLG | 0.409 | 0.250 | 0.250 | Hitting_SLG | 0.561 | 0.000 | -0.311 | 0.250 |
| predicted_SO | 0.845 | 1.000 | 1.000 | Hitting_SO | 0.801 | 1.000 | 0.199 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 5 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.5920 -> 1.0000 (boost 0.4080, better) |
| Biggest Deboost | predicted_RBI: 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 | 2 | 1 | 1 | 0 | 2 | predicted_SO: 0.8450 -> 0.9314 (boost 0.0864, worse) | predicted_AB: 4.3200 -> 4.2425 (deboost -0.0775, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2343 -> 0.2405 (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 | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.6065 -> 1.0000 (boost 0.3935, better) | predicted_BB: 0.2856 -> 0.0000 (deboost -0.2856, worse) | AB rounded to 4 (raw=4.32), rates preserved: AVG=0.236 HR/AB=0.039 |
| 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.6189 -> 1.0000 (boost 0.3811, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2405 -> 0.2500 (boost 0.0095, better) | predicted_SLG: 0.4103 -> 0.2500 (deboost -0.1603, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4103 (boost 0.1603, better) | predicted_AVG: 0.2500 -> 0.2405 (deboost -0.0095, 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.211,
"predicted_3B": 0.014,
"predicted_AB": 4.32,
"predicted_AVG": 0.234,
"predicted_BB": 0.268,
"predicted_H": 1.01,
"predicted_HR": 0.16,
"predicted_OBP": 0.293,
"predicted_R": 0.592,
"predicted_RBI": 0.57,
"predicted_SLG": 0.409,
"predicted_SO": 0.845
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1886,
"predicted_3B": 0.0123,
"predicted_AB": 4.2425,
"predicted_AVG": 0.2343,
"predicted_BB": 0.2811,
"predicted_H": 0.9935,
"predicted_HBP": 0.02,
"predicted_HR": 0.1638,
"predicted_OBP": 0.2901,
"predicted_R": 0.5907,
"predicted_RBI": 0.5789,
"predicted_SLG": 0.4051,
"predicted_SO": 0.9314
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.1886,
"delta": -0.0224,
"percent_delta": -0.1062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0123,
"delta": -0.0017,
"percent_delta": -0.1214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.2425,
"delta": -0.0775,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2343,
"delta": 0.0003,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.268,
"after": 0.2811,
"delta": 0.0131,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 0.9935,
"delta": -0.0165,
"percent_delta": -0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.16,
"after": 0.1638,
"delta": 0.0038,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.2901,
"delta": -0.0029,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 0.5907,
"delta": -0.0013,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 0.5789,
"delta": 0.0089,
"percent_delta": 0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4051,
"delta": -0.0039,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.845,
"after": 0.9314,
"delta": 0.0864,
"percent_delta": 0.1022,
"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": 0.845,
"after": 0.9314,
"delta": 0.0864,
"percent_delta": 0.1022,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.32,
"after": 4.2425,
"delta": -0.0775,
"percent_delta": -0.0179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1886,
"predicted_3B": 0.0123,
"predicted_AB": 4.2425,
"predicted_AVG": 0.2405,
"predicted_BB": 0.2856,
"predicted_H": 1.0202,
"predicted_HBP": 0.02,
"predicted_HR": 0.1691,
"predicted_OBP": 0.2884,
"predicted_R": 0.6189,
"predicted_RBI": 0.6065,
"predicted_SLG": 0.4103,
"predicted_SO": 0.9165
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1886,
"after": 0.1886,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0123,
"after": 0.0123,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2425,
"after": 4.2425,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2343,
"after": 0.2405,
"delta": 0.0062,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2811,
"after": 0.2856,
"delta": 0.0045,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9935,
"after": 1.0202,
"delta": 0.0267,
"percent_delta": 0.0269,
"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.1638,
"after": 0.1691,
"delta": 0.0053,
"percent_delta": 0.0324,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2901,
"after": 0.2884,
"delta": -0.0017,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5907,
"after": 0.6189,
"delta": 0.0282,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5789,
"after": 0.6065,
"delta": 0.0276,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4051,
"after": 0.4103,
"delta": 0.0052,
"percent_delta": 0.0128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9314,
"after": 0.9165,
"delta": -0.0149,
"percent_delta": -0.016,
"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.2343,
"after": 0.2405,
"delta": 0.0062,
"percent_delta": 0.0265,
"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=4.32), rates preserved: AVG=0.236 HR/AB=0.039",
"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.1886,
"after": 0.0,
"delta": -0.1886,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0123,
"after": 0.0,
"delta": -0.0123,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2425,
"after": 4.0,
"delta": -0.2425,
"percent_delta": -0.0572,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2856,
"after": 0.0,
"delta": -0.2856,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0202,
"after": 1.0,
"delta": -0.0202,
"percent_delta": -0.0198,
"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.1691,
"after": 0.0,
"delta": -0.1691,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6065,
"after": 1.0,
"delta": 0.3935,
"percent_delta": 0.6488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9165,
"after": 1.0,
"delta": 0.0835,
"percent_delta": 0.0911,
"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_RBI",
"before": 0.6065,
"after": 1.0,
"delta": 0.3935,
"percent_delta": 0.6488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2856,
"after": 0.0,
"delta": -0.2856,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9243,
"bvp": 0.0757
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6189,
"after": 1.0,
"delta": 0.3811,
"percent_delta": 0.6158,
"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.6189,
"after": 1.0,
"delta": 0.3811,
"percent_delta": 0.6158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2405,
"after": 0.25,
"delta": 0.0095,
"percent_delta": 0.0395,
"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.2884,
"after": 0.25,
"delta": -0.0384,
"percent_delta": -0.1331,
"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.4103,
"after": 0.25,
"delta": -0.1603,
"percent_delta": -0.3907,
"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.2405,
"after": 0.25,
"delta": 0.0095,
"percent_delta": 0.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4103,
"after": 0.25,
"delta": -0.1603,
"percent_delta": -0.3907,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2405,
"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.2884,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4103,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2884,
"delta": 0.0384,
"percent_delta": 0.1535,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4103,
"delta": 0.1603,
"percent_delta": 0.6413,
"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.4103,
"delta": 0.1603,
"percent_delta": 0.6413,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2405,
"delta": -0.0095,
"percent_delta": -0.0381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.0,
"delta": -0.32,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2405,
"delta": 0.0065,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.01,
"after": 1.0,
"delta": -0.01,
"percent_delta": -0.0099,
"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.293,
"after": 0.2884,
"delta": -0.0046,
"percent_delta": -0.0157,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"direction": "boost",
"projection_effect": "better",
"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.409,
"after": 0.4103,
"delta": 0.0013,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.845,
"after": 1.0,
"delta": 0.155,
"percent_delta": 0.1834,
"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_R",
"before": 0.592,
"after": 1.0,
"delta": 0.408,
"percent_delta": 0.6892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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.211 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.320 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.268 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.160 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.592 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.409 | - |
| predicted_SO | 0.845 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | -0.022 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 4.242 | -0.078 |
| predicted_AVG | 0.234 | 0.000 |
| predicted_BB | 0.281 | 0.013 |
| predicted_H | 0.994 | -0.016 |
| predicted_HBP | 0.020 | - |
| predicted_HR | 0.164 | 0.004 |
| predicted_OBP | 0.290 | -0.003 |
| predicted_R | 0.591 | -0.001 |
| predicted_RBI | 0.579 | 0.009 |
| predicted_SLG | 0.405 | -0.004 |
| predicted_SO | 0.931 | 0.086 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 4.242 | 0.000 |
| predicted_AVG | 0.240 | 0.006 |
| predicted_BB | 0.286 | 0.005 |
| predicted_H | 1.020 | 0.027 |
| predicted_HBP | 0.020 | 0.000 |
| predicted_HR | 0.169 | 0.005 |
| predicted_OBP | 0.288 | -0.002 |
| predicted_R | 0.619 | 0.028 |
| predicted_RBI | 0.607 | 0.028 |
| predicted_SLG | 0.410 | 0.005 |
| predicted_SO | 0.916 | -0.015 |
AB rounded to 4 (raw=4.32), rates preserved: AVG=0.236 HR/AB=0.039
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=7.0, weight=0.076, BvP AVG=0.429)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.189 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | -0.242 |
| predicted_AVG | 0.250 | 0.010 |
| predicted_BB | 0.000 | -0.286 |
| predicted_H | 1.000 | -0.020 |
| predicted_HR | 0.000 | -0.169 |
| predicted_OBP | 0.250 | -0.038 |
| predicted_R | 1.000 | 0.381 |
| predicted_RBI | 1.000 | 0.393 |
| predicted_SLG | 0.250 | -0.160 |
| predicted_SO | 1.000 | 0.084 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 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 | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 23.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 8.000 | 0.1739 | 0.2400 | 0.1739 | 0.1739 | 0.0000 | 0.0000 | 0.0870 | 0.3478 |
| last_10 | 0.20 | 10 | - | 46.000 | 8.000 | 1.000 | 0.000 | 2.000 | 5.000 | 6.000 | 3.000 | 13.000 | 0.1739 | 0.2200 | 0.3261 | 0.1739 | 0.0435 | 0.1087 | 0.0652 | 0.2826 |
| season | 0.60 | 71 | - | 275.000 | 75.000 | 15.000 | 1.000 | 15.000 | 56.000 | 42.000 | 19.000 | 60.000 | 0.2727 | 0.3189 | 0.4982 | 0.2727 | 0.0546 | 0.2036 | 0.0691 | 0.2182 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1580 |
| predicted_3B | 0.0100 |
| predicted_AB | 4.1370 |
| predicted_AVG | 0.2348 |
| predicted_BB | 0.2990 |
| predicted_H | 0.9710 |
| predicted_HBP | 0.0200 |
| predicted_HR | 0.1690 |
| predicted_OBP | 0.2861 |
| predicted_R | 0.5890 |
| predicted_RBI | 0.5910 |
| predicted_SLG | 0.3999 |
| predicted_SO | 1.0490 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.1580 | 0.1886 | model_form_blend |
| predicted_3B | 0.0140 | 0.0100 | 0.0123 | model_form_blend |
| predicted_AB | 4.3200 | 4.1370 | 4.2425 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2348 | 0.2343 | model_form_blend |
| predicted_BB | 0.2680 | 0.2990 | 0.2811 | model_form_blend |
| predicted_H | 1.0100 | 0.9710 | 0.9935 | model_form_blend |
| predicted_HBP | - | 0.0200 | 0.0200 | form_only |
| predicted_HR | 0.1600 | 0.1690 | 0.1638 | model_form_blend |
| predicted_OBP | 0.2930 | 0.2861 | 0.2901 | model_form_blend |
| predicted_R | 0.5920 | 0.5890 | 0.5907 | model_form_blend |
| predicted_RBI | 0.5700 | 0.5910 | 0.5789 | model_form_blend |
| predicted_SLG | 0.4090 | 0.3999 | 0.4051 | model_form_blend |
| predicted_SO | 0.8450 | 1.0490 | 0.9314 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.273 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.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 | 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 | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 19.9 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.357 |
| sl_xwoba | 0.346 |
| sl_xba | 0.277 |
| sl_xslg | 0.476 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 47.7 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 16.2 |
| sl_whiff_percent | 23.5 |
| 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.246 | 0.000 | 0.000 | Hitting_2B | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_3B | 0.014 | 0.000 | 0.000 | Hitting_3B | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_AB | 4.140 | 4.000 | 4.000 | Hitting_AB | 3.778 | 4.000 | 0.222 | 0.000 |
| predicted_AVG | 0.242 | 0.000 | 0.250 | Hitting_AVG | 0.271 | 0.250 | -0.271 | -0.250 |
| predicted_BB | 0.507 | 0.000 | 1.000 | Hitting_BB | 0.580 | 1.000 | -0.580 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 | 1.000 | Hitting_H | 1.025 | 1.000 | -1.025 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.140 | 1.000 | -0.140 | -1.000 |
| predicted_OBP | 0.344 | 0.000 | 0.400 | Hitting_OBP | 0.370 | 0.400 | -0.370 | -0.400 |
| predicted_R | 0.565 | 0.000 | 1.000 | Hitting_R | 0.556 | 1.000 | -0.556 | -1.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.539 | 1.000 | -0.539 | -1.000 |
| predicted_SLG | 0.439 | 0.000 | 0.250 | Hitting_SLG | 0.460 | 1.000 | -0.460 | -1.000 |
| predicted_SO | 0.739 | 0.000 | 1.000 | Hitting_SO | 0.745 | 1.000 | -0.745 | -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_SLG: 0.4390 -> 0.4497 (boost 0.0107, better) |
| 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 | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3440 -> 0.3497 (boost 0.0057, better) | predicted_AB: 4.1400 -> 3.9900 (deboost -0.1500, 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.2456 -> 0.2518 (boost 0.0062, better) | predicted_OBP: 0.3497 -> 0.3372 (deboost -0.0125, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_RBI: 0.5384 -> 1.0000 (boost 0.4616, better) | predicted_BB: 0.5138 -> 0.0000 (deboost -0.5138, worse) | AB rounded to 4 (raw=4.14), rates preserved: AVG=0.243 HR/AB=0.043 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6279 -> 1.0000 (boost 0.3721, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3372 -> 0.4000 (boost 0.0628, better) | predicted_SLG: 0.4497 -> 0.2500 (deboost -0.1997, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 0 | 5 | 1 | 4 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.4497 (boost 0.1997, better) | predicted_OBP: 0.4000 -> 0.3372 (deboost -0.0628, 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.246,
"predicted_3B": 0.014,
"predicted_AB": 4.14,
"predicted_AVG": 0.242,
"predicted_BB": 0.507,
"predicted_H": 1.0,
"predicted_HR": 0.17,
"predicted_OBP": 0.344,
"predicted_R": 0.565,
"predicted_RBI": 0.53,
"predicted_SLG": 0.439,
"predicted_SO": 0.739
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2367,
"predicted_3B": 0.0119,
"predicted_AB": 3.99,
"predicted_AVG": 0.2456,
"predicted_BB": 0.5057,
"predicted_H": 0.9784,
"predicted_HBP": 0.137,
"predicted_HR": 0.1708,
"predicted_OBP": 0.3497,
"predicted_R": 0.5993,
"predicted_RBI": 0.5139,
"predicted_SLG": 0.444,
"predicted_SO": 0.7449
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.246,
"after": 0.2367,
"delta": -0.0093,
"percent_delta": -0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0119,
"delta": -0.0021,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.14,
"after": 3.99,
"delta": -0.15,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2456,
"delta": 0.0036,
"percent_delta": 0.0149,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.507,
"after": 0.5057,
"delta": -0.0013,
"percent_delta": -0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.9784,
"delta": -0.0216,
"percent_delta": -0.0216,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1708,
"delta": 0.0008,
"percent_delta": 0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3497,
"delta": 0.0057,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.565,
"after": 0.5993,
"delta": 0.0343,
"percent_delta": 0.0607,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.5139,
"delta": -0.0161,
"percent_delta": -0.0304,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.444,
"delta": 0.005,
"percent_delta": 0.0114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 0.7449,
"delta": 0.0059,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3497,
"delta": 0.0057,
"percent_delta": 0.0166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.14,
"after": 3.99,
"delta": -0.15,
"percent_delta": -0.0362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2367,
"predicted_3B": 0.0119,
"predicted_AB": 3.99,
"predicted_AVG": 0.2518,
"predicted_BB": 0.5138,
"predicted_H": 1.0047,
"predicted_HBP": 0.137,
"predicted_HR": 0.1764,
"predicted_OBP": 0.3372,
"predicted_R": 0.6279,
"predicted_RBI": 0.5384,
"predicted_SLG": 0.4497,
"predicted_SO": 0.733
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2367,
"after": 0.2367,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.99,
"after": 3.99,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2456,
"after": 0.2518,
"delta": 0.0062,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5057,
"after": 0.5138,
"delta": 0.0081,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9784,
"after": 1.0047,
"delta": 0.0263,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.137,
"after": 0.137,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1708,
"after": 0.1764,
"delta": 0.0056,
"percent_delta": 0.0328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3497,
"after": 0.3372,
"delta": -0.0125,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5993,
"after": 0.6279,
"delta": 0.0286,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5139,
"after": 0.5384,
"delta": 0.0245,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.444,
"after": 0.4497,
"delta": 0.0057,
"percent_delta": 0.0128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7449,
"after": 0.733,
"delta": -0.0119,
"percent_delta": -0.016,
"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.2456,
"after": 0.2518,
"delta": 0.0062,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3497,
"after": 0.3372,
"delta": -0.0125,
"percent_delta": -0.0357,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.14), rates preserved: AVG=0.243 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2367,
"after": 0.0,
"delta": -0.2367,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0119,
"after": 0.0,
"delta": -0.0119,
"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_BB",
"before": 0.5138,
"after": 0.0,
"delta": -0.5138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0047,
"after": 1.0,
"delta": -0.0047,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.137,
"after": 0.0,
"delta": -0.137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1764,
"after": 0.0,
"delta": -0.1764,
"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": 0.733,
"after": 1.0,
"delta": 0.267,
"percent_delta": 0.3643,
"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_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_BB",
"before": 0.5138,
"after": 0.0,
"delta": -0.5138,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.8727,
"bvp": 0.1273
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6279,
"after": 1.0,
"delta": 0.3721,
"percent_delta": 0.5926,
"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.6279,
"after": 1.0,
"delta": 0.3721,
"percent_delta": 0.5926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2518,
"after": 0.25,
"delta": -0.0018,
"percent_delta": -0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3372,
"after": 0.4,
"delta": 0.0628,
"percent_delta": 0.1862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4497,
"after": 0.25,
"delta": -0.1997,
"percent_delta": -0.4441,
"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.3372,
"after": 0.4,
"delta": 0.0628,
"percent_delta": 0.1862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4497,
"after": 0.25,
"delta": -0.1997,
"percent_delta": -0.4441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2518,
"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.3372,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4497,
"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.2518,
"delta": 0.0018,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3372,
"delta": -0.0628,
"percent_delta": -0.1571,
"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.4497,
"delta": 0.1997,
"percent_delta": 0.7988,
"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.4497,
"delta": 0.1997,
"percent_delta": 0.7988,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3372,
"delta": -0.0628,
"percent_delta": -0.1571,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.246,
"after": 0.0,
"delta": -0.246,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.242,
"after": 0.2518,
"delta": 0.0098,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.507,
"after": 0.0,
"delta": -0.507,
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.344,
"after": 0.3372,
"delta": -0.0068,
"percent_delta": -0.0198,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.565,
"after": 0.0,
"delta": -0.565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4497,
"delta": 0.0107,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 0.0,
"delta": -0.739,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.439,
"after": 0.4497,
"delta": 0.0107,
"percent_delta": 0.0244,
"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
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.246 | - |
| predicted_3B | 0.014 | - |
| predicted_AB | 4.140 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.507 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.344 | - |
| predicted_R | 0.565 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.439 | - |
| predicted_SO | 0.739 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | -0.009 |
| predicted_3B | 0.012 | -0.002 |
| predicted_AB | 3.990 | -0.150 |
| predicted_AVG | 0.246 | 0.004 |
| predicted_BB | 0.506 | -0.001 |
| predicted_H | 0.978 | -0.022 |
| predicted_HBP | 0.137 | - |
| predicted_HR | 0.171 | 0.001 |
| predicted_OBP | 0.350 | 0.006 |
| predicted_R | 0.599 | 0.034 |
| predicted_RBI | 0.514 | -0.016 |
| predicted_SLG | 0.444 | 0.005 |
| predicted_SO | 0.745 | 0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.237 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 3.990 | 0.000 |
| predicted_AVG | 0.252 | 0.006 |
| predicted_BB | 0.514 | 0.008 |
| predicted_H | 1.005 | 0.026 |
| predicted_HBP | 0.137 | 0.000 |
| predicted_HR | 0.176 | 0.006 |
| predicted_OBP | 0.337 | -0.013 |
| predicted_R | 0.628 | 0.029 |
| predicted_RBI | 0.538 | 0.024 |
| predicted_SLG | 0.450 | 0.006 |
| predicted_SO | 0.733 | -0.012 |
AB rounded to 4 (raw=4.14), rates preserved: AVG=0.243 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.214)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 1.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.237 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 4.000 | 0.010 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 1.000 | 0.486 |
| predicted_H | 1.000 | -0.005 |
| predicted_HR | 0.000 | -0.176 |
| predicted_OBP | 0.400 | 0.063 |
| predicted_R | 1.000 | 0.372 |
| predicted_RBI | 1.000 | 0.462 |
| predicted_SLG | 0.250 | -0.200 |
| predicted_SO | 1.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 | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 1.000 | 0.000 | 1.000 | 2.000 | 4.000 | 3.000 | 4.000 | 0.1579 | 0.3333 | 0.3684 | 0.1579 | 0.0526 | 0.1053 | 0.1579 | 0.2105 |
| last_10 | 0.20 | 10 | - | 37.000 | 10.000 | 2.000 | 0.000 | 2.000 | 4.000 | 8.000 | 5.000 | 7.000 | 0.2703 | 0.3864 | 0.4865 | 0.2703 | 0.0541 | 0.1081 | 0.1351 | 0.1892 |
| season | 0.60 | 69 | - | 262.000 | 72.000 | 17.000 | 1.000 | 11.000 | 38.000 | 39.000 | 35.000 | 51.000 | 0.2748 | 0.3630 | 0.4733 | 0.2748 | 0.0420 | 0.1450 | 0.1336 | 0.1947 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2240 |
| predicted_3B | 0.0090 |
| predicted_AB | 3.7860 |
| predicted_AVG | 0.2505 |
| predicted_BB | 0.5040 |
| predicted_H | 0.9490 |
| predicted_HBP | 0.1370 |
| predicted_HR | 0.1720 |
| predicted_OBP | 0.3574 |
| predicted_R | 0.6460 |
| predicted_RBI | 0.4920 |
| predicted_SLG | 0.4509 |
| predicted_SO | 0.7530 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2460 | 0.2240 | 0.2367 | model_form_blend |
| predicted_3B | 0.0140 | 0.0090 | 0.0119 | model_form_blend |
| predicted_AB | 4.1400 | 3.7860 | 3.9900 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2505 | 0.2456 | model_form_blend |
| predicted_BB | 0.5070 | 0.5040 | 0.5057 | model_form_blend |
| predicted_H | 1.0000 | 0.9490 | 0.9784 | model_form_blend |
| predicted_HBP | - | 0.1370 | 0.1370 | form_only |
| predicted_HR | 0.1700 | 0.1720 | 0.1708 | model_form_blend |
| predicted_OBP | 0.3440 | 0.3574 | 0.3497 | model_form_blend |
| predicted_R | 0.5650 | 0.6460 | 0.5993 | model_form_blend |
| predicted_RBI | 0.5300 | 0.4920 | 0.5139 | model_form_blend |
| predicted_SLG | 0.4390 | 0.4509 | 0.4440 | model_form_blend |
| predicted_SO | 0.7390 | 0.7530 | 0.7449 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 243 |
| Season rows before report date | 243 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.275 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 1 |
| Hitting_RBI | 1 |
| 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 | 1B |
| gameID | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.362 |
| sl_xwoba | 0.373 |
| sl_xba | 0.279 |
| sl_xslg | 0.489 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 45.5 |
| sl_exit_velocity_avg | 90.8 |
| sl_launch_angle_avg | 11.9 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 49.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 0.000 | 0.000 | Hitting_2B | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 4.100 | 3.000 | 4.000 | Hitting_AB | 3.796 | 2.000 | -0.796 | 1.000 |
| predicted_AVG | 0.267 | 0.000 | 0.250 | Hitting_AVG | 0.284 | 0.000 | -0.284 | 0.000 |
| predicted_BB | 0.785 | 1.000 | 1.000 | Hitting_BB | 0.776 | 2.000 | 0.224 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_H | 1.090 | 0.000 | 1.000 | Hitting_H | 1.078 | 0.000 | -1.078 | 0.000 |
| predicted_HR | 0.280 | 0.000 | 0.000 | Hitting_HR | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_OBP | 0.414 | 0.250 | 0.400 | Hitting_OBP | 0.412 | 0.500 | -0.162 | -0.250 |
| predicted_R | 0.769 | 0.000 | 1.000 | Hitting_R | 0.725 | 0.000 | -0.725 | 0.000 |
| predicted_RBI | 0.780 | 0.000 | 1.000 | Hitting_RBI | 0.635 | 0.000 | -0.635 | 0.000 |
| predicted_SLG | 0.563 | 0.000 | 0.250 | Hitting_SLG | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SO | 1.062 | 0.000 | 1.000 | Hitting_SO | 1.047 | 2.000 | -1.047 | -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 | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.7850 -> 1.0000 (boost 0.2150, better) |
| Biggest Deboost | predicted_AB: 4.1000 -> 3.0000 (deboost -1.1000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_BB: 0.7850 -> 0.8732 (boost 0.0882, better) | predicted_AB: 4.1000 -> 3.9249 (deboost -0.1751, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2867 -> 0.2925 (boost 0.0058, better) | predicted_OBP: 0.4320 -> 0.4229 (deboost -0.0091, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.8305 -> 1.0000 (boost 0.1695, better) | predicted_HR: 0.3084 -> 0.0000 (deboost -0.3084, worse) | AB rounded to 4 (raw=4.10), rates preserved: AVG=0.280 HR/AB=0.075 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8719 -> 1.0000 (boost 0.1281, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.6024 -> 0.2500 (deboost -0.3524, 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: 4.0000 -> 3.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.6024 (boost 0.3524, better) | - | 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.231,
"predicted_3B": 0.031,
"predicted_AB": 4.1,
"predicted_AVG": 0.267,
"predicted_BB": 0.785,
"predicted_H": 1.09,
"predicted_HR": 0.28,
"predicted_OBP": 0.414,
"predicted_R": 0.769,
"predicted_RBI": 0.78,
"predicted_SLG": 0.563,
"predicted_SO": 1.062
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2246,
"predicted_3B": 0.0331,
"predicted_AB": 3.9249,
"predicted_AVG": 0.2867,
"predicted_BB": 0.8732,
"predicted_H": 1.118,
"predicted_HBP": 0.044,
"predicted_HR": 0.2987,
"predicted_OBP": 0.432,
"predicted_R": 0.8322,
"predicted_RBI": 0.7927,
"predicted_SLG": 0.6019,
"predicted_SO": 1.0539
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.2246,
"delta": -0.0064,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0331,
"delta": 0.0021,
"percent_delta": 0.0677,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9249,
"delta": -0.1751,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2867,
"delta": 0.0197,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.785,
"after": 0.8732,
"delta": 0.0882,
"percent_delta": 0.1124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.09,
"after": 1.118,
"delta": 0.028,
"percent_delta": 0.0257,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.28,
"after": 0.2987,
"delta": 0.0187,
"percent_delta": 0.0668,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.414,
"after": 0.432,
"delta": 0.018,
"percent_delta": 0.0435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.769,
"after": 0.8322,
"delta": 0.0632,
"percent_delta": 0.0822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.78,
"after": 0.7927,
"delta": 0.0127,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.563,
"after": 0.6019,
"delta": 0.0389,
"percent_delta": 0.0691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 1.0539,
"delta": -0.0081,
"percent_delta": -0.0076,
"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_BB",
"before": 0.785,
"after": 0.8732,
"delta": 0.0882,
"percent_delta": 0.1124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.9249,
"delta": -0.1751,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2246,
"predicted_3B": 0.0331,
"predicted_AB": 3.9249,
"predicted_AVG": 0.2925,
"predicted_BB": 0.8872,
"predicted_H": 1.1481,
"predicted_HBP": 0.044,
"predicted_HR": 0.3084,
"predicted_OBP": 0.4229,
"predicted_R": 0.8719,
"predicted_RBI": 0.8305,
"predicted_SLG": 0.6024,
"predicted_SO": 1.037
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2246,
"after": 0.2246,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0331,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9249,
"after": 3.9249,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2867,
"after": 0.2925,
"delta": 0.0058,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8732,
"after": 0.8872,
"delta": 0.014,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.118,
"after": 1.1481,
"delta": 0.0301,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.044,
"after": 0.044,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2987,
"after": 0.3084,
"delta": 0.0097,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.432,
"after": 0.4229,
"delta": -0.0091,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8322,
"after": 0.8719,
"delta": 0.0397,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7927,
"after": 0.8305,
"delta": 0.0378,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.6019,
"after": 0.6024,
"delta": 0.0005,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0539,
"after": 1.037,
"delta": -0.0169,
"percent_delta": -0.016,
"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.2867,
"after": 0.2925,
"delta": 0.0058,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.432,
"after": 0.4229,
"delta": -0.0091,
"percent_delta": -0.0211,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.10), rates preserved: AVG=0.280 HR/AB=0.075",
"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.2246,
"after": 0.0,
"delta": -0.2246,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0331,
"after": 0.0,
"delta": -0.0331,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9249,
"after": 4.0,
"delta": 0.0751,
"percent_delta": 0.0191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8872,
"after": 1.0,
"delta": 0.1128,
"percent_delta": 0.1271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1481,
"after": 1.0,
"delta": -0.1481,
"percent_delta": -0.129,
"direction": "deboost",
"projection_effect": "worse",
"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.3084,
"after": 0.0,
"delta": -0.3084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8305,
"after": 1.0,
"delta": 0.1695,
"percent_delta": 0.2041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.037,
"after": 1.0,
"delta": -0.037,
"percent_delta": -0.0357,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.8305,
"after": 1.0,
"delta": 0.1695,
"percent_delta": 0.2041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3084,
"after": 0.0,
"delta": -0.3084,
"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.100)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.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": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8719,
"after": 1.0,
"delta": 0.1281,
"percent_delta": 0.1469,
"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.8719,
"after": 1.0,
"delta": 0.1281,
"percent_delta": 0.1469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2925,
"after": 0.25,
"delta": -0.0425,
"percent_delta": -0.1453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4229,
"after": 0.4,
"delta": -0.0229,
"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.6024,
"after": 0.25,
"delta": -0.3524,
"percent_delta": -0.585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.6024,
"after": 0.25,
"delta": -0.3524,
"percent_delta": -0.585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2925,
"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.4229,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6024,
"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.2925,
"delta": 0.0425,
"percent_delta": 0.17,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.4229,
"delta": 0.0229,
"percent_delta": 0.0574,
"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.6024,
"delta": 0.3524,
"percent_delta": 1.4094,
"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.6024,
"delta": 0.3524,
"percent_delta": 1.4094,
"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.231,
"after": 0.0,
"delta": -0.231,
"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.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2925,
"delta": 0.0255,
"percent_delta": 0.0955,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.785,
"after": 1.0,
"delta": 0.215,
"percent_delta": 0.2739,
"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.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.414,
"after": 0.4229,
"delta": 0.0089,
"percent_delta": 0.0215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.769,
"after": 0.0,
"delta": -0.769,
"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.563,
"after": 0.6024,
"delta": 0.0394,
"percent_delta": 0.07,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.062,
"after": 0.0,
"delta": -1.062,
"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.785,
"after": 1.0,
"delta": 0.215,
"percent_delta": 0.2739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.1,
"after": 3.0,
"delta": -1.1,
"percent_delta": -0.2683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.031 | - |
| predicted_AB | 4.100 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.785 | - |
| predicted_H | 1.090 | - |
| predicted_HR | 0.280 | - |
| predicted_OBP | 0.414 | - |
| predicted_R | 0.769 | - |
| predicted_RBI | 0.780 | - |
| predicted_SLG | 0.563 | - |
| predicted_SO | 1.062 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | -0.006 |
| predicted_3B | 0.033 | 0.002 |
| predicted_AB | 3.925 | -0.175 |
| predicted_AVG | 0.287 | 0.020 |
| predicted_BB | 0.873 | 0.088 |
| predicted_H | 1.118 | 0.028 |
| predicted_HBP | 0.044 | - |
| predicted_HR | 0.299 | 0.019 |
| predicted_OBP | 0.432 | 0.018 |
| predicted_R | 0.832 | 0.063 |
| predicted_RBI | 0.793 | 0.013 |
| predicted_SLG | 0.602 | 0.039 |
| predicted_SO | 1.054 | -0.008 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | 0.000 |
| predicted_3B | 0.033 | 0.000 |
| predicted_AB | 3.925 | 0.000 |
| predicted_AVG | 0.292 | 0.006 |
| predicted_BB | 0.887 | 0.014 |
| predicted_H | 1.148 | 0.030 |
| predicted_HBP | 0.044 | 0.000 |
| predicted_HR | 0.308 | 0.010 |
| predicted_OBP | 0.423 | -0.009 |
| predicted_R | 0.872 | 0.040 |
| predicted_RBI | 0.831 | 0.038 |
| predicted_SLG | 0.602 | 0.001 |
| predicted_SO | 1.037 | -0.017 |
AB rounded to 4 (raw=4.10), rates preserved: AVG=0.280 HR/AB=0.075
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.225 |
| predicted_3B | 0.000 | -0.033 |
| predicted_AB | 4.000 | 0.075 |
| predicted_AVG | 0.250 | -0.042 |
| predicted_BB | 1.000 | 0.113 |
| predicted_H | 1.000 | -0.148 |
| predicted_HR | 0.000 | -0.308 |
| predicted_OBP | 0.400 | -0.023 |
| predicted_R | 1.000 | 0.128 |
| predicted_RBI | 1.000 | 0.169 |
| predicted_SLG | 0.250 | -0.352 |
| predicted_SO | 1.000 | -0.037 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 5.000 | 1.000 | 0.000 | 3.000 | 6.000 | 6.000 | 8.000 | 5.000 | 0.3125 | 0.5417 | 0.9375 | 0.3125 | 0.1875 | 0.3750 | 0.5000 | 0.3125 |
| last_10 | 0.20 | 10 | - | 37.000 | 14.000 | 2.000 | 1.000 | 4.000 | 10.000 | 12.000 | 12.000 | 11.000 | 0.3784 | 0.5306 | 0.8108 | 0.3784 | 0.1081 | 0.2703 | 0.3243 | 0.2973 |
| season | 0.60 | 65 | - | 248.000 | 75.000 | 15.000 | 2.000 | 14.000 | 41.000 | 50.000 | 51.000 | 69.000 | 0.3024 | 0.4267 | 0.5484 | 0.3024 | 0.0565 | 0.1653 | 0.2056 | 0.2782 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2160 |
| predicted_3B | 0.0360 |
| predicted_AB | 3.6870 |
| predicted_AVG | 0.3135 |
| predicted_BB | 0.9930 |
| predicted_H | 1.1560 |
| predicted_HBP | 0.0440 |
| predicted_HR | 0.3240 |
| predicted_OBP | 0.4565 |
| predicted_R | 0.9180 |
| predicted_RBI | 0.8100 |
| predicted_SLG | 0.6547 |
| predicted_SO | 1.0430 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.2160 | 0.2246 | model_form_blend |
| predicted_3B | 0.0310 | 0.0360 | 0.0331 | model_form_blend |
| predicted_AB | 4.1000 | 3.6870 | 3.9249 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3135 | 0.2867 | model_form_blend |
| predicted_BB | 0.7850 | 0.9930 | 0.8732 | model_form_blend |
| predicted_H | 1.0900 | 1.1560 | 1.1180 | model_form_blend |
| predicted_HBP | - | 0.0440 | 0.0440 | form_only |
| predicted_HR | 0.2800 | 0.3240 | 0.2987 | model_form_blend |
| predicted_OBP | 0.4140 | 0.4565 | 0.4320 | model_form_blend |
| predicted_R | 0.7690 | 0.9180 | 0.8322 | model_form_blend |
| predicted_RBI | 0.7800 | 0.8100 | 0.7927 | model_form_blend |
| predicted_SLG | 0.5630 | 0.6547 | 0.6019 | model_form_blend |
| predicted_SO | 1.0620 | 1.0430 | 1.0539 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 255 |
| Season rows before report date | 255 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.302 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 22.0 |
| sl_bb_percent | 16.1 |
| sl_woba | 0.418 |
| sl_xwoba | 0.427 |
| sl_xba | 0.303 |
| sl_xslg | 0.575 |
| sl_sweet_spot_percent | 42.9 |
| sl_barrel_batted_rate | 17.1 |
| sl_hard_hit_percent | 53.8 |
| sl_exit_velocity_avg | 93.8 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 28.0 |
| 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.138 | 1.000 | 0.000 | Hitting_2B | 0.111 | 0.000 | 0.889 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.430 | 4.000 | 3.000 | Hitting_AB | 3.510 | 3.000 | 0.490 | 1.000 |
| predicted_AVG | 0.265 | 0.500 | 0.333 | Hitting_AVG | 0.266 | 0.000 | 0.234 | 0.500 |
| predicted_BB | 0.492 | 0.000 | 1.000 | Hitting_BB | 0.534 | 1.000 | -0.534 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 2.000 | 1.000 | Hitting_H | 0.933 | 0.000 | 1.067 | 2.000 |
| predicted_HR | 0.220 | 1.000 | 0.000 | Hitting_HR | 0.269 | 0.000 | 0.731 | 1.000 |
| predicted_OBP | 0.383 | 0.500 | 0.500 | Hitting_OBP | 0.367 | 0.250 | 0.133 | 0.250 |
| predicted_R | 0.708 | 1.000 | 1.000 | Hitting_R | 0.793 | 0.000 | 0.207 | 1.000 |
| predicted_RBI | 0.580 | 2.000 | 1.000 | Hitting_RBI | 0.428 | 0.000 | 1.572 | 2.000 |
| predicted_SLG | 0.518 | 1.500 | 0.333 | Hitting_SLG | 0.527 | 0.000 | 0.973 | 1.500 |
| predicted_SO | 0.923 | 0.000 | 1.000 | Hitting_SO | 1.053 | 1.000 | -1.053 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 2 |
| Better Metrics | 9 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_RBI: 0.5800 -> 2.0000 (boost 1.4200, better) |
| Biggest Deboost | predicted_SO: 0.9230 -> 0.0000 (deboost -0.9230, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 3 | 2 | 4 | 1 | predicted_SLG: 0.5180 -> 0.5427 (boost 0.0247, better) | predicted_AB: 3.4300 -> 3.3538 (deboost -0.0762, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2738 -> 0.2811 (boost 0.0073, better) | predicted_OBP: 0.3956 -> 0.3816 (deboost -0.0140, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.6099 -> 1.0000 (boost 0.3901, better) | predicted_BB: 0.5450 -> 0.0000 (deboost -0.5450, worse) | AB rounded to 3 (raw=3.43), rates preserved: AVG=0.275 HR/AB=0.071 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7339 -> 1.0000 (boost 0.2661, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3816 -> 0.5000 (boost 0.1184, better) | predicted_SLG: 0.5441 -> 0.3330 (deboost -0.2111, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 5 | 2 | 6 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.5441 (boost 0.2111, better) | predicted_OBP: 0.5000 -> 0.3816 (deboost -0.1184, 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.138,
"predicted_3B": 0.0,
"predicted_AB": 3.43,
"predicted_AVG": 0.265,
"predicted_BB": 0.492,
"predicted_H": 0.91,
"predicted_HR": 0.22,
"predicted_OBP": 0.383,
"predicted_R": 0.708,
"predicted_RBI": 0.58,
"predicted_SLG": 0.518,
"predicted_SO": 0.923
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1506,
"predicted_3B": 0.0004,
"predicted_AB": 3.3538,
"predicted_AVG": 0.2738,
"predicted_BB": 0.5364,
"predicted_H": 0.918,
"predicted_HBP": 0.145,
"predicted_HR": 0.2359,
"predicted_OBP": 0.3956,
"predicted_R": 0.7005,
"predicted_RBI": 0.5821,
"predicted_SLG": 0.5427,
"predicted_SO": 0.8614
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.138,
"after": 0.1506,
"delta": 0.0126,
"percent_delta": 0.0913,
"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.43,
"after": 3.3538,
"delta": -0.0762,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2738,
"delta": 0.0088,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.492,
"after": 0.5364,
"delta": 0.0444,
"percent_delta": 0.0902,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.918,
"delta": 0.008,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.2359,
"delta": 0.0159,
"percent_delta": 0.0723,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.383,
"after": 0.3956,
"delta": 0.0126,
"percent_delta": 0.0329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.708,
"after": 0.7005,
"delta": -0.0075,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 0.5821,
"delta": 0.0021,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.5427,
"delta": 0.0247,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.923,
"after": 0.8614,
"delta": -0.0616,
"percent_delta": -0.0667,
"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_SLG",
"before": 0.518,
"after": 0.5427,
"delta": 0.0247,
"percent_delta": 0.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.43,
"after": 3.3538,
"delta": -0.0762,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 65
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1506,
"predicted_3B": 0.0004,
"predicted_AB": 3.3538,
"predicted_AVG": 0.2811,
"predicted_BB": 0.545,
"predicted_H": 0.9427,
"predicted_HBP": 0.145,
"predicted_HR": 0.2436,
"predicted_OBP": 0.3816,
"predicted_R": 0.7339,
"predicted_RBI": 0.6099,
"predicted_SLG": 0.5441,
"predicted_SO": 0.8476
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1506,
"after": 0.1506,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3538,
"after": 3.3538,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2738,
"after": 0.2811,
"delta": 0.0073,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5364,
"after": 0.545,
"delta": 0.0086,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.918,
"after": 0.9427,
"delta": 0.0247,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.145,
"after": 0.145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2359,
"after": 0.2436,
"delta": 0.0077,
"percent_delta": 0.0326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3956,
"after": 0.3816,
"delta": -0.014,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7005,
"after": 0.7339,
"delta": 0.0334,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5821,
"after": 0.6099,
"delta": 0.0278,
"percent_delta": 0.0478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5427,
"after": 0.5441,
"delta": 0.0014,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8614,
"after": 0.8476,
"delta": -0.0138,
"percent_delta": -0.016,
"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.2738,
"after": 0.2811,
"delta": 0.0073,
"percent_delta": 0.0267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3956,
"after": 0.3816,
"delta": -0.014,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.43), rates preserved: AVG=0.275 HR/AB=0.071",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1506,
"after": 0.0,
"delta": -0.1506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.3538,
"after": 3.0,
"delta": -0.3538,
"percent_delta": -0.1055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.545,
"after": 0.0,
"delta": -0.545,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9427,
"after": 1.0,
"delta": 0.0573,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2436,
"after": 0.0,
"delta": -0.2436,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6099,
"after": 1.0,
"delta": 0.3901,
"percent_delta": 0.6396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8476,
"after": 1.0,
"delta": 0.1524,
"percent_delta": 0.1798,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6099,
"after": 1.0,
"delta": 0.3901,
"percent_delta": 0.6396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.545,
"after": 0.0,
"delta": -0.545,
"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": 3.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": 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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.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": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7339,
"after": 1.0,
"delta": 0.2661,
"percent_delta": 0.3626,
"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.7339,
"after": 1.0,
"delta": 0.2661,
"percent_delta": 0.3626,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"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": 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.2811,
"after": 0.333,
"delta": 0.0519,
"percent_delta": 0.1846,
"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.3816,
"after": 0.5,
"delta": 0.1184,
"percent_delta": 0.3103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5441,
"after": 0.333,
"delta": -0.2111,
"percent_delta": -0.388,
"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.3816,
"after": 0.5,
"delta": 0.1184,
"percent_delta": 0.3103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5441,
"after": 0.333,
"delta": -0.2111,
"percent_delta": -0.388,
"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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 6,
"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_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2811,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3816,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5441,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2811,
"delta": -0.0519,
"percent_delta": -0.1559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.5,
"after": 0.3816,
"delta": -0.1184,
"percent_delta": -0.2369,
"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.5441,
"delta": 0.2111,
"percent_delta": 0.634,
"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.5441,
"delta": 0.2111,
"percent_delta": 0.634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.3816,
"delta": -0.1184,
"percent_delta": -0.2369,
"direction": "deboost",
"projection_effect": "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": 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.43,
"after": 4.0,
"delta": 0.57,
"percent_delta": 0.1662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2811,
"delta": 0.0161,
"percent_delta": 0.0608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.492,
"after": 0.0,
"delta": -0.492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.383,
"after": 0.3816,
"delta": -0.0014,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.708,
"after": 1.0,
"delta": 0.292,
"percent_delta": 0.4124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 2.0,
"delta": 1.42,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.518,
"after": 0.5441,
"delta": 0.0261,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.923,
"after": 0.0,
"delta": -0.923,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 9,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.58,
"after": 2.0,
"delta": 1.42,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.923,
"after": 0.0,
"delta": -0.923,
"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.430 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.492 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.383 | - |
| predicted_R | 0.708 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.518 | - |
| predicted_SO | 0.923 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | 0.013 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.354 | -0.076 |
| predicted_AVG | 0.274 | 0.009 |
| predicted_BB | 0.536 | 0.044 |
| predicted_H | 0.918 | 0.008 |
| predicted_HBP | 0.145 | - |
| predicted_HR | 0.236 | 0.016 |
| predicted_OBP | 0.396 | 0.013 |
| predicted_R | 0.701 | -0.007 |
| predicted_RBI | 0.582 | 0.002 |
| predicted_SLG | 0.543 | 0.025 |
| predicted_SO | 0.861 | -0.062 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.151 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.354 | 0.000 |
| predicted_AVG | 0.281 | 0.007 |
| predicted_BB | 0.545 | 0.009 |
| predicted_H | 0.943 | 0.025 |
| predicted_HBP | 0.145 | 0.000 |
| predicted_HR | 0.244 | 0.008 |
| predicted_OBP | 0.382 | -0.014 |
| predicted_R | 0.734 | 0.033 |
| predicted_RBI | 0.610 | 0.028 |
| predicted_SLG | 0.544 | 0.001 |
| predicted_SO | 0.848 | -0.014 |
AB rounded to 3 (raw=3.43), rates preserved: AVG=0.275 HR/AB=0.071
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
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 | 3.000 | 0.000 |
| BB | 1.000 | 1.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 | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.151 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | -0.354 |
| predicted_AVG | 0.333 | 0.052 |
| predicted_BB | 1.000 | 0.455 |
| predicted_H | 1.000 | 0.057 |
| predicted_HR | 0.000 | -0.244 |
| predicted_OBP | 0.500 | 0.118 |
| predicted_R | 1.000 | 0.266 |
| predicted_RBI | 1.000 | 0.390 |
| predicted_SLG | 0.333 | -0.211 |
| predicted_SO | 1.000 | 0.152 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.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 | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 1.000 | 0.000 | 2.000 | 5.000 | 4.000 | 5.000 | 3.000 | 0.2667 | 0.5000 | 0.7333 | 0.2667 | 0.1333 | 0.3333 | 0.3333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 29.000 | 11.000 | 2.000 | 0.000 | 2.000 | 6.000 | 6.000 | 6.000 | 5.000 | 0.3793 | 0.5135 | 0.6552 | 0.3793 | 0.0690 | 0.2069 | 0.2069 | 0.1724 |
| season | 0.60 | 65 | - | 216.000 | 58.000 | 9.000 | 0.000 | 16.000 | 28.000 | 46.000 | 32.000 | 60.000 | 0.2685 | 0.3705 | 0.5324 | 0.2685 | 0.0741 | 0.1296 | 0.1482 | 0.2778 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1680 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2480 |
| predicted_AVG | 0.2861 |
| predicted_BB | 0.5980 |
| predicted_H | 0.9290 |
| predicted_HBP | 0.1450 |
| predicted_HR | 0.2580 |
| predicted_OBP | 0.4131 |
| predicted_R | 0.6900 |
| predicted_RBI | 0.5850 |
| predicted_SLG | 0.5771 |
| predicted_SO | 0.7760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1380 | 0.1680 | 0.1506 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.4300 | 3.2480 | 3.3538 | model_form_blend |
| predicted_AVG | 0.2650 | 0.2861 | 0.2738 | model_form_blend |
| predicted_BB | 0.4920 | 0.5980 | 0.5364 | model_form_blend |
| predicted_H | 0.9100 | 0.9290 | 0.9180 | model_form_blend |
| predicted_HBP | - | 0.1450 | 0.1450 | form_only |
| predicted_HR | 0.2200 | 0.2580 | 0.2359 | model_form_blend |
| predicted_OBP | 0.3830 | 0.4131 | 0.3956 | model_form_blend |
| predicted_R | 0.7080 | 0.6900 | 0.7005 | model_form_blend |
| predicted_RBI | 0.5800 | 0.5850 | 0.5821 | model_form_blend |
| predicted_SLG | 0.5180 | 0.5771 | 0.5427 | model_form_blend |
| predicted_SO | 0.9230 | 0.7760 | 0.8614 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 208 |
| Season rows before report date | 208 |
| Report year | 2026 |
| Profile rows used | 65 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 571970 |
| playerID | 571970 |
| playerName | Max Muncy |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.395 |
| sl_xwoba | 0.396 |
| sl_xba | 0.274 |
| sl_xslg | 0.55 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 16.9 |
| sl_hard_hit_percent | 48.1 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 27.6 |
| 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.235 | 0.000 | 0.000 | Hitting_2B | 0.264 | 0.000 | -0.264 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_AB | 3.740 | 3.000 | 4.000 | Hitting_AB | 3.847 | 4.000 | -0.847 | -1.000 |
| predicted_AVG | 0.241 | 0.000 | 0.250 | Hitting_AVG | 0.251 | 0.250 | -0.251 | -0.250 |
| predicted_BB | 0.544 | 1.000 | 1.000 | Hitting_BB | 0.554 | 0.000 | 0.446 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.900 | 0.000 | 1.000 | Hitting_H | 0.967 | 1.000 | -0.967 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.330 | 0.250 | 0.400 | Hitting_OBP | 0.345 | 0.250 | -0.095 | 0.000 |
| predicted_R | 0.618 | 0.000 | 1.000 | Hitting_R | 0.731 | 0.000 | -0.731 | 0.000 |
| predicted_RBI | 0.600 | 0.000 | 1.000 | Hitting_RBI | 0.533 | 0.000 | -0.533 | 0.000 |
| predicted_SLG | 0.372 | 0.000 | 0.250 | Hitting_SLG | 0.412 | 0.250 | -0.412 | -0.250 |
| predicted_SO | 0.882 | 0.000 | 1.000 | Hitting_SO | 0.839 | 1.000 | -0.839 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.5440 -> 1.0000 (boost 0.4560, better) |
| Biggest Deboost | predicted_H: 0.9000 -> 0.0000 (deboost -0.9000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 0.8820 -> 0.9746 (boost 0.0926, worse) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3674 -> 0.3870 (boost 0.0196, 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 | 4 | 3 | predicted_BB: 0.5286 -> 1.0000 (boost 0.4714, better) | predicted_2B: 0.2206 -> 0.0000 (deboost -0.2206, worse) | AB rounded to 4 (raw=3.74), rates preserved: AVG=0.248 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6160 -> 1.0000 (boost 0.3840, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3407 -> 0.4000 (boost 0.0593, better) | predicted_SLG: 0.3870 -> 0.2500 (deboost -0.1370, 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: 4.0000 -> 3.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.3870 (boost 0.1370, better) | predicted_OBP: 0.4000 -> 0.3407 (deboost -0.0593, 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.235,
"predicted_3B": 0.029,
"predicted_AB": 3.74,
"predicted_AVG": 0.241,
"predicted_BB": 0.544,
"predicted_H": 0.9,
"predicted_HR": 0.09,
"predicted_OBP": 0.33,
"predicted_R": 0.618,
"predicted_RBI": 0.6,
"predicted_SLG": 0.372,
"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.2206,
"predicted_3B": 0.0243,
"predicted_AB": 3.743,
"predicted_AVG": 0.2414,
"predicted_BB": 0.5203,
"predicted_H": 0.9025,
"predicted_HBP": 0.073,
"predicted_HR": 0.0815,
"predicted_OBP": 0.3332,
"predicted_R": 0.588,
"predicted_RBI": 0.633,
"predicted_SLG": 0.3674,
"predicted_SO": 0.9746
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.2206,
"delta": -0.0144,
"percent_delta": -0.0613,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0243,
"delta": -0.0047,
"percent_delta": -0.1621,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.74,
"after": 3.743,
"delta": 0.003,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2414,
"delta": 0.0004,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.544,
"after": 0.5203,
"delta": -0.0237,
"percent_delta": -0.0436,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9,
"after": 0.9025,
"delta": 0.0025,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.0815,
"delta": -0.0085,
"percent_delta": -0.0944,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3332,
"delta": 0.0032,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.618,
"after": 0.588,
"delta": -0.03,
"percent_delta": -0.0485,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.633,
"delta": 0.033,
"percent_delta": 0.055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.372,
"after": 0.3674,
"delta": -0.0046,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 0.9746,
"delta": 0.0926,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.882,
"after": 0.9746,
"delta": 0.0926,
"percent_delta": 0.105,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 68
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2206,
"predicted_3B": 0.0243,
"predicted_AB": 3.743,
"predicted_AVG": 0.2476,
"predicted_BB": 0.5286,
"predicted_H": 0.9268,
"predicted_HBP": 0.073,
"predicted_HR": 0.0842,
"predicted_OBP": 0.3407,
"predicted_R": 0.616,
"predicted_RBI": 0.6632,
"predicted_SLG": 0.387,
"predicted_SO": 0.959
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2206,
"after": 0.2206,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0243,
"after": 0.0243,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.743,
"after": 3.743,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2414,
"after": 0.2476,
"delta": 0.0062,
"percent_delta": 0.0257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5203,
"after": 0.5286,
"delta": 0.0083,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9025,
"after": 0.9268,
"delta": 0.0243,
"percent_delta": 0.0269,
"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.0815,
"after": 0.0842,
"delta": 0.0027,
"percent_delta": 0.0331,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3332,
"after": 0.3407,
"delta": 0.0075,
"percent_delta": 0.0225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.588,
"after": 0.616,
"delta": 0.028,
"percent_delta": 0.0476,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.633,
"after": 0.6632,
"delta": 0.0302,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3674,
"after": 0.387,
"delta": 0.0196,
"percent_delta": 0.0533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9746,
"after": 0.959,
"delta": -0.0156,
"percent_delta": -0.016,
"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.3674,
"after": 0.387,
"delta": 0.0196,
"percent_delta": 0.0533,
"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.74), rates preserved: AVG=0.248 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.2206,
"after": 0.0,
"delta": -0.2206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0243,
"after": 0.0,
"delta": -0.0243,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.743,
"after": 4.0,
"delta": 0.257,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5286,
"after": 1.0,
"delta": 0.4714,
"percent_delta": 0.8918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9268,
"after": 1.0,
"delta": 0.0732,
"percent_delta": 0.079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.073,
"after": 0.0,
"delta": -0.073,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0842,
"after": 0.0,
"delta": -0.0842,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6632,
"after": 1.0,
"delta": 0.3368,
"percent_delta": 0.5078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.959,
"after": 1.0,
"delta": 0.041,
"percent_delta": 0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5286,
"after": 1.0,
"delta": 0.4714,
"percent_delta": 0.8918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2206,
"after": 0.0,
"delta": -0.2206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.616,
"after": 1.0,
"delta": 0.384,
"percent_delta": 0.6234,
"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.616,
"after": 1.0,
"delta": 0.384,
"percent_delta": 0.6234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2476,
"after": 0.25,
"delta": 0.0024,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3407,
"after": 0.4,
"delta": 0.0593,
"percent_delta": 0.1741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.25,
"delta": -0.137,
"percent_delta": -0.354,
"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.3407,
"after": 0.4,
"delta": 0.0593,
"percent_delta": 0.1741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.25,
"delta": -0.137,
"percent_delta": -0.354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 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.2476,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3407,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.387,
"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.2476,
"delta": -0.0024,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3407,
"delta": -0.0593,
"percent_delta": -0.1482,
"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.387,
"delta": 0.137,
"percent_delta": 0.5479,
"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.387,
"delta": 0.137,
"percent_delta": 0.5479,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3407,
"delta": -0.0593,
"percent_delta": -0.1482,
"direction": "deboost",
"projection_effect": "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.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.74,
"after": 3.0,
"delta": -0.74,
"percent_delta": -0.1979,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2476,
"delta": 0.0066,
"percent_delta": 0.0274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.544,
"after": 1.0,
"delta": 0.456,
"percent_delta": 0.8382,
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3407,
"delta": 0.0107,
"percent_delta": 0.0324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.618,
"after": 0.0,
"delta": -0.618,
"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.372,
"after": 0.387,
"delta": 0.015,
"percent_delta": 0.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.882,
"after": 0.0,
"delta": -0.882,
"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.544,
"after": 1.0,
"delta": 0.456,
"percent_delta": 0.8382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.9,
"after": 0.0,
"delta": -0.9,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.740 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.544 | - |
| predicted_H | 0.900 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.618 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.372 | - |
| 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.221 | -0.014 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.743 | 0.003 |
| predicted_AVG | 0.241 | 0.000 |
| predicted_BB | 0.520 | -0.024 |
| predicted_H | 0.902 | 0.002 |
| predicted_HBP | 0.073 | - |
| predicted_HR | 0.082 | -0.008 |
| predicted_OBP | 0.333 | 0.003 |
| predicted_R | 0.588 | -0.030 |
| predicted_RBI | 0.633 | 0.033 |
| predicted_SLG | 0.367 | -0.005 |
| predicted_SO | 0.975 | 0.093 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.221 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.743 | 0.000 |
| predicted_AVG | 0.248 | 0.006 |
| predicted_BB | 0.529 | 0.008 |
| predicted_H | 0.927 | 0.024 |
| predicted_HBP | 0.073 | 0.000 |
| predicted_HR | 0.084 | 0.003 |
| predicted_OBP | 0.341 | 0.008 |
| predicted_R | 0.616 | 0.028 |
| predicted_RBI | 0.663 | 0.030 |
| predicted_SLG | 0.387 | 0.020 |
| predicted_SO | 0.959 | -0.016 |
AB rounded to 4 (raw=3.74), rates preserved: AVG=0.248 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 | 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.221 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 4.000 | 0.257 |
| predicted_AVG | 0.250 | 0.002 |
| predicted_BB | 1.000 | 0.471 |
| predicted_H | 1.000 | 0.073 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.400 | 0.059 |
| predicted_R | 1.000 | 0.384 |
| predicted_RBI | 1.000 | 0.337 |
| predicted_SLG | 0.250 | -0.137 |
| predicted_SO | 1.000 | 0.041 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 5.000 | 1.000 | 0.000 | 0.000 | 5.000 | 2.000 | 2.000 | 8.000 | 0.2632 | 0.3636 | 0.3158 | 0.2632 | 0.0000 | 0.2632 | 0.1053 | 0.4210 |
| last_10 | 0.20 | 10 | - | 38.000 | 9.000 | 1.000 | 0.000 | 1.000 | 9.000 | 5.000 | 5.000 | 14.000 | 0.2368 | 0.3333 | 0.3421 | 0.2368 | 0.0263 | 0.2368 | 0.1316 | 0.3684 |
| season | 0.60 | 68 | - | 251.000 | 59.000 | 16.000 | 2.000 | 5.000 | 36.000 | 42.000 | 37.000 | 60.000 | 0.2351 | 0.3345 | 0.3745 | 0.2351 | 0.0199 | 0.1434 | 0.1474 | 0.2390 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2010 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.7470 |
| predicted_AVG | 0.2419 |
| predicted_BB | 0.4880 |
| predicted_H | 0.9060 |
| predicted_HBP | 0.0730 |
| predicted_HR | 0.0700 |
| predicted_OBP | 0.3376 |
| predicted_R | 0.5470 |
| predicted_RBI | 0.6780 |
| predicted_SLG | 0.3612 |
| predicted_SO | 1.1010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.2010 | 0.2206 | model_form_blend |
| predicted_3B | 0.0290 | 0.0180 | 0.0243 | model_form_blend |
| predicted_AB | 3.7400 | 3.7470 | 3.7430 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2419 | 0.2414 | model_form_blend |
| predicted_BB | 0.5440 | 0.4880 | 0.5203 | model_form_blend |
| predicted_H | 0.9000 | 0.9060 | 0.9025 | model_form_blend |
| predicted_HBP | - | 0.0730 | 0.0730 | form_only |
| predicted_HR | 0.0900 | 0.0700 | 0.0815 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3376 | 0.3332 | model_form_blend |
| predicted_R | 0.6180 | 0.5470 | 0.5880 | model_form_blend |
| predicted_RBI | 0.6000 | 0.6780 | 0.6330 | model_form_blend |
| predicted_SLG | 0.3720 | 0.3612 | 0.3674 | model_form_blend |
| predicted_SO | 0.8820 | 1.1010 | 0.9746 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% 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 | 68 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 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 | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 20.4 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.32 |
| sl_xwoba | 0.325 |
| sl_xba | 0.247 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 35.1 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 38.2 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 48.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 1.000 | 0.000 | Hitting_2B | 0.176 | 1.000 | 0.824 | 0.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 | 3.000 | Hitting_AB | 3.412 | 3.000 | 0.588 | 1.000 |
| predicted_AVG | 0.252 | 0.500 | 0.333 | Hitting_AVG | 0.293 | 0.333 | 0.207 | 0.167 |
| predicted_BB | 0.231 | 0.000 | 0.000 | Hitting_BB | 0.176 | 1.000 | -0.176 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.720 | 2.000 | 1.000 | Hitting_H | 1.000 | 1.000 | 1.000 | 1.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.176 | 0.000 | 0.824 | 1.000 |
| predicted_OBP | 0.303 | 0.500 | 0.333 | Hitting_OBP | 0.328 | 0.500 | 0.172 | 0.000 |
| predicted_R | 0.538 | 1.000 | 1.000 | Hitting_R | 0.412 | 1.000 | 0.588 | 0.000 |
| predicted_RBI | 0.600 | 2.000 | 1.000 | Hitting_RBI | 0.882 | 0.000 | 1.118 | 2.000 |
| predicted_SLG | 0.458 | 1.500 | 0.333 | Hitting_SLG | 0.500 | 0.667 | 1.000 | 0.833 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Hitting_SO | 0.765 | 2.000 | 0.235 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 8 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 1 |
| Better Metrics | 7 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_RBI: 0.6000 -> 2.0000 (boost 1.4000, better) |
| Biggest Deboost | predicted_BB: 0.2310 -> 0.0000 (deboost -0.2310, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 3 | 1 | predicted_AB: 2.9230 -> 3.0288 (boost 0.1058, better) | predicted_AVG: 0.2520 -> 0.2455 (deboost -0.0065, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.4669 -> 0.4931 (boost 0.0262, better) | - | 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.6816 -> 1.0000 (boost 0.3184, better) | predicted_BB: 0.2576 -> 0.0000 (deboost -0.2576, worse) | AB rounded to 3 (raw=3.03), rates preserved: AVG=0.248 HR/AB=0.056 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5602 -> 1.0000 (boost 0.4398, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2478 -> 0.3330 (boost 0.0852, better) | predicted_SLG: 0.4931 -> 0.3330 (deboost -0.1601, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_2B: 0.0000 -> 1.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.4931 (boost 0.1601, better) | predicted_AVG: 0.3330 -> 0.2478 (deboost -0.0852, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669899",
"player_name": "Ryan Ward",
"position": "LF",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.0,
"predicted_AB": 2.923,
"predicted_AVG": 0.252,
"predicted_BB": 0.231,
"predicted_H": 0.72,
"predicted_HR": 0.15,
"predicted_OBP": 0.303,
"predicted_R": 0.538,
"predicted_RBI": 0.6,
"predicted_SLG": 0.458,
"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.2297,
"predicted_3B": 0.0016,
"predicted_AB": 3.0288,
"predicted_AVG": 0.2455,
"predicted_BB": 0.2535,
"predicted_H": 0.7308,
"predicted_HBP": 0.013,
"predicted_HR": 0.1647,
"predicted_OBP": 0.3023,
"predicted_R": 0.5347,
"predicted_RBI": 0.6506,
"predicted_SLG": 0.4669,
"predicted_SO": 0.9984
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.2297,
"delta": -0.0013,
"percent_delta": -0.0056,
"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": 2.923,
"after": 3.0288,
"delta": 0.1058,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2455,
"delta": -0.0065,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.231,
"after": 0.2535,
"delta": 0.0225,
"percent_delta": 0.0974,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7308,
"delta": 0.0108,
"percent_delta": 0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1647,
"delta": 0.0147,
"percent_delta": 0.098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3023,
"delta": -0.0007,
"percent_delta": -0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.5347,
"delta": -0.0033,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 0.6506,
"delta": 0.0506,
"percent_delta": 0.0843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4669,
"delta": 0.0089,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.9984,
"delta": -0.0016,
"percent_delta": -0.0016,
"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_AB",
"before": 2.923,
"after": 3.0288,
"delta": 0.1058,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2455,
"delta": -0.0065,
"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": 5,
"last_10": 10,
"season": 13
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2297,
"predicted_3B": 0.0016,
"predicted_AB": 3.0288,
"predicted_AVG": 0.2478,
"predicted_BB": 0.2576,
"predicted_H": 0.7505,
"predicted_HBP": 0.013,
"predicted_HR": 0.1701,
"predicted_OBP": 0.3067,
"predicted_R": 0.5602,
"predicted_RBI": 0.6816,
"predicted_SLG": 0.4931,
"predicted_SO": 0.9824
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2297,
"after": 0.2297,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0288,
"after": 3.0288,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2455,
"after": 0.2478,
"delta": 0.0023,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2535,
"after": 0.2576,
"delta": 0.0041,
"percent_delta": 0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7308,
"after": 0.7505,
"delta": 0.0197,
"percent_delta": 0.027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1647,
"after": 0.1701,
"delta": 0.0054,
"percent_delta": 0.0328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3023,
"after": 0.3067,
"delta": 0.0044,
"percent_delta": 0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5347,
"after": 0.5602,
"delta": 0.0255,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6506,
"after": 0.6816,
"delta": 0.031,
"percent_delta": 0.0476,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4669,
"after": 0.4931,
"delta": 0.0262,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9984,
"after": 0.9824,
"delta": -0.016,
"percent_delta": -0.016,
"direction": "no_change",
"projection_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.4669,
"after": 0.4931,
"delta": 0.0262,
"percent_delta": 0.0561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.03), rates preserved: AVG=0.248 HR/AB=0.056",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2297,
"after": 0.0,
"delta": -0.2297,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0016,
"after": 0.0,
"delta": -0.0016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0288,
"after": 3.0,
"delta": -0.0288,
"percent_delta": -0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2576,
"after": 0.0,
"delta": -0.2576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7505,
"after": 1.0,
"delta": 0.2495,
"percent_delta": 0.3324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1701,
"after": 0.0,
"delta": -0.1701,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6816,
"after": 1.0,
"delta": 0.3184,
"percent_delta": 0.4671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9824,
"after": 1.0,
"delta": 0.0176,
"percent_delta": 0.0179,
"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.6816,
"after": 1.0,
"delta": 0.3184,
"percent_delta": 0.4671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2576,
"after": 0.0,
"delta": -0.2576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5602,
"after": 1.0,
"delta": 0.4398,
"percent_delta": 0.7851,
"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.5602,
"after": 1.0,
"delta": 0.4398,
"percent_delta": 0.7851,
"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": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2478,
"after": 0.333,
"delta": 0.0852,
"percent_delta": 0.3438,
"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.3067,
"after": 0.333,
"delta": 0.0263,
"percent_delta": 0.0858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4931,
"after": 0.333,
"delta": -0.1601,
"percent_delta": -0.3247,
"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.2478,
"after": 0.333,
"delta": 0.0852,
"percent_delta": 0.3438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4931,
"after": 0.333,
"delta": -0.1601,
"percent_delta": -0.3247,
"direction": "deboost",
"projection_effect": "worse",
"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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2478,
"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.3067,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4931,
"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.333,
"after": 0.2478,
"delta": -0.0852,
"percent_delta": -0.2559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"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.3067,
"delta": -0.0263,
"percent_delta": -0.0789,
"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.4931,
"delta": 0.1601,
"percent_delta": 0.4808,
"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.4931,
"delta": 0.1601,
"percent_delta": 0.4808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2478,
"delta": -0.0852,
"percent_delta": -0.2559,
"direction": "deboost",
"projection_effect": "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.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.252,
"after": 0.2478,
"delta": -0.0042,
"percent_delta": -0.0167,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3067,
"delta": 0.0037,
"percent_delta": 0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 1.0,
"delta": 0.462,
"percent_delta": 0.8587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6,
"after": 2.0,
"delta": 1.4,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.458,
"after": 0.4931,
"delta": 0.0351,
"percent_delta": 0.0766,
"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": 8,
"boosted_metrics": 7,
"deboosted_metrics": 1,
"better_metrics": 7,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.6,
"after": 2.0,
"delta": 1.4,
"percent_delta": 2.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.231,
"after": 0.0,
"delta": -0.231,
"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.000 | - |
| predicted_AB | 2.923 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.231 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.538 | - |
| predicted_RBI | 0.600 | - |
| predicted_SLG | 0.458 | - |
| 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.230 | -0.001 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.029 | 0.106 |
| predicted_AVG | 0.245 | -0.007 |
| predicted_BB | 0.254 | 0.022 |
| predicted_H | 0.731 | 0.011 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.165 | 0.015 |
| predicted_OBP | 0.302 | -0.001 |
| predicted_R | 0.535 | -0.003 |
| predicted_RBI | 0.651 | 0.051 |
| predicted_SLG | 0.467 | 0.009 |
| predicted_SO | 0.998 | -0.002 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.230 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.029 | 0.000 |
| predicted_AVG | 0.248 | 0.002 |
| predicted_BB | 0.258 | 0.004 |
| predicted_H | 0.750 | 0.020 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.170 | 0.005 |
| predicted_OBP | 0.307 | 0.004 |
| predicted_R | 0.560 | 0.026 |
| predicted_RBI | 0.682 | 0.031 |
| predicted_SLG | 0.493 | 0.026 |
| predicted_SO | 0.982 | -0.016 |
AB rounded to 3 (raw=3.03), rates preserved: AVG=0.248 HR/AB=0.056
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.230 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | -0.029 |
| predicted_AVG | 0.333 | 0.085 |
| predicted_BB | 0.000 | -0.258 |
| predicted_H | 1.000 | 0.250 |
| predicted_HR | 0.000 | -0.170 |
| predicted_OBP | 0.333 | 0.026 |
| predicted_R | 1.000 | 0.440 |
| predicted_RBI | 1.000 | 0.318 |
| predicted_SLG | 0.333 | -0.160 |
| predicted_SO | 1.000 | 0.018 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 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 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 2.000 | 1.000 | 0.000 | 1.000 | 4.000 | 2.000 | 2.000 | 5.000 | 0.1818 | 0.3077 | 0.5455 | 0.1818 | 0.0909 | 0.3636 | 0.1818 | 0.4546 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 3.000 | 0.000 | 2.000 | 9.000 | 6.000 | 3.000 | 11.000 | 0.2000 | 0.2727 | 0.5000 | 0.2000 | 0.0667 | 0.3000 | 0.1000 | 0.3667 |
| season | 0.60 | 13 | - | 38.000 | 9.000 | 3.000 | 0.000 | 3.000 | 11.000 | 7.000 | 3.000 | 13.000 | 0.2368 | 0.2927 | 0.5526 | 0.2368 | 0.0790 | 0.2895 | 0.0790 | 0.3421 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2270 |
| predicted_3B | 0.0050 |
| predicted_AB | 3.2470 |
| predicted_AVG | 0.2320 |
| predicted_BB | 0.3000 |
| predicted_H | 0.7530 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.1950 |
| predicted_OBP | 0.3009 |
| predicted_R | 0.5280 |
| predicted_RBI | 0.7550 |
| predicted_SLG | 0.4853 |
| predicted_SO | 0.9950 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.2270 | 0.2297 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0016 | model_form_blend |
| predicted_AB | 2.9230 | 3.2470 | 3.0288 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2320 | 0.2455 | model_form_blend |
| predicted_BB | 0.2310 | 0.3000 | 0.2535 | model_form_blend |
| predicted_H | 0.7200 | 0.7530 | 0.7308 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.1500 | 0.1950 | 0.1647 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3009 | 0.3023 | model_form_blend |
| predicted_R | 0.5380 | 0.5280 | 0.5347 | model_form_blend |
| predicted_RBI | 0.6000 | 0.7550 | 0.6506 | model_form_blend |
| predicted_SLG | 0.4580 | 0.4853 | 0.4669 | model_form_blend |
| predicted_SO | 1.0000 | 0.9950 | 0.9984 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 13 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.237 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 669899 |
| playerID | 669899 |
| playerName | Ryan Ward |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 29.7 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.346 |
| sl_xwoba | 0.345 |
| sl_xba | 0.261 |
| sl_xslg | 0.51 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 52.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.158 | 1.000 | 0.000 | Hitting_2B | 0.114 | 1.000 | 0.886 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.132 | 4.000 | 3.000 | Hitting_AB | 3.352 | 4.000 | 0.648 | 0.000 |
| predicted_AVG | 0.260 | 0.250 | 0.333 | Hitting_AVG | 0.284 | 0.250 | -0.034 | 0.000 |
| predicted_BB | 0.316 | 0.000 | 0.000 | Hitting_BB | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.952 | 1.000 | 0.048 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.305 | 0.000 | -0.305 | 0.000 |
| predicted_OBP | 0.340 | 0.250 | 0.333 | Hitting_OBP | 0.370 | 0.250 | -0.120 | 0.000 |
| predicted_R | 0.526 | 1.000 | 1.000 | Hitting_R | 0.629 | 1.000 | 0.371 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.686 | 0.000 | -0.686 | 0.000 |
| predicted_SLG | 0.434 | 0.500 | 0.333 | Hitting_SLG | 0.591 | 0.500 | -0.091 | 0.000 |
| predicted_SO | 0.921 | 1.000 | 1.000 | Hitting_SO | 0.981 | 2.000 | 0.019 | -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_AB: 3.1320 -> 4.0000 (boost 0.8680, better) |
| 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 | 4 | 4 | 0 | 4 | 0 | predicted_AB: 3.1320 -> 3.2455 (boost 0.1135, better) | - | Final model input calibrated with local 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.3458 -> 0.3225 (deboost -0.0233, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 1 | 6 | predicted_H: 0.8009 -> 1.0000 (boost 0.1991, better) | predicted_RBI: 0.4293 -> 0.0000 (deboost -0.4293, worse) | AB rounded to 3 (raw=3.25), rates preserved: AVG=0.247 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5669 -> 1.0000 (boost 0.4331, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2468 -> 0.3330 (boost 0.0862, better) | predicted_SLG: 0.4317 -> 0.3330 (deboost -0.0987, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4317 (boost 0.0987, better) | predicted_AVG: 0.3330 -> 0.2468 (deboost -0.0862, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687221",
"player_name": "Dalton Rushing",
"position": "C",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.158,
"predicted_3B": 0.0,
"predicted_AB": 3.132,
"predicted_AVG": 0.26,
"predicted_BB": 0.316,
"predicted_H": 0.72,
"predicted_HR": 0.12,
"predicted_OBP": 0.34,
"predicted_R": 0.526,
"predicted_RBI": 0.39,
"predicted_SLG": 0.434,
"predicted_SO": 0.921
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1901,
"predicted_3B": 0.0008,
"predicted_AB": 3.2455,
"predicted_AVG": 0.2579,
"predicted_BB": 0.3569,
"predicted_H": 0.7799,
"predicted_HBP": 0.109,
"predicted_HR": 0.1319,
"predicted_OBP": 0.3458,
"predicted_R": 0.5411,
"predicted_RBI": 0.4098,
"predicted_SLG": 0.4433,
"predicted_SO": 0.9662
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 0.1901,
"delta": 0.0321,
"percent_delta": 0.2032,
"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": 3.132,
"after": 3.2455,
"delta": 0.1135,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2579,
"delta": -0.0021,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.316,
"after": 0.3569,
"delta": 0.0409,
"percent_delta": 0.1294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 0.7799,
"delta": 0.0599,
"percent_delta": 0.0832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1319,
"delta": 0.0119,
"percent_delta": 0.0992,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3458,
"delta": 0.0058,
"percent_delta": 0.0171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 0.5411,
"delta": 0.0151,
"percent_delta": 0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.4098,
"delta": 0.0198,
"percent_delta": 0.0508,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4433,
"delta": 0.0093,
"percent_delta": 0.0214,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.921,
"after": 0.9662,
"delta": 0.0452,
"percent_delta": 0.0491,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.132,
"after": 3.2455,
"delta": 0.1135,
"percent_delta": 0.0362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 38
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1901,
"predicted_3B": 0.0008,
"predicted_AB": 3.2455,
"predicted_AVG": 0.2468,
"predicted_BB": 0.3626,
"predicted_H": 0.8009,
"predicted_HBP": 0.109,
"predicted_HR": 0.1362,
"predicted_OBP": 0.3225,
"predicted_R": 0.5669,
"predicted_RBI": 0.4293,
"predicted_SLG": 0.4317,
"predicted_SO": 0.9507
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1901,
"after": 0.1901,
"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.2455,
"after": 3.2455,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2579,
"after": 0.2468,
"delta": -0.0111,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3569,
"after": 0.3626,
"delta": 0.0057,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7799,
"after": 0.8009,
"delta": 0.021,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.109,
"after": 0.109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1319,
"after": 0.1362,
"delta": 0.0043,
"percent_delta": 0.0326,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3458,
"after": 0.3225,
"delta": -0.0233,
"percent_delta": -0.0674,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5411,
"after": 0.5669,
"delta": 0.0258,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4098,
"after": 0.4293,
"delta": 0.0195,
"percent_delta": 0.0476,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4433,
"after": 0.4317,
"delta": -0.0116,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9662,
"after": 0.9507,
"delta": -0.0155,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": 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.3458,
"after": 0.3225,
"delta": -0.0233,
"percent_delta": -0.0674,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.25), rates preserved: AVG=0.247 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1901,
"after": 0.0,
"delta": -0.1901,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2455,
"after": 3.0,
"delta": -0.2455,
"percent_delta": -0.0756,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3626,
"after": 0.0,
"delta": -0.3626,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8009,
"after": 1.0,
"delta": 0.1991,
"percent_delta": 0.2486,
"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.1362,
"after": 0.0,
"delta": -0.1362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4293,
"after": 0.0,
"delta": -0.4293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9507,
"after": 1.0,
"delta": 0.0493,
"percent_delta": 0.0519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8009,
"after": 1.0,
"delta": 0.1991,
"percent_delta": 0.2486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4293,
"after": 0.0,
"delta": -0.4293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "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.5669,
"after": 1.0,
"delta": 0.4331,
"percent_delta": 0.764,
"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.5669,
"after": 1.0,
"delta": 0.4331,
"percent_delta": 0.764,
"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.2468,
"after": 0.333,
"delta": 0.0862,
"percent_delta": 0.3493,
"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.3225,
"after": 0.333,
"delta": 0.0105,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 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.4317,
"after": 0.333,
"delta": -0.0987,
"percent_delta": -0.2286,
"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.2468,
"after": 0.333,
"delta": 0.0862,
"percent_delta": 0.3493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4317,
"after": 0.333,
"delta": -0.0987,
"percent_delta": -0.2286,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2468,
"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.3225,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4317,
"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.333,
"after": 0.2468,
"delta": -0.0862,
"percent_delta": -0.259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3225,
"delta": -0.0105,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4317,
"delta": 0.0987,
"percent_delta": 0.2965,
"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.4317,
"delta": 0.0987,
"percent_delta": 0.2965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2468,
"delta": -0.0862,
"percent_delta": -0.259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.158,
"after": 1.0,
"delta": 0.842,
"percent_delta": 5.3291,
"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.132,
"after": 4.0,
"delta": 0.868,
"percent_delta": 0.2771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2468,
"delta": -0.0132,
"percent_delta": -0.0508,
"direction": "deboost",
"projection_effect": "worse",
"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": 0.72,
"after": 1.0,
"delta": 0.28,
"percent_delta": 0.3889,
"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.34,
"after": 0.3225,
"delta": -0.0175,
"percent_delta": -0.0515,
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4317,
"delta": -0.0023,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.921,
"after": 1.0,
"delta": 0.079,
"percent_delta": 0.0858,
"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_AB",
"before": 3.132,
"after": 4.0,
"delta": 0.868,
"percent_delta": 0.2771,
"direction": "boost",
"projection_effect": "better",
"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.158 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.132 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.316 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.526 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.434 | - |
| predicted_SO | 0.921 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.032 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.245 | 0.113 |
| predicted_AVG | 0.258 | -0.002 |
| predicted_BB | 0.357 | 0.041 |
| predicted_H | 0.780 | 0.060 |
| predicted_HBP | 0.109 | - |
| predicted_HR | 0.132 | 0.012 |
| predicted_OBP | 0.346 | 0.006 |
| predicted_R | 0.541 | 0.015 |
| predicted_RBI | 0.410 | 0.020 |
| predicted_SLG | 0.443 | 0.009 |
| predicted_SO | 0.966 | 0.045 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.245 | 0.000 |
| predicted_AVG | 0.247 | -0.011 |
| predicted_BB | 0.363 | 0.006 |
| predicted_H | 0.801 | 0.021 |
| predicted_HBP | 0.109 | 0.000 |
| predicted_HR | 0.136 | 0.004 |
| predicted_OBP | 0.323 | -0.023 |
| predicted_R | 0.567 | 0.026 |
| predicted_RBI | 0.429 | 0.020 |
| predicted_SLG | 0.432 | -0.012 |
| predicted_SO | 0.951 | -0.015 |
AB rounded to 3 (raw=3.25), rates preserved: AVG=0.247 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 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.190 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.245 |
| predicted_AVG | 0.333 | 0.086 |
| predicted_BB | 0.000 | -0.363 |
| predicted_H | 1.000 | 0.199 |
| predicted_HR | 0.000 | -0.136 |
| predicted_OBP | 0.333 | 0.011 |
| predicted_R | 1.000 | 0.433 |
| predicted_RBI | 0.000 | -0.429 |
| predicted_SLG | 0.333 | -0.099 |
| predicted_SO | 1.000 | 0.049 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 3.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 8.000 | 0.1667 | 0.3478 | 0.2778 | 0.1667 | 0.0000 | 0.0000 | 0.2222 | 0.4444 |
| last_10 | 0.20 | 10 | - | 36.000 | 11.000 | 4.000 | 0.000 | 1.000 | 4.000 | 7.000 | 5.000 | 10.000 | 0.3056 | 0.4048 | 0.5000 | 0.3056 | 0.0278 | 0.1111 | 0.1389 | 0.2778 |
| season | 0.60 | 38 | - | 119.000 | 32.000 | 6.000 | 0.000 | 8.000 | 21.000 | 20.000 | 12.000 | 35.000 | 0.2689 | 0.3556 | 0.5210 | 0.2689 | 0.0672 | 0.1765 | 0.1008 | 0.2941 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2390 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4180 |
| predicted_AVG | 0.2548 |
| predicted_BB | 0.4190 |
| predicted_H | 0.8710 |
| predicted_HBP | 0.1090 |
| predicted_HR | 0.1500 |
| predicted_OBP | 0.3547 |
| predicted_R | 0.5640 |
| predicted_RBI | 0.4400 |
| predicted_SLG | 0.4575 |
| predicted_SO | 1.0350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1580 | 0.2390 | 0.1901 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1320 | 3.4180 | 3.2455 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2548 | 0.2579 | model_form_blend |
| predicted_BB | 0.3160 | 0.4190 | 0.3569 | model_form_blend |
| predicted_H | 0.7200 | 0.8710 | 0.7799 | model_form_blend |
| predicted_HBP | - | 0.1090 | 0.1090 | form_only |
| predicted_HR | 0.1200 | 0.1500 | 0.1319 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3547 | 0.3458 | model_form_blend |
| predicted_R | 0.5260 | 0.5640 | 0.5411 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4400 | 0.4098 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4575 | 0.4433 | model_form_blend |
| predicted_SO | 0.9210 | 1.0350 | 0.9662 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 105 |
| Season rows before report date | 105 |
| Report year | 2026 |
| Profile rows used | 38 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 687221 |
| playerID | 687221 |
| playerName | Dalton Rushing |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.386 |
| sl_xwoba | 0.361 |
| sl_xba | 0.268 |
| sl_xslg | 0.456 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 40.2 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | 15.3 |
| sl_whiff_percent | 30.3 |
| 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.125 | 0.000 | 0.000 | Hitting_2B | 0.130 | 1.000 | -0.130 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.854 | 4.000 | 3.000 | Hitting_AB | 3.153 | 3.000 | 0.847 | 1.000 |
| predicted_AVG | 0.246 | 0.000 | 0.333 | Hitting_AVG | 0.242 | 0.333 | -0.242 | -0.333 |
| predicted_BB | 0.354 | 0.000 | 0.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.610 | 0.000 | 1.000 | Hitting_H | 0.763 | 1.000 | -0.763 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.069 | 0.000 | -0.069 | 0.000 |
| predicted_OBP | 0.296 | 0.000 | 0.333 | Hitting_OBP | 0.323 | 0.250 | -0.323 | -0.250 |
| predicted_R | 0.354 | 0.000 | 0.000 | Hitting_R | 0.397 | 0.000 | -0.397 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 0.000 | Hitting_RBI | 0.313 | 2.000 | -0.313 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_SLG | 0.335 | 0.000 | 0.333 | Hitting_SLG | 0.349 | 0.667 | -0.349 | -0.667 |
| predicted_SO | 0.875 | 1.000 | 1.000 | Hitting_SO | 0.992 | 1.000 | 0.008 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 2.8540 -> 4.0000 (boost 1.1460, 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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2460 -> 0.2317 (deboost -0.0143, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2937 -> 0.3049 (boost 0.0112, better) | predicted_AVG: 0.2317 -> 0.2182 (deboost -0.0135, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.6252 -> 1.0000 (boost 0.3748, better) | predicted_RBI: 0.4238 -> 0.0000 (deboost -0.4238, worse) | AB rounded to 3 (raw=2.87), rates preserved: AVG=0.218 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3455 -> 0.0000 (deboost -0.3455, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2182 -> 0.3330 (boost 0.1148, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_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 | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.3330 -> 0.2182 (deboost -0.1148, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "690976",
"player_name": "Alex Freeland",
"position": "2B",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.0,
"predicted_AB": 2.854,
"predicted_AVG": 0.246,
"predicted_BB": 0.354,
"predicted_H": 0.61,
"predicted_HR": 0.07,
"predicted_OBP": 0.296,
"predicted_R": 0.354,
"predicted_RBI": 0.39,
"predicted_SLG": 0.335,
"predicted_SO": 0.875
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1343,
"predicted_3B": 0.0008,
"predicted_AB": 2.8653,
"predicted_AVG": 0.2317,
"predicted_BB": 0.352,
"predicted_H": 0.6088,
"predicted_HBP": 0.004,
"predicted_HR": 0.0611,
"predicted_OBP": 0.2937,
"predicted_R": 0.3298,
"predicted_RBI": 0.4045,
"predicted_SLG": 0.326,
"predicted_SO": 0.8464
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.1343,
"delta": 0.0093,
"percent_delta": 0.0744,
"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.854,
"after": 2.8653,
"delta": 0.0113,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2317,
"delta": -0.0143,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.352,
"delta": -0.002,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.6088,
"delta": -0.0012,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0611,
"delta": -0.0089,
"percent_delta": -0.1271,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.296,
"after": 0.2937,
"delta": -0.0023,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.354,
"after": 0.3298,
"delta": -0.0242,
"percent_delta": -0.0684,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.4045,
"delta": 0.0145,
"percent_delta": 0.0372,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.335,
"after": 0.326,
"delta": -0.009,
"percent_delta": -0.0269,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.875,
"after": 0.8464,
"delta": -0.0286,
"percent_delta": -0.0327,
"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.246,
"after": 0.2317,
"delta": -0.0143,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 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.1343,
"predicted_3B": 0.0008,
"predicted_AB": 2.8653,
"predicted_AVG": 0.2182,
"predicted_BB": 0.3576,
"predicted_H": 0.6252,
"predicted_HBP": 0.004,
"predicted_HR": 0.0631,
"predicted_OBP": 0.3049,
"predicted_R": 0.3455,
"predicted_RBI": 0.4238,
"predicted_SLG": 0.3317,
"predicted_SO": 0.8329
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1343,
"after": 0.1343,
"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": 2.8653,
"after": 2.8653,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2317,
"after": 0.2182,
"delta": -0.0135,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.3576,
"delta": 0.0056,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6088,
"after": 0.6252,
"delta": 0.0164,
"percent_delta": 0.0269,
"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.0611,
"after": 0.0631,
"delta": 0.002,
"percent_delta": 0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2937,
"after": 0.3049,
"delta": 0.0112,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3298,
"after": 0.3455,
"delta": 0.0157,
"percent_delta": 0.0476,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4045,
"after": 0.4238,
"delta": 0.0193,
"percent_delta": 0.0477,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3317,
"delta": 0.0057,
"percent_delta": 0.0175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8464,
"after": 0.8329,
"delta": -0.0135,
"percent_delta": -0.0159,
"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.2937,
"after": 0.3049,
"delta": 0.0112,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2317,
"after": 0.2182,
"delta": -0.0135,
"percent_delta": -0.0583,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.87), rates preserved: AVG=0.218 HR/AB=0.022",
"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.1343,
"after": 0.0,
"delta": -0.1343,
"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": 2.8653,
"after": 3.0,
"delta": 0.1347,
"percent_delta": 0.047,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3576,
"after": 0.0,
"delta": -0.3576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6252,
"after": 1.0,
"delta": 0.3748,
"percent_delta": 0.5995,
"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.0631,
"after": 0.0,
"delta": -0.0631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4238,
"after": 0.0,
"delta": -0.4238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8329,
"after": 1.0,
"delta": 0.1671,
"percent_delta": 0.2006,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6252,
"after": 1.0,
"delta": 0.3748,
"percent_delta": 0.5995,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4238,
"after": 0.0,
"delta": -0.4238,
"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.3455,
"after": 0.0,
"delta": -0.3455,
"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.3455,
"after": 0.0,
"delta": -0.3455,
"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.2182,
"after": 0.333,
"delta": 0.1148,
"percent_delta": 0.5261,
"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.3049,
"after": 0.333,
"delta": 0.0281,
"percent_delta": 0.0922,
"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.3317,
"after": 0.333,
"delta": 0.0013,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2182,
"after": 0.333,
"delta": 0.1148,
"percent_delta": 0.5261,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"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": 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_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.2182,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3049,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3317,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.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.2182,
"delta": -0.1148,
"percent_delta": -0.3448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3049,
"delta": -0.0281,
"percent_delta": -0.0843,
"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.3317,
"delta": -0.0013,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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_AVG",
"before": 0.333,
"after": 0.2182,
"delta": -0.1148,
"percent_delta": -0.3448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.0,
"delta": -0.125,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.854,
"after": 4.0,
"delta": 1.146,
"percent_delta": 0.4015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2182,
"delta": -0.0278,
"percent_delta": -0.113,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"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.296,
"after": 0.3049,
"delta": 0.0089,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.354,
"after": 0.0,
"delta": -0.354,
"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.335,
"after": 0.3317,
"delta": -0.0033,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.875,
"after": 1.0,
"delta": 0.125,
"percent_delta": 0.1429,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.854,
"after": 4.0,
"delta": 1.146,
"percent_delta": 0.4015,
"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.125 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.854 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.354 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.296 | - |
| predicted_R | 0.354 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.335 | - |
| predicted_SO | 0.875 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.009 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.865 | 0.011 |
| predicted_AVG | 0.232 | -0.014 |
| predicted_BB | 0.352 | -0.002 |
| predicted_H | 0.609 | -0.001 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.061 | -0.009 |
| predicted_OBP | 0.294 | -0.002 |
| predicted_R | 0.330 | -0.024 |
| predicted_RBI | 0.405 | 0.015 |
| predicted_SLG | 0.326 | -0.009 |
| predicted_SO | 0.846 | -0.029 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.865 | 0.000 |
| predicted_AVG | 0.218 | -0.013 |
| predicted_BB | 0.358 | 0.006 |
| predicted_H | 0.625 | 0.016 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.063 | 0.002 |
| predicted_OBP | 0.305 | 0.011 |
| predicted_R | 0.345 | 0.016 |
| predicted_RBI | 0.424 | 0.019 |
| predicted_SLG | 0.332 | 0.006 |
| predicted_SO | 0.833 | -0.014 |
AB rounded to 3 (raw=2.87), rates preserved: AVG=0.218 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.134 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.135 |
| predicted_AVG | 0.333 | 0.115 |
| predicted_BB | 0.000 | -0.358 |
| predicted_H | 1.000 | 0.375 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.333 | 0.028 |
| predicted_R | 0.000 | -0.345 |
| predicted_RBI | 0.000 | -0.424 |
| predicted_SLG | 0.333 | 0.001 |
| predicted_SO | 1.000 | 0.167 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 1.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.000 | 1.000 | 3.000 | 0.0909 | 0.1538 | 0.1818 | 0.0909 | 0.0000 | 0.1818 | 0.0909 | 0.2727 |
| last_10 | 0.20 | 10 | - | 27.000 | 6.000 | 1.000 | 0.000 | 0.000 | 6.000 | 3.000 | 5.000 | 7.000 | 0.2222 | 0.3333 | 0.2593 | 0.2222 | 0.0000 | 0.2222 | 0.1852 | 0.2593 |
| season | 0.60 | 48 | - | 137.000 | 32.000 | 6.000 | 0.000 | 3.000 | 16.000 | 17.000 | 17.000 | 42.000 | 0.2336 | 0.3141 | 0.3431 | 0.2336 | 0.0219 | 0.1168 | 0.1241 | 0.3066 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1480 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.8820 |
| predicted_AVG | 0.2105 |
| predicted_BB | 0.3490 |
| predicted_H | 0.6070 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0480 |
| predicted_OBP | 0.2903 |
| predicted_R | 0.2940 |
| predicted_RBI | 0.4260 |
| predicted_SLG | 0.3127 |
| predicted_SO | 0.8040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.1480 | 0.1343 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.8540 | 2.8820 | 2.8653 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2105 | 0.2317 | model_form_blend |
| predicted_BB | 0.3540 | 0.3490 | 0.3520 | model_form_blend |
| predicted_H | 0.6100 | 0.6070 | 0.6088 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0700 | 0.0480 | 0.0611 | model_form_blend |
| predicted_OBP | 0.2960 | 0.2903 | 0.2937 | model_form_blend |
| predicted_R | 0.3540 | 0.2940 | 0.3298 | model_form_blend |
| predicted_RBI | 0.3900 | 0.4260 | 0.4045 | model_form_blend |
| predicted_SLG | 0.3350 | 0.3127 | 0.3260 | model_form_blend |
| predicted_SO | 0.8750 | 0.8040 | 0.8464 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 131 |
| Season rows before report date | 131 |
| Report year | 2026 |
| Profile rows used | 48 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 690976 |
| playerID | 690976 |
| playerName | Alex Freeland |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.299 |
| sl_xwoba | 0.297 |
| sl_xba | 0.22 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 39.2 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 9.8 |
| sl_whiff_percent | 27.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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 0.667 | 0.000 | 1.333 | 2.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 1.667 | 2.000 | 2.333 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.000 | 3.000 | 1.000 | 2.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 5.133 | 5.200 | -0.133 | -0.200 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 3.333 | 5.000 | -0.333 | -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_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 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641778",
"player_name": "Eric Lauer",
"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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 5.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": 4.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_R": 4.0,
"predicted_SO": 3.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": 5.0,
"after": 5.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": 5.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
},
"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": 5.0,
"after": 5.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": 5.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 | 2.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.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 | 25.200 | 14.000 | 22.000 | 5.000 | 16.000 | 8.000 | 4.9091 | 1.0519 | 0.5454 | 0.8571 | 0.1948 | 0.6234 | 0.3117 |
| last_10 | 0.35 | 10 | 47.100 | 30.000 | 47.000 | 17.000 | 27.000 | 14.000 | 5.7042 | 1.3521 | 0.6338 | 0.9930 | 0.3592 | 0.5704 | 0.2958 |
| season | 0.20 | 11 | 52.200 | 32.000 | 50.000 | 18.000 | 36.000 | 15.000 | 5.4684 | 1.2911 | 0.6076 | 0.9494 | 0.3418 | 0.6835 | 0.2848 |
| Metric | Value |
|---|---|
| predicted_BB | 1.4940 |
| predicted_ER | 2.7290 |
| predicted_ERA | 5.0396 |
| predicted_H | 4.5740 |
| predicted_HR | 1.2290 |
| predicted_IP | 5.0000 |
| predicted_SO | 3.4890 |
| predicted_WHIP | 1.2449 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.4940 | 1.7379 | model_form_blend |
| predicted_ER | 4.0000 | 2.7290 | 3.3417 | model_form_blend |
| predicted_ERA | - | 5.0396 | 5.0396 | form_only |
| predicted_H | 5.0000 | 4.5740 | 4.7793 | model_form_blend |
| predicted_HR | 2.0000 | 1.2290 | 1.6006 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 2.0000 | 3.4890 | 2.7713 | model_form_blend |
| predicted_WHIP | - | 1.2449 | 1.2449 | 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 | 11 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.0 |
| H | 5 |
| R | 4 |
| ER | 4 |
| BB | 2 |
| SO | 3 |
| HR | 2 |
| BF | 22 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 20 |
| Pitching_ER | 2 |
| Pitching_ERA | 5.47 |
| Pitching_Flyouts | 7 |
| Pitching_Groundouts | 4 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 89 |
| Pitching_R | 2 |
| Pitching_SO | 5 |
| Pitching_Strikes | 64 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260609_LAD@PIT |
| game_type | full |
| mlbID | 641778 |
| playerID | 641778 |
| playerName | Eric Lauer |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-09 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.347 |
| sl_xwoba | 0.353 |
| sl_sweet_spot_percent | 38.5 |
| sl_barrel_batted_rate | 11.2 |
| sl_hard_hit_percent | 39.6 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 50.9 |
| sl_avg_best_speed | 78.11902869 |
| sl_avg_hyper_speed | 93.982972096 |
| 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.097 | 0.000 | -0.097 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.613 | 0.000 | -0.613 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.868 | 1.100 | 0.132 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.129 | 3.000 | -1.129 | -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": "656945",
"player_name": "Tanner Scott",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 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.100 | 2.000 | 5.000 | 0.000 | 7.000 | 1.000 | 4.1538 | 1.1538 | 0.4615 | 1.1539 | 0.0000 | 1.6154 | 0.2308 |
| last_10 | 0.35 | 10 | 9.100 | 5.000 | 10.000 | 0.000 | 15.000 | 2.000 | 4.8214 | 1.0714 | 0.5357 | 1.0714 | 0.0000 | 1.6071 | 0.2143 |
| season | 0.20 | 31 | 29.000 | 8.000 | 19.000 | 3.000 | 35.000 | 4.000 | 2.4828 | 0.7586 | 0.2759 | 0.6552 | 0.1035 | 1.2069 | 0.1379 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1790 |
| predicted_ER | 0.4720 |
| predicted_ERA | 4.2464 |
| predicted_H | 1.0010 |
| predicted_HR | 0.1780 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2530 |
| predicted_WHIP | 1.1796 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1790 | 0.0812 | model_form_blend |
| predicted_ER | 0.0000 | 0.4720 | 0.2140 | model_form_blend |
| predicted_ERA | - | 4.2464 | 4.2464 | form_only |
| predicted_H | 0.0000 | 1.0010 | 0.4538 | model_form_blend |
| predicted_HR | 0.0000 | 0.1780 | 0.0807 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2530 | 0.5681 | model_form_blend |
| predicted_WHIP | - | 1.1796 | 1.1796 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 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.48 |
| 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 | 1.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260611_LAD@PIT |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-11 |
| sl_k_percent | 32.4 |
| sl_bb_percent | 2.8 |
| sl_woba | 0.228 |
| sl_xwoba | 0.27 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 8.6 |
| sl_hard_hit_percent | 28.6 |
| sl_whiff_percent | 33.5 |
| sl_swing_percent | 56.9 |
| sl_avg_best_speed | 79.640064706 |
| sl_avg_hyper_speed | 92.950255882 |
| 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 | 1.000 | -0.435 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.130 | 3.000 | -1.130 | -3.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.096 | 1.000 | 0.104 | 0.200 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.391 | 2.000 | -0.391 | -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": "694361",
"player_name": "Will Klein",
"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.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 | 4.200 | 2.000 | 8.000 | 4.000 | 7.000 | 1.000 | 3.8571 | 2.5714 | 0.4286 | 1.7143 | 0.8571 | 1.5000 | 0.2143 |
| last_10 | 0.35 | 10 | 9.200 | 2.000 | 8.000 | 4.000 | 13.000 | 1.000 | 1.8621 | 1.2414 | 0.2069 | 0.8276 | 0.4138 | 1.3448 | 0.1035 |
| season | 0.20 | 23 | 28.000 | 7.000 | 26.000 | 10.000 | 32.000 | 1.000 | 2.2500 | 1.2857 | 0.2500 | 0.9286 | 0.3571 | 1.1429 | 0.0357 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5050 |
| predicted_ER | 0.4150 |
| predicted_ERA | 3.6108 |
| predicted_H | 1.1560 |
| predicted_HR | 0.1470 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2060 |
| predicted_WHIP | 1.6043 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5050 | 0.2271 | model_form_blend |
| predicted_ER | 0.0000 | 0.4150 | 0.1866 | model_form_blend |
| predicted_ERA | - | 3.6108 | 3.6108 | form_only |
| predicted_H | 0.0000 | 1.1560 | 0.5198 | model_form_blend |
| predicted_HR | 0.0000 | 0.1470 | 0.0661 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2060 | 1.0926 | model_form_blend |
| predicted_WHIP | - | 1.6043 | 1.6043 | 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.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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 13 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260611_LAD@PIT |
| game_type | full |
| mlbID | 694361 |
| playerID | 694361 |
| playerName | Will Klein |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-11 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.275 |
| sl_xwoba | 0.268 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 2.7 |
| sl_hard_hit_percent | 37.3 |
| sl_whiff_percent | 21.8 |
| sl_swing_percent | 44.7 |
| sl_avg_best_speed | 80.588032973 |
| sl_avg_hyper_speed | 94.597953699 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.387 | 0.000 | -0.387 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.355 | 0.000 | -0.355 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.561 | 0.200 | -0.361 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.000 | 0.000 | 1.000 | 2.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 -> 2.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: 3.0000 -> 2.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681911",
"player_name": "Alex Vesia",
"position": "Middle Reliever",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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 | 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 | 2.200 | 2.000 | 2.000 | 2.000 | 3.000 | 0.000 | 6.7500 | 1.5000 | 0.7500 | 0.7500 | 0.7500 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 6.000 | 2.000 | 3.000 | 4.000 | 8.000 | 0.000 | 3.0000 | 1.1667 | 0.3333 | 0.5000 | 0.6667 | 1.3333 | 0.0000 |
| season | 0.20 | 31 | 23.000 | 7.000 | 11.000 | 12.000 | 31.000 | 0.000 | 2.7391 | 1.0000 | 0.3044 | 0.4783 | 0.5217 | 1.3478 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3410 |
| predicted_ER | 0.3370 |
| predicted_ERA | 4.5479 |
| predicted_H | 0.5320 |
| predicted_HR | 0.0510 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7210 |
| predicted_WHIP | 1.3094 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3410 | 0.1463 | model_form_blend |
| predicted_ER | 0.0000 | 0.3370 | 0.1445 | model_form_blend |
| predicted_ERA | - | 4.5479 | 4.5479 | form_only |
| predicted_H | 0.0000 | 0.5320 | 0.2282 | model_form_blend |
| predicted_HR | 0.0000 | 0.0510 | 0.0219 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 3.0000 | 0.7210 | 2.0225 | model_form_blend |
| predicted_WHIP | - | 1.3094 | 1.3094 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 31 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.2 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 2 |
| 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 | 2 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.74 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 8 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260613_LAD@CHW |
| game_type | full |
| mlbID | 681911 |
| playerID | 681911 |
| playerName | Alex Vesia |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-13 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.204 |
| sl_xwoba | 0.244 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 4.0 |
| sl_hard_hit_percent | 34.0 |
| sl_whiff_percent | 35.0 |
| sl_swing_percent | 46.9 |
| sl_avg_best_speed | 76.7986708 |
| sl_avg_hyper_speed | 92.2725588 |
| 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.357 | 0.000 | 1.643 | 2.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.321 | 0.000 | 2.679 | 3.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.750 | 1.000 | 1.250 | 1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.661 | 1.000 | -0.461 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.821 | 1.000 | 0.179 | 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": "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": 2.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 3.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 3.000 | 5.000 | 3.000 | 5.000 | 0.000 | 6.7500 | 2.0000 | 0.7500 | 1.2500 | 0.7500 | 1.2500 | 0.0000 |
| last_10 | 0.35 | 10 | 7.100 | 3.000 | 6.000 | 5.000 | 9.000 | 0.000 | 3.6818 | 1.5000 | 0.4091 | 0.8182 | 0.6818 | 1.2273 | 0.0000 |
| season | 0.20 | 27 | 22.000 | 6.000 | 17.000 | 10.000 | 23.000 | 1.000 | 2.4545 | 1.2273 | 0.2727 | 0.7727 | 0.4546 | 1.0454 | 0.0454 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3360 |
| predicted_ER | 0.3430 |
| predicted_ERA | 4.6307 |
| predicted_H | 0.6580 |
| predicted_HR | 0.0550 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7060 |
| predicted_WHIP | 1.4902 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.3360 | 1.2941 | model_form_blend |
| predicted_ER | 3.0000 | 0.3430 | 1.8729 | model_form_blend |
| predicted_ERA | - | 4.6307 | 4.6307 | form_only |
| predicted_H | 2.0000 | 0.6580 | 1.4307 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0233 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7060 | 0.8753 | model_form_blend |
| predicted_WHIP | - | 1.4902 | 1.4902 | 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 | 0.2 |
| H | 2 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.68 |
| 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 | 13 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260614_LAD@CHW |
| game_type | full |
| mlbID | 595014 |
| playerID | 595014 |
| playerName | Blake Treinen |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-06-14 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.328 |
| sl_xwoba | 0.365 |
| sl_sweet_spot_percent | 38.3 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 43.3 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 47.2 |
| sl_avg_best_speed | 75.595271786 |
| sl_avg_hyper_speed | 94.881215179 |